Opened 13 years ago

Closed 13 years ago

#9404 closed Patch - Bug Fix (fixed)

DVD: flicker with intermittent black frames when navigating away from a still frame

Reported by: linux@… Owned by: markk
Priority: minor Milestone: 0.25
Component: MythTV - DVD Playback Version: Master Head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

Hi,

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.

Best wishes,

Martin.

Attachments (1)

still-frame-race-condition.patch (2.0 KB) - added by linux@… 13 years ago.
fix for DVD player still frame race condition

Download all attachments as: .zip

Change History (3)

Changed 13 years ago by linux@…

fix for DVD player still frame race condition

comment:1 Changed 13 years ago by markk

Milestone: unknown0.25

comment:2 Changed 13 years ago by Github

Resolution: fixed
Status: newclosed

DVD: Fix pause state handling when moving away from a still frame.

Patch from Martin Kittel (?). Closes #9404.

Branch: master Changeset: 979def4f9cf4774a51d38a24d7cc558ff020c73d

Note: See TracTickets for help on using tickets.