LinuxTV Patchwork EPG not purged if -E- option set

login
register
mail settings
Submitter Klaus Schmidinger
Date Aug. 31, 2013, 1:09 p.m.
Message ID <5221EB1A.90809@tvdr.de>
Download mbox | patch
Permalink /patch/20006/
State New
Headers show

Comments

Klaus Schmidinger - Aug. 31, 2013, 1:09 p.m.
On 31.08.2013 11:06, Dave wrote:
> I run VDR 2.0.2 on a Raspberry Pi. The device runs continuously, so to avoid wearing out the SD card or needlessly spinning-up the USB disk drive I run VDR with the -E- option to prevent saving the EPG every 10 minutes.
>
> Today I created a timer for one programme in a long-running series and was surprised to find that the Series Link plugin had scheduled timers for earlier episodes, some broadcast several weeks ago! These timers were then automatically deleted of course.
>
> Looking at the code, it seems that cleaning up the EPG schedules is a side-effect of writing the data file, so the -E- option disables both. Having the EPG grow unbounded is perhaps not desirable on devices such as the Raspberry Pi which have limited memory and CPU.

Please try the attached patch.

Klaus
Klaus Schmidinger - Aug. 31, 2013, 1:13 p.m.
On 31.08.2013 15:09, Klaus Schmidinger wrote:
> On 31.08.2013 11:06, Dave wrote:
>> I run VDR 2.0.2 on a Raspberry Pi. The device runs continuously, so to avoid wearing out the SD card or needlessly spinning-up the USB disk drive I run VDR with the -E- option to prevent saving the EPG every 10 minutes.
>>
>> Today I created a timer for one programme in a long-running series and was surprised to find that the Series Link plugin had scheduled timers for earlier episodes, some broadcast several weeks ago! These timers were then automatically deleted of course.
>>
>> Looking at the code, it seems that cleaning up the EPG schedules is a side-effect of writing the data file, so the -E- option disables both. Having the EPG grow unbounded is perhaps not desirable on devices such as the Raspberry Pi which have limited memory and CPU.
>
> Please try the attached patch.

Sorry, please disregard.
I should have compiled it before posting it...

Klaus

Patch

--- epg.c	2013/08/23 10:46:33	3.1
+++ epg.c	2013/08/31 13:07:30
@@ -1169,7 +1169,8 @@ 
            p->Cleanup(now);
        }
   }
-  cSchedules::Dump();
+  if (epgDataFileName)
+     cSchedules::Dump();
 }
 
 static cEpgDataWriter EpgDataWriter;
@@ -1217,12 +1218,10 @@ 
      lastDump = 0;
   time_t now = time(NULL);
   if (now - lastDump > EPGDATAWRITEDELTA) {
-     if (epgDataFileName) {
-        if (Force)
-           EpgDataWriter.Perform();
-        else if (!EpgDataWriter.Active())
-           EpgDataWriter.Start();
-        }
+     if (Force)
+        EpgDataWriter.Perform();
+     else if (!EpgDataWriter.Active())
+        EpgDataWriter.Start();
      lastDump = now;
      }
 }

Privacy Policy