summaryrefslogtreecommitdiff
path: root/eit.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2002-09-15 13:05:57 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2002-09-15 13:05:57 +0200
commite165c9ad8be82626c128f20db49797854d5e504e (patch)
tree59eb596fa0283f82d387bdfd62cf5a12b2a43bc1 /eit.c
parent3a3d4c2a5ac69591c0c4cb922bd34a0c9dfd38e0 (diff)
downloadvdr-e165c9ad8be82626c128f20db49797854d5e504e.tar.gz
vdr-e165c9ad8be82626c128f20db49797854d5e504e.tar.bz2
Dropping bogus EPG events
Diffstat (limited to 'eit.c')
-rw-r--r--eit.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/eit.c b/eit.c
index 86590490..812cd353 100644
--- a/eit.c
+++ b/eit.c
@@ -16,7 +16,7 @@
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
- * $Id: eit.c 1.49 2002/08/25 10:43:36 kls Exp $
+ * $Id: eit.c 1.50 2002/09/15 13:02:28 kls Exp $
***************************************************************************/
#include "eit.h"
@@ -895,6 +895,9 @@ int cEIT::ProcessEIT(unsigned char *buffer)
if (VdrProgramInfos) {
for (VdrProgramInfo = (struct VdrProgramInfo *) VdrProgramInfos->Head; VdrProgramInfo; VdrProgramInfo = (struct VdrProgramInfo *) xSucc (VdrProgramInfo)) {
+ // Drop events that belong to an "other TS" and are very long (some stations broadcast bogus data for "other" channels):
+ if (VdrProgramInfo->Duration >= 86400 && (tid == 0x4F || tid == 0x60 || tid == 0x61))
+ continue;
pSchedule = (cSchedule *)schedules->GetSchedule(VdrProgramInfo->ServiceID);
if (!pSchedule) {
schedules->Add(new cSchedule(VdrProgramInfo->ServiceID));