X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=RecordTimer.py;h=2961f9509c036cf44c1eb3dede1c377225e1aa9a;hb=4b53fef5099e42240db57ce118dd9aa570b7815d;hp=1e21091dbd8127b0d433b4916417c7d33053853e;hpb=40abde85c0fbd8c10fdc7f8894c128cb8acf05ee;p=vuplus_dvbapp diff --git a/RecordTimer.py b/RecordTimer.py index 1e21091..2961f95 100644 --- a/RecordTimer.py +++ b/RecordTimer.py @@ -170,6 +170,7 @@ class RecordTimerEntry(timer.TimerEntry): prep_res=self.record_service.prepare(self.Filename + ".ts", self.begin, self.end, event_id) if prep_res: self.log(2, "'prepare' failed: error %d" % prep_res) + NavigationInstance.instance.stopRecordService(self.record_service) self.record_service = None return False @@ -190,6 +191,7 @@ class RecordTimerEntry(timer.TimerEntry): f.close() except IOError: self.log(4, "failed to write meta information") + NavigationInstance.instance.stopRecordService(self.record_service) self.record_service = None return False return True @@ -236,8 +238,15 @@ class RecordTimerEntry(timer.TimerEntry): return True if self.justplay: - self.log(11, "zapping") - NavigationInstance.instance.playService(self.service_ref.ref) + if Screens.Standby.inStandby: + self.log(11, "wakeup and zap") + #set service to zap after standby + Screens.Standby.inStandby.prev_running_service = self.service_ref.ref + #wakeup standby + Screens.Standby.inStandby.Power() + else: + self.log(11, "zapping") + NavigationInstance.instance.playService(self.service_ref.ref) return True else: self.log(11, "start recording") @@ -437,12 +446,25 @@ class RecordTimer(timer.Timer): file.write(x) file.close() + def getNextZapTime(self): + llen = len(self.timer_list) + idx = 0 + now = time.time() + while idx < llen: + timer = self.timer_list[idx] + if not timer.justplay or timer.begin < now: + idx += 1 + else: + return timer.begin + return -1 + def getNextRecordingTime(self): llen = len(self.timer_list) idx = 0 + now = time.time() while idx < llen: timer = self.timer_list[idx] - if timer.justplay: + if timer.justplay or timer.begin < now: idx += 1 else: return timer.begin