[ moved to devel list ] Krister Lagerstrom wrote: > Dirk Meyer wrote: > >> That may be right. The output of mplayer is parsed in a thread and >> this thread updates the osd. Without the SynchronizedObject we may >> have a problem here. Maybe the bug is related to the fact that the >> main thread locks osd.py while doing it's time.sleep() > > I'm not sure what you mean by this, can you explain in more detail?
OSD is (was) a SynchronizedObject. If I understand the code of the SynchronizedObject, only one thread can enter a function at a time to prevent race conditions. We have (had) the mplayer stdout reading thread update the screen to show the current time in the file. On the other hand we have a main loop calling time.sleep() _inside_ OSD() (because of the animation stuff). So main enters osd, locks it and takes a nap. The thread can't enter to update the osd and waits. Next scheduling round: main wakes up, leaves osd, polls all queues for events and goes back into osd to sleep. This is a perfect example for Starvation. Dischi -- I started out with nothing... I still have most of it. ------------------------------------------------------- This SF.Net email is sponsored by Sleepycat Software Learn developer strategies Cisco, Motorola, Ericsson & Lucent use to deliver higher performing products faster, at low TCO. http://www.sleepycat.com/telcomwpreg.php?From=osdnemail3 _______________________________________________ Freevo-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freevo-devel