Ticket #6147: dvd_screensaver_fix2.diff

File dvd_screensaver_fix2.diff, 2.9 KB (added by mythtv@…, 17 years ago)
Line 
1*** ./mythtv/libs/libmythtv/avformatdecoder.cpp.orig Sat Jan 10 08:24:09 2009
2--- ./mythtv/libs/libmythtv/avformatdecoder.cpp Wed Jan 21 12:06:59 2009
3***************
4*** 3335,3341 ****
5 if (!decodeStillFrame && inDVDStill)
6 {
7 decodeStillFrame = true;
8- GetMythUI()->RestoreScreensaver();
9 d->ResetMPEG2();
10 }
11
12--- 3335,3340 ----
13*** ./mythtv/libs/libmythtv/DVDRingBuffer.cpp.orig Sat Jan 10 08:24:09 2009
14--- ./mythtv/libs/libmythtv/DVDRingBuffer.cpp Wed Jan 21 12:20:41 2009
15***************
16*** 38,44 ****
17 title(0), titleParts(0),
18 gotStop(false),
19 cellHasStillFrame(false), audioStreamsChanged(false),
20! dvdWaiting(false),
21 titleLength(0), hl_button(0, 0, 0, 0),
22 menuSpuPkt(0),
23 menuBuflength(0),
24--- 38,44 ----
25 title(0), titleParts(0),
26 gotStop(false),
27 cellHasStillFrame(false), audioStreamsChanged(false),
28! dvdWaiting(false), screensaverEnabled(false),
29 titleLength(0), hl_button(0, 0, 0, 0),
30 menuSpuPkt(0),
31 menuBuflength(0),
32***************
33*** 337,344 ****
34 cellid = 0;
35 cellRepeated = false;
36 menupktpts = 0;
37- if (cellHasStillFrame)
38- GetMythUI()->DisableScreensaver();
39 InStillFrame(false);
40
41 if (parent && IsInMenu())
42--- 337,342 ----
43***************
44*** 348,353 ****
45--- 346,367 ----
46 autoselectsubtitle = true;
47 }
48
49+ if (IsInMenu())
50+ {
51+ if (!screensaverEnabled)
52+ {
53+ GetMythUI()->RestoreScreensaver();
54+ screensaverEnabled = true ;
55+ }
56+ } else
57+ {
58+ if (screensaverEnabled)
59+ {
60+ GetMythUI()->DisableScreensaver();
61+ screensaverEnabled = false ;
62+ }
63+ }
64+
65 if (blockBuf != dvdBlockWriteBuf)
66 {
67 dvdnav_free_cache_block(dvdnav, blockBuf);
68*** ./mythtv/libs/libmythtv/DVDRingBuffer.h.orig Wed Jan 21 12:09:48 2009
69--- ./mythtv/libs/libmythtv/DVDRingBuffer.h Wed Jan 21 12:18:58 2009
70***************
71*** 49,54 ****
72--- 49,55 ----
73 bool InStillFrame(void) const { return cellHasStillFrame; }
74 bool AudioStreamsChanged(void) const { return audioStreamsChanged; }
75 bool IsWaiting(void) const { return dvdWaiting; }
76+ bool IsScreensaverEnabled(void) const { return screensaverEnabled; }
77 int NumPartsInTitle(void) const { return titleParts; }
78 void GetMenuSPUPkt(uint8_t *buf, int len, int stream_id);
79
80***************
81*** 136,141 ****
82--- 137,143 ----
83 bool cellHasStillFrame;
84 bool audioStreamsChanged;
85 bool dvdWaiting;
86+ bool screensaverEnabled;
87 long long titleLength;
88 MythTimer stillFrameTimer;
89 uint32_t clut[16];