ignore mplex buffer underruns since they apperently only occur at the very end of...
[enigma2.git] / Navigation.py
index eb1a2b1..e8b44a3 100644 (file)
@@ -1,9 +1,11 @@
 from enigma import eServiceCenter, eServiceReference, pNavigation, getBestPlayableServiceReference, iPlayableService
 from Components.ParentalControl import parentalControl
 from Tools.BoundFunction import boundFunction
 from enigma import eServiceCenter, eServiceReference, pNavigation, getBestPlayableServiceReference, iPlayableService
 from Components.ParentalControl import parentalControl
 from Tools.BoundFunction import boundFunction
+from Tools.DreamboxHardware import setFPWakeuptime, getFPWakeuptime, getFPWasTimerWakeup, clearFPWasTimerWakeup
+from time import time
 import RecordTimer
 import SleepTimer
 import RecordTimer
 import SleepTimer
-
+import Screens.Standby
 import NavigationInstance
 import ServiceReference
 
 import NavigationInstance
 import ServiceReference
 
@@ -27,6 +29,13 @@ class Navigation:
                self.currentlyPlayingServiceReference = None
                self.currentlyPlayingService = None
                self.RecordTimer = RecordTimer.RecordTimer()
                self.currentlyPlayingServiceReference = None
                self.currentlyPlayingService = None
                self.RecordTimer = RecordTimer.RecordTimer()
+               if getFPWasTimerWakeup():
+                       clearFPWasTimerWakeup()
+                       if getFPWasTimerWakeup(): # sanity check to detect if the FP driver is working correct!
+                               print "buggy fp driver detected!!! please update drivers.... ignore timer wakeup!"
+                       elif len(self.getRecordings()) or abs(self.RecordTimer.getNextRecordingTime() - time()) <= 360:
+                               if not Screens.Standby.inTryQuitMainloop: # not a shutdown messagebox is open
+                                       RecordTimer.RecordTimerEntry.TryQuitMainloop(0) # start shutdown handling
                self.SleepTimer = SleepTimer.SleepTimer()
 
        def dispatchEvent(self, i):
                self.SleepTimer = SleepTimer.SleepTimer()
 
        def dispatchEvent(self, i):