diff options
| author | Klaus Schmidinger <vdr@tvdr.de> | 2002-09-15 13:05:57 +0200 | 
|---|---|---|
| committer | Klaus Schmidinger <vdr@tvdr.de> | 2002-09-15 13:05:57 +0200 | 
| commit | e165c9ad8be82626c128f20db49797854d5e504e (patch) | |
| tree | 59eb596fa0283f82d387bdfd62cf5a12b2a43bc1 | |
| parent | 3a3d4c2a5ac69591c0c4cb922bd34a0c9dfd38e0 (diff) | |
| download | vdr-e165c9ad8be82626c128f20db49797854d5e504e.tar.gz vdr-e165c9ad8be82626c128f20db49797854d5e504e.tar.bz2 | |
Dropping bogus EPG events
| -rw-r--r-- | HISTORY | 2 | ||||
| -rw-r--r-- | eit.c | 5 | 
2 files changed, 6 insertions, 1 deletions
| @@ -1471,3 +1471,5 @@ Video Disk Recorder Revision History  - Only calling cStatus::MsgChannelSwitch() if a channel is actually going to    be switched or has actually been switched successfully (thanks to Stefan    Huelswitt). +- The EPG now drops events from "other" streams that have a duration of 86400 +  seconds or more (this avoids bogus entries like "PROGRAMMES ALLEMANDS"). @@ -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)); | 
