Opened 11 years ago

Closed 11 years ago

#6147 closed defect (fixed)

Changeset 18970 breaks screen saver handling in DVD playback

Reported by: mythtv@… Owned by: skamithi
Priority: minor Milestone: 0.22
Component: mythtv Version: head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

Since changeset 18970, if playing a DVD with still frames in the menus, the screen saver is enabled (as expected), but not disabled once the menu is exited.

I've tried to figure out how the still frame handling works between ./libs/libmythtv/DVDRingBuffer.cpp and ./libs/libmythtv/avformatdecoder.cpp but it's eluding me.

I've attached a log with playback,extra enabled which shows a failing session.

Attachments (4)

dvd_screensaver.log.gz (35.6 KB) - added by mythtv@… 11 years ago.
Log from failing session
dvd_screensaver_fix.diff (970 bytes) - added by skamithi 11 years ago.
dvd_screensaver_fix2.diff (2.9 KB) - added by mythtv@… 11 years ago.
dvd_screensaver_fix3.diff (2.2 KB) - added by skamithi 11 years ago.
slight modification of user attached patch (fix2)

Download all attachments as: .zip

Change History (15)

Changed 11 years ago by mythtv@…

Attachment: dvd_screensaver.log.gz added

Log from failing session

comment:1 Changed 11 years ago by skamithi

Owner: changed from Isaac Richards to skamithi
Status: newassigned

Changed 11 years ago by skamithi

Attachment: dvd_screensaver_fix.diff added

comment:2 Changed 11 years ago by skamithi

pls test attached patch to confirm it fixes the issue

comment:3 Changed 11 years ago by skamithi

Status: assignedinfoneeded

comment:4 Changed 11 years ago by mythtv@…

I tried a similar patch myself, and whilst it does resolve the issue of the screensaver remaining active during playback, it appears to break the original functionality of activating the screensaver for still frames. From what I can tell, the problem relates to stored frames - one of which triggers the still frame code, but the subsequent one then releases it. So, for the specific DVD that I'm testing again, with this patch I'd see the screen saver enabled then immediately disabled. Unfortunately, I haven't been able to get my head around how the stored frame code works to figure out how to fix it.

To be honest, I'm not sure that I agree with the still frame screen saver code anyway. Personally, I'd like to see the screen saver enabled whenever menus were activated - these days, most DVD menus are not still frames, but video loops.

Changed 11 years ago by mythtv@…

Attachment: dvd_screensaver_fix2.diff added

comment:5 Changed 11 years ago by mythtv@…

I've attached a patch which now enables/disables the screen saver based on whether the player is in the DVD menus at any point in time. It seems to work ok based on limited testing.

comment:6 Changed 11 years ago by wstewart@…

I have a slightly different problem. Part way through some DVD ISOs, the screen saver will activate. Seems only some DVDs not all, haven't had time to look at it further though.

comment:7 Changed 11 years ago by mythtv@…

Sounds like the same thing. The issue is dependent on the structure of the DVD's menus, so it doesn't affect all of them. You'll probably find that if you pause then resume playback once you're out of all the menus, that the screensaver won't kick in (pause/resume resets the screensaver state).

Try the patch, see if it helps.

Changed 11 years ago by skamithi

Attachment: dvd_screensaver_fix3.diff added

slight modification of user attached patch (fix2)

comment:8 Changed 11 years ago by skamithi

Status: infoneededassigned

enabling screensaver during the dvd menu sounds fine to me. attached fix3 patch, a slight modification of your patch. if it works fine for you i'll commit it. thx.

comment:9 Changed 11 years ago by mythtv@…

Fix3 doesn't appear to work. Looking at the GetScreensaverEnabled? code, it uses a state variable which is only set by the DoRestoreScreensaver/DoDisableScreensaver? routines. Not sure how these relate to the RestoreScreensaver/DisableScreensaver? routines.

comment:10 Changed 11 years ago by mythtv@…

Changeset 19867 (which incorperates fix3 above) along with the other recent screensaver changes seems to have fixed the issue for me with the exception of the issue described in ticket #6193 (where DPMS is disabled at startup).

comment:11 Changed 11 years ago by skamithi

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.