Ticket #9404 (closed Patch - Bug Fix: fixed)
Opened 2 years ago
Last modified 2 years ago
DVD: flicker with intermittent black frames when navigating away from a still frame
|Reported by:||linux@…||Owned by:||markk|
|Component:||MythTV - DVD Playback||Version:||Master Head|
with release 0.24 I observed sometimes that when navigating away from a still frame in the DVD player via the OSD, e.g. to the root menu, the menu movie sequence was interrupted by black frames that came and went away again. When debugging I noticed that there is a race condition in the still frame handling: the DVD player first clears all remaining frames in mythdvdplayer::VideoLoop and only then checks whether it was in a still frame and needs to reset the videoPaused flag. Since the DVD is read in a different thread on a multi-core system it may happen the DVD read thread has already moved on to whatever we were navigating to, i.e. the IsInStillThread method returns false and the videoPaused flag does not get cleared, resulting in the black frame problem.
I attached a simple fix for the problem. I have not tested it in trunk, but in the 0.24 fixes branch. The fix is against trunk however. The only difference is that the method IsInStillFrame is still called InStillFrame in 0.24.