The running status of a VPS event is now only taken seriously if that event has been seen within the last 30 seconds

This commit is contained in:
Klaus Schmidinger 2005-03-13 13:19:30 +01:00
parent 3c0ea98ab3
commit ae5ee879d0
4 changed files with 9 additions and 5 deletions

View File

@ -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.

4
epg.c
View File

@ -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;

3
epg.h
View File

@ -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;

View File

@ -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);