The EIT scan is no longer inhibited if a timer is in VPS margin or needs the transponder

This commit is contained in:
Klaus Schmidinger 2024-03-10 11:26:54 +01:00
parent faf562fd4e
commit 8b87a6968a
2 changed files with 4 additions and 6 deletions

View File

@ -9912,3 +9912,5 @@ Video Disk Recorder Revision History
- The EIT scan no longer deletes the scanList if no device was switched in this pass. - The EIT scan no longer deletes the scanList if no device was switched in this pass.
- The EIT scan now skips scanList entries if a device is already tuned to that - The EIT scan now skips scanList entries if a device is already tuned to that
transponder. transponder.
- The EIT scan is no longer inhibited if a timer is in VPS margin or needs the
transponder.

8
vdr.c
View File

@ -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 5.13 2024/03/08 10:50:06 kls Exp $ * $Id: vdr.c 5.14 2024/03/10 11:26:54 kls Exp $
*/ */
#include <getopt.h> #include <getopt.h>
@ -737,7 +737,6 @@ int main(int argc, char *argv[])
time_t LastChannelChanged = time(NULL); time_t LastChannelChanged = time(NULL);
time_t LastInteract = 0; time_t LastInteract = 0;
int MaxLatencyTime = 0; int MaxLatencyTime = 0;
bool InhibitEpgScan = false;
bool IsInfoMenu = false; bool IsInfoMenu = false;
cSkin *CurrentSkin = NULL; cSkin *CurrentSkin = NULL;
int OldPrimaryDVB = 0; int OldPrimaryDVB = 0;
@ -1131,7 +1130,6 @@ int main(int argc, char *argv[])
// Make sure timers "see" their channel early enough: // Make sure timers "see" their channel early enough:
static time_t LastTimerCheck = 0; static time_t LastTimerCheck = 0;
if (Now - LastTimerCheck > TIMERCHECKDELTA) { // don't do this too often if (Now - LastTimerCheck > TIMERCHECKDELTA) { // don't do this too often
InhibitEpgScan = false;
for (cTimer *Timer = Timers->First(); Timer; Timer = Timers->Next(Timer)) { for (cTimer *Timer = Timers->First(); Timer; Timer = Timers->Next(Timer)) {
if (Timer->Remote() || Timer->IsPatternTimer()) if (Timer->Remote() || Timer->IsPatternTimer())
continue; continue;
@ -1151,7 +1149,6 @@ int main(int argc, char *argv[])
InVpsMargin = !Schedule; // we must make sure we have the schedule InVpsMargin = !Schedule; // we must make sure we have the schedule
NeedsTransponder = Schedule && !Schedule->PresentSeenWithin(VPSUPTODATETIME); NeedsTransponder = Schedule && !Schedule->PresentSeenWithin(VPSUPTODATETIME);
} }
InhibitEpgScan |= InVpsMargin | NeedsTransponder;
} }
else else
NeedsTransponder = Timer->Matches(Now, true, TIMERLOOKAHEADTIME); NeedsTransponder = Timer->Matches(Now, true, TIMERLOOKAHEADTIME);
@ -1519,8 +1516,7 @@ int main(int argc, char *argv[])
} }
} }
if (!Menu) { if (!Menu) {
if (!InhibitEpgScan) EITScanner.Process();
EITScanner.Process();
bool Error = false; bool Error = false;
if (RecordingsHandler.Finished(Error)) { if (RecordingsHandler.Finished(Error)) {
if (Error) if (Error)