Opened 12 years ago
Closed 12 years ago
#6147 closed defect (fixed)
Changeset 18970 breaks screen saver handling in DVD playback
Reported by: | 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)
Change History (15)
Changed 12 years ago by
Attachment: | dvd_screensaver.log.gz added |
---|
comment:1 Changed 12 years ago by
Owner: | changed from Isaac Richards to skamithi |
---|---|
Status: | new → assigned |
Changed 12 years ago by
Attachment: | dvd_screensaver_fix.diff added |
---|
comment:3 Changed 12 years ago by
Status: | assigned → infoneeded |
---|
comment:4 Changed 12 years ago by
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 12 years ago by
Attachment: | dvd_screensaver_fix2.diff added |
---|
comment:5 Changed 12 years ago by
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 12 years ago by
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 12 years ago by
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 12 years ago by
Attachment: | dvd_screensaver_fix3.diff added |
---|
slight modification of user attached patch (fix2)
comment:8 Changed 12 years ago by
Status: | infoneeded → assigned |
---|
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 12 years ago by
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 12 years ago by
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 12 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Log from failing session