[vdr] problem with timer and VPS

Wolfgang Rohdewald wolfgang at rohdewald.de
Sun Jan 8 16:16:53 CET 2006


On Sonntag 08 Januar 2006 14:48, Klaus Schmidinger wrote:
> > Since it happens practically never that a program's transmission
> > is shortened, I still think it might help to always record at
> > least as much as the timer length indicates. 
> 
> Well, that still leaves the question whether to use the end time
> that has been defined in the original timer, or that of the event
> the timer has been set to (see cTimer::Matches(time_t t, bool Directly)).

I personally would rather trust the original EPG data. But to be on
the conservative side, you could use the smaller value.

for 1.3.36, something like this (untested, I don't understand all
of this source code):

--- timers.c    2005-09-09 17:22:33.000000000 +0200
+++ timers.c.new        2006-01-08 16:14:01.000000000 +0100
@@ -364,9 +364,10 @@ bool cTimer::Matches(time_t t, bool Dire

   if (HasFlags(tfActive)) {
      if (HasFlags(tfVps) && !Directly && event && event->Vps() && schedule && schedule->PresentSeenWithin(30)) {
+       time_t orgstopTime = stopTime;
         startTime = event->StartTime();
         stopTime = event->EndTime();
-        return event->IsRunning(true);
+        return (stopTime > t && orgstopTime > t) || event->IsRunning(true);
         }
      return startTime <= t && t < stopTime; // must stop *before* stopTime to allow adjacent timers
      }

-- 
Wolfgang



More information about the vdr mailing list