mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Fixed handling VPS timers in case the running status of an event goes to '1' (not running) and later goes to '4' (running)
This commit is contained in:
parent
7f7fa7fd90
commit
8c633a5f65
4
HISTORY
4
HISTORY
@ -7272,7 +7272,7 @@ Video Disk Recorder Revision History
|
|||||||
".keep" to prevent a directory from being deleted when it is empty. Currently the
|
".keep" to prevent a directory from being deleted when it is empty. Currently the
|
||||||
only file name that is ignored is ".sort".
|
only file name that is ignored is ".sort".
|
||||||
|
|
||||||
2012-10-09: Version 1.7.32
|
2012-10-13: Version 1.7.32
|
||||||
|
|
||||||
- Pressing the Play key during normal live viewing mode now opens the Recordings menu
|
- Pressing the Play key during normal live viewing mode now opens the Recordings menu
|
||||||
if there is no "last viewed" recording (thanks to Alexander Wenzel).
|
if there is no "last viewed" recording (thanks to Alexander Wenzel).
|
||||||
@ -7296,3 +7296,5 @@ Video Disk Recorder Revision History
|
|||||||
libhdffcmd/Makefile.
|
libhdffcmd/Makefile.
|
||||||
- Added options to build a 32-bit version of VDR on a 64-bit machine to
|
- Added options to build a 32-bit version of VDR on a 64-bit machine to
|
||||||
Make.config.template.
|
Make.config.template.
|
||||||
|
- Fixed handling VPS timers in case the running status of an event goes to '1' (not
|
||||||
|
running) and later goes to '4' (running).
|
||||||
|
6
timers.c
6
timers.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: timers.c 2.12 2012/09/15 13:34:03 kls Exp $
|
* $Id: timers.c 2.13 2012/10/13 14:16:22 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "timers.h"
|
#include "timers.h"
|
||||||
@ -551,6 +551,8 @@ void cTimer::SetEventFromSchedule(const cSchedules *Schedules)
|
|||||||
if (HasFlags(tfVps) && Schedule->Events()->First()->Vps()) {
|
if (HasFlags(tfVps) && Schedule->Events()->First()->Vps()) {
|
||||||
if (event && Recording())
|
if (event && Recording())
|
||||||
return; // let the recording end first
|
return; // let the recording end first
|
||||||
|
if (event && (now <= event->EndTime() || Matches(0, true)))
|
||||||
|
return; // stay with the old event until the timer has completely expired
|
||||||
// VPS timers only match if their start time exactly matches the event's VPS time:
|
// VPS timers only match if their start time exactly matches the event's VPS time:
|
||||||
for (const cEvent *e = Schedule->Events()->First(); e; e = Schedule->Events()->Next(e)) {
|
for (const cEvent *e = Schedule->Events()->First(); e; e = Schedule->Events()->Next(e)) {
|
||||||
if (e->StartTime() && e->RunningStatus() != SI::RunningStatusNotRunning) { // skip outdated events
|
if (e->StartTime() && e->RunningStatus() != SI::RunningStatusNotRunning) { // skip outdated events
|
||||||
@ -562,8 +564,6 @@ void cTimer::SetEventFromSchedule(const cSchedules *Schedules)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!Event && event && (now <= event->EndTime() || Matches(0, true)))
|
|
||||||
return; // stay with the old event until the timer has completely expired
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// Normal timers match the event they have the most overlap with:
|
// Normal timers match the event they have the most overlap with:
|
||||||
|
4
vdr.c
4
vdr.c
@ -22,7 +22,7 @@
|
|||||||
*
|
*
|
||||||
* The project's page is at http://www.tvdr.de
|
* The project's page is at http://www.tvdr.de
|
||||||
*
|
*
|
||||||
* $Id: vdr.c 2.41 2012/10/03 09:58:46 kls Exp $
|
* $Id: vdr.c 2.42 2012/10/13 12:48:56 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <getopt.h>
|
#include <getopt.h>
|
||||||
@ -892,7 +892,7 @@ int main(int argc, char *argv[])
|
|||||||
Timer->SetInVpsMargin(InVpsMargin);
|
Timer->SetInVpsMargin(InVpsMargin);
|
||||||
}
|
}
|
||||||
else if (Timer->Event()) {
|
else if (Timer->Event()) {
|
||||||
InVpsMargin = Timer->Event()->StartTime() <= Now && Timer->Event()->RunningStatus() == SI::RunningStatusUndefined;
|
InVpsMargin = Timer->Event()->StartTime() <= Now && Now < Timer->Event()->EndTime();
|
||||||
NeedsTransponder = Timer->Event()->StartTime() - Now < VPSLOOKAHEADTIME * 3600 && !Timer->Event()->SeenWithin(VPSUPTODATETIME);
|
NeedsTransponder = Timer->Event()->StartTime() - Now < VPSLOOKAHEADTIME * 3600 && !Timer->Event()->SeenWithin(VPSUPTODATETIME);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
Loading…
Reference in New Issue
Block a user