diff --git a/HISTORY b/HISTORY index 14d2fdef..d531b910 100644 --- a/HISTORY +++ b/HISTORY @@ -4688,7 +4688,7 @@ Video Disk Recorder Revision History - Updated the Italian OSD texts (thanks to Nino Gerbino and Antonio Ospite). - Updated the Estonian OSD texts (thanks to Arthur Konovalov). -2006-05-05: Version 1.4.0-1 +2006-05-06: Version 1.4.0-1 - Updated 'S110W' in 'sources.conf'. - Adjusted the 'runvdr' script so that the user can fill in the functions to @@ -4702,3 +4702,6 @@ Video Disk Recorder Revision History (thanks to Udo Richter). - Fixed the character 'r' in fontosd and fontsml for iso8859-2 (thanks to Vladimír Bárta). +- When checking whether a VPS timer has entered the "VPS margin", the event's start + time is now used instead of the timer's start time, because otherwise events that + start way off of their VPS time wouldn't be recorded correctly. diff --git a/config.h b/config.h index 0138d31b..0f042cf3 100644 --- a/config.h +++ b/config.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.h 1.255 2006/04/29 09:24:07 kls Exp $ + * $Id: config.h 1.256 2006/05/07 09:01:49 kls Exp $ */ #ifndef __CONFIG_H @@ -21,7 +21,7 @@ // VDR's own version number: -#define VDRVERSION "1.4.0" +#define VDRVERSION "1.4.0-1" #define VDRVERSNUM 10400 // Version * 10000 + Major * 100 + Minor // The plugin API's version number: diff --git a/timers.c b/timers.c index 3a5b0ba6..4236e406 100644 --- a/timers.c +++ b/timers.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: timers.c 1.58 2006/04/21 15:12:49 kls Exp $ + * $Id: timers.c 1.59 2006/05/07 09:01:00 kls Exp $ */ #include "timers.h" @@ -365,10 +365,13 @@ bool cTimer::Matches(time_t t, bool Directly, int Margin) const } if (HasFlags(tfActive)) { - if (HasFlags(tfVps) && !Directly && event && event->Vps() && event->Schedule() && event->Schedule()->PresentSeenWithin(30)) { - startTime = event->StartTime(); - stopTime = event->EndTime(); - return event->IsRunning(true); + if (HasFlags(tfVps) && event && event->Vps()) { + if (Margin || !Directly) { + startTime = event->StartTime(); + stopTime = event->EndTime(); + if (!Margin) + return event->IsRunning(true); + } } return startTime <= t + Margin && t < stopTime; // must stop *before* stopTime to allow adjacent timers }