summaryrefslogtreecommitdiff
path: root/eit.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2010-01-03 15:45:23 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2010-01-03 15:45:23 +0100
commit4743fc349ce4719585857ca58efcdb73c786ec53 (patch)
treef2948c5b6ddbdf6e2590d5d89bd7eb936eb69cdf /eit.c
parent3e05217a5fc53263199fafe05c46047e9e964709 (diff)
downloadvdr-4743fc349ce4719585857ca58efcdb73c786ec53.tar.gz
vdr-4743fc349ce4719585857ca58efcdb73c786ec53.tar.bz2
After a CLRE command, no further EPG processing is now done for 10 seconds
Diffstat (limited to 'eit.c')
-rw-r--r--eit.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/eit.c b/eit.c
index 15a2ac62..72d05cb6 100644
--- a/eit.c
+++ b/eit.c
@@ -8,7 +8,7 @@
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
* Adapted to 'libsi' for VDR 1.3.0 by Marcel Wiesweg <marcel.wiesweg@gmx.de>.
*
- * $Id: eit.c 2.9 2010/01/03 13:39:48 kls Exp $
+ * $Id: eit.c 2.10 2010/01/03 15:35:21 kls Exp $
*/
#include "eit.h"
@@ -351,6 +351,8 @@ cTDT::cTDT(const u_char *Data)
// --- cEitFilter ------------------------------------------------------------
+time_t cEitFilter::disableUntil = 0;
+
cEitFilter::cEitFilter(void)
{
Set(0x12, 0x40, 0xC0); // event info now&next actual/other TS (0x4E/0x4F), future actual/other TS (0x5X/0x6X)
@@ -358,8 +360,19 @@ cEitFilter::cEitFilter(void)
Set(0x14, 0x70); // TDT
}
+void cEitFilter::SetDisableUntil(time_t Time)
+{
+ disableUntil = Time;
+}
+
void cEitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length)
{
+ if (disableUntil) {
+ if (time(NULL) > disableUntil)
+ disableUntil = 0;
+ else
+ return;
+ }
switch (Pid) {
case 0x12: {
if (Tid >= 0x4E && Tid <= 0x6F) {