I already nagged about this on irct, but i have collected some log output. The problem is the following : Freevo (1.4) kill's mplayer (with dfbmga) always the hard way when playing video. Playing audio files doesn't show any problem. I investigated this and made the following observations.
- Killing mplayer manually from the shell (but started by freevo!) works perfectly. - Although mplayer is single-threaded afaik, with dfbmga it does use multiple threads (mostly 4 or 5, this seem to fluxtuate, dunno why). - After freevo hardkills mplayer, a zombie mplayer process is left over. - No real side-effects for the user, although he has to wait 2 seconds after pressing stop or back before the menu shows up (because of the repeated polling in childapp) - I've never seen something similar with other output methods i tested (xv, dxr3, mga_vid) so i guess it's speceific to dfbmga. Mplayer 1.0_rc2 was used btw. but 0.9.2 gave the same results. I do have a log (debug=3) of stopping a movie,and it shows some tracebacks... have no idea why they are there though (just for debugging or deeper reasons). main.py (325): handling event STOP childapp.py (418): got stop command File "/usr/lib/python2.3/site-packages/freevo/main.py", line 457, in ? main_func() File "/usr/lib/python2.3/site-packages/freevo/main.py", line 351, in main_func if not rc_object.app(event): File "/usr/lib/python2.3/site-packages/freevo/video/plugins/mplayer.py", line 335, in eventhandler self.stop() File "/usr/lib/python2.3/site-packages/freevo/video/plugins/mplayer.py", line 291, in stop self.thread.stop('quit\n') File "/usr/lib/python2.3/site-packages/freevo/childapp.py", line 419, in stop traceback.print_stack() childapp.py (423): sending exit command to app childapp.py (342): stdout: No data, stopping (pid 3320)! childapp.py (342): stderr: No data, stopping (pid 3321)! childapp.py (487): waiting for main to be ready for the killing popen3.py (134): main checking childs childapp.py (232): killing my child File "/usr/lib/python2.3/threading.py", line 436, in __bootstrap self.run() File "/usr/lib/python2.3/site-packages/freevo/childapp.py", line 491, in run self.app.kill() File "/usr/lib/python2.3/site-packages/freevo/video/plugins/mplayer.py", line 469, in kill childapp.ChildApp.kill(self, signal.SIGINT) File "/usr/lib/python2.3/site-packages/freevo/childapp.py", line 233, in kill traceback.print_stack() popen3.py (159): poll childapp.py (255): childapp: killing pid 3319 signal 2 popen3.py (134): main checking childs popen3.py (134): main checking childs popen3.py (134): main checking childs childapp.py (261): childapp: Before wait(3319) popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs force killing with signal 9 popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs popen3.py (159): poll popen3.py (134): main checking childs childapp.py (276): childapp: After wait() mplayer.py (470): Killing mplayer popen3.py (134): main checking childs popen3.py (134): main checking childs popen3.py (134): main checking childs popen3.py (134): main checking childs main.py (606): draw area.py (179): show, force update ------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ Freevo-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freevo-devel