Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] VDR not deleting one-shot timers (sometimes)



Hi,
over the time, I was face several times that VDR missed to delete
a one-shot timer after the recording was finished.
After some debugging, I think that I know can explain what
happens. From syslog:

Jul  7 17:50:00 video vdr[14911]: switching device 2 to channel 1
Jul  7 17:50:00 video vdr[14911]: timer 1 (1 1750-1830 'auto~Verbotene Liebe~2250.') start
Jul  7 17:50:00 video vdr[14911]: Title: 'Werbung' Subtitle: ''
Jul  7 17:50:00 video vdr[14911]: record /home/video/auto/Verbotene_Liebe/2250./2004-07-07.17:50.30.99.rec
Jul  7 17:50:00 video vdr[14911]: creating directory /home/video/auto/Verbotene_Liebe/2250.
Jul  7 17:50:00 video vdr[14911]: creating directory /home/video/auto/Verbotene_Liebe/2250./2004-07-07.17:50.30.99.rec
Jul  7 17:50:00 video vdr[14911]: recording to '/home/video/auto/Verbotene_Liebe/2250./2004-07-07.17:50.30.99.rec/001.vdr'
Jul  7 17:50:00 video vdr[20511]: recording thread started (pid=20511, tid=7176)
Jul  7 17:50:00 video vdr[20512]: receiver on device 2 thread started (pid=20512, tid=8201)
Jul  7 17:55:04 video vdr[14911]: timer 1 (1 1750-1830 'auto~Verbotene Liebe~2250.') set to event Mit 07.07.2004 17:55-18:25 (VPS: 07.07 17:55) 'Verbotene Liebe'
Jul  7 18:25:11 video vdr[14911]: timer 1 (1 1750-1830 'auto~Verbotene Liebe~2250.') set to event Mit 07.07.2004 18:25-18:50 (VPS: 07.07 18:25) 'Marienhof'
Jul  7 18:30:01 video vdr[20511]: recording thread ended (pid=20511, tid=7176)
Jul  7 18:30:01 video vdr[20512]: receiver on device 2 thread ended (pid=20512, tid=8201)
Jul  7 18:30:01 video vdr[14911]: cTS2PES got 0 TS errors, 2 TS continuity errors
Jul  7 18:30:01 video vdr[14911]: cTS2PES got 0 TS errors, 2 TS continuity errors
Jul  7 18:30:01 video vdr[14911]: buffer stats: 85728 (1%) used
Jul  7 18:30:01 video vdr[14911]: timer 1 (1 1750-1830 'auto~Verbotene Liebe~2250.') stop
Jul  7 18:30:01 video vdr[14911]: timer single=1 stop=1091896200 now=1089217801
Jul  7 18:30:33 video vdr[14911]: max. latency time 3 seconds

The second last line is additional debug output from
cRecordControl::Stop():

     timer->SetRecording(false);
//
isyslog("timer single=%d stop=%ld now=%ld",timer->IsSingleEvent(),timer->StopTime(),time(NULL));
//
     if ((IsInstant() && !KeepInstant) || (timer->IsSingleEvent() && timer->StopTime() <= time(NULL))) {

So what happens? As you see from the log, the timer should be stopped at
18:30:00, but (probably due to load on the machine) the actual
check is delayed until 18:30:01. In unix seconds the timer stop
time is 1089217800, the check is done at 1089217801. As the stop
time already has passed by, VDR thinks that the time belongs to
same day in next month (7.8.2004 vs 7.7.2004) (in secs
1091896200) and the timer is not deleted.

No idea so far how to fix this (deep inside Matches()).

Regards.

-- 
Stefan Huelswitt
s.huelswitt@gmx.de  | http://www.muempf.de/




Home | Main Index | Thread Index