summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2005-03-13 13:19:30 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2005-03-13 13:19:30 +0100
commitae5ee879d0b2fe661278be9337eeda88fd4c656f (patch)
treeb835a355eb8327b272be3257d40ca0fe389ecba1
parent3c0ea98ab3934f944d03919afacbcd33bff63be7 (diff)
downloadvdr-ae5ee879d0b2fe661278be9337eeda88fd4c656f.tar.gz
vdr-ae5ee879d0b2fe661278be9337eeda88fd4c656f.tar.bz2
The running status of a VPS event is now only taken seriously if that event has been seen within the last 30 seconds
-rw-r--r--HISTORY3
-rw-r--r--epg.c4
-rw-r--r--epg.h3
-rw-r--r--timers.c4
4 files changed, 9 insertions, 5 deletions
diff --git a/HISTORY b/HISTORY
index 6fccfcc5..3d6197e7 100644
--- a/HISTORY
+++ b/HISTORY
@@ -3458,3 +3458,6 @@ Video Disk Recorder Revision History
- Fixed cDolbyRepacker to allow recording ProSieben HD broadcasts (thanks to Reinhard
Nissl).
- Fixed cDvbDevice::SetVideoDisplayFormat() in case of 16:9 (thanks to Marco Schlüßler).
+- The running status of a VPS event is now only taken seriously if that event has been
+ seen within the last 30 seconds - otherwise recording is done as if no VPS was
+ available.
diff --git a/epg.c b/epg.c
index df267f63..4020e035 100644
--- a/epg.c
+++ b/epg.c
@@ -7,7 +7,7 @@
* Original version (as used in VDR before 1.3.0) written by
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
*
- * $Id: epg.c 1.25 2005/02/19 11:35:00 kls Exp $
+ * $Id: epg.c 1.26 2005/03/13 13:19:15 kls Exp $
*/
#include "epg.h"
@@ -663,7 +663,7 @@ const cEvent *cSchedule::GetPresentEvent(bool CheckRunningStatus) const
if (!CheckRunningStatus)
break;
}
- if (CheckRunningStatus && time(NULL) - p->Seen() < 30 && p->RunningStatus() >= SI::RunningStatusPausing)
+ if (CheckRunningStatus && p->SeenWithin(30) && p->RunningStatus() >= SI::RunningStatusPausing)
return p;
}
return pe;
diff --git a/epg.h b/epg.h
index 88e66029..fc062157 100644
--- a/epg.h
+++ b/epg.h
@@ -7,7 +7,7 @@
* Original version (as used in VDR before 1.3.0) written by
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
*
- * $Id: epg.h 1.19 2005/01/02 10:44:41 kls Exp $
+ * $Id: epg.h 1.20 2005/03/13 13:19:30 kls Exp $
*/
#ifndef __EPG_H
@@ -79,6 +79,7 @@ public:
int Duration(void) const { return duration; }
time_t Vps(void) const { return vps; }
time_t Seen(void) const { return seen; }
+ bool SeenWithin(int Seconds) const { return time(NULL) - seen < Seconds; }
bool HasTimer(void) const;
bool IsRunning(bool OrAboutToStart = false) const;
cString GetDateString(void) const;
diff --git a/timers.c b/timers.c
index bcdb2426..63bff33c 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.23 2005/03/13 11:42:59 kls Exp $
+ * $Id: timers.c 1.24 2005/03/13 12:53:51 kls Exp $
*/
#include "timers.h"
@@ -343,7 +343,7 @@ bool cTimer::Matches(time_t t, bool Directly) const
firstday = 0;
if (HasFlags(tfActive)) {
- if (HasFlags(tfVps) && !Directly && event && event->Vps()) {
+ if (HasFlags(tfVps) && !Directly && event && event->Vps() && event->SeenWithin(30)) {
startTime = event->StartTime();
stopTime = event->EndTime();
return event->IsRunning(true);