Ticket #6147: dvd_screensaver_fix2.diff

File dvd_screensaver_fix2.diff, 2.9 KB (added by mythtv@…, 15 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];