mirror of
				https://github.com/vdr-projects/vdr.git
				synced 2025-03-01 10:50:46 +00:00 
			
		
		
		
	EXPIRELATENCY now only applies to VPS timers
This commit is contained in:
		
							
								
								
									
										3
									
								
								HISTORY
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								HISTORY
									
									
									
									
									
								
							| @@ -9641,7 +9641,7 @@ Video Disk Recorder Revision History | ||||
| - No longer switching devices for pattern timers (thanks to Helmut Binder). | ||||
| - cTimer::TriggerRespawn() now only acts on local timers. | ||||
|  | ||||
| 2021-04-18: | ||||
| 2021-04-19: | ||||
|  | ||||
| - When spawning pattern timers, the new function cTimers::GetTimerForEvent() is now used | ||||
|   to check whether a matching event already has a local spawned timer. Reason: creating a timer | ||||
| @@ -9660,3 +9660,4 @@ Video Disk Recorder Revision History | ||||
|   timer is still recording. | ||||
| - The new functions cTimer::Start/StopTimeEvent() are now used in the LCARS skin to display | ||||
|   the start/stop times of timers in the main menu. | ||||
| - EXPIRELATENCY now only applies to VPS timers. | ||||
|   | ||||
							
								
								
									
										19
									
								
								timers.c
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								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 5.14 2021/04/18 14:56:40 kls Exp $ | ||||
|  * $Id: timers.c 5.15 2021/04/20 09:50:02 kls Exp $ | ||||
|  */ | ||||
|  | ||||
| #include "timers.h" | ||||
| @@ -693,10 +693,13 @@ eTimerMatch cTimer::Matches(const cEvent *Event, int *Overlap) const | ||||
|  | ||||
| bool cTimer::Expired(void) const | ||||
| { | ||||
|   return IsSingleEvent() | ||||
|       && !Recording() | ||||
|       && StopTime() + EXPIRELATENCY <= time(NULL) | ||||
|       && (!HasFlags(tfVps) || !event || !event->Vps() || event->EndTime() + EXPIRELATENCY <= time(NULL)); | ||||
|   if (IsSingleEvent() && !Recording()) { | ||||
|      time_t ExpireTime = StopTimeEvent(); | ||||
|      if (HasFlags(tfVps)) | ||||
|         ExpireTime += EXPIRELATENCY; | ||||
|      return ExpireTime <= time(NULL); | ||||
|      } | ||||
|   return false; | ||||
| } | ||||
|  | ||||
| time_t cTimer::StartTime(void) const | ||||
| @@ -776,8 +779,10 @@ bool cTimer::SpawnPatternTimers(const cSchedules *Schedules, cTimers *Timers) | ||||
|                   // Check all following matching events that would start while the first timer | ||||
|                   // is still recording: | ||||
|                   bool UseVps = Timer->HasFlags(tfVps); | ||||
|                   time_t Limit = Timer->StopTime() + EXPIRELATENCY; | ||||
|                   if (!UseVps) | ||||
|                   time_t Limit = Timer->StopTimeEvent(); | ||||
|                   if (UseVps) | ||||
|                      Limit += EXPIRELATENCY; | ||||
|                   else | ||||
|                      Limit += Setup.MarginStart * 60; | ||||
|                   for (e = Schedule->Events()->Next(e); e; e = Schedule->Events()->Next(e)) { | ||||
|                       if (e->StartTime() <= Limit) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user