mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Dropping bogus EPG events
This commit is contained in:
parent
3a3d4c2a5a
commit
e165c9ad8b
2
HISTORY
2
HISTORY
@ -1471,3 +1471,5 @@ Video Disk Recorder Revision History
|
|||||||
- Only calling cStatus::MsgChannelSwitch() if a channel is actually going to
|
- Only calling cStatus::MsgChannelSwitch() if a channel is actually going to
|
||||||
be switched or has actually been switched successfully (thanks to Stefan
|
be switched or has actually been switched successfully (thanks to Stefan
|
||||||
Huelswitt).
|
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").
|
||||||
|
5
eit.c
5
eit.c
@ -16,7 +16,7 @@
|
|||||||
* the Free Software Foundation; either version 2 of the License, or *
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
* (at your option) any later version. *
|
* (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"
|
#include "eit.h"
|
||||||
@ -895,6 +895,9 @@ int cEIT::ProcessEIT(unsigned char *buffer)
|
|||||||
|
|
||||||
if (VdrProgramInfos) {
|
if (VdrProgramInfos) {
|
||||||
for (VdrProgramInfo = (struct VdrProgramInfo *) VdrProgramInfos->Head; VdrProgramInfo; VdrProgramInfo = (struct VdrProgramInfo *) xSucc (VdrProgramInfo)) {
|
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);
|
pSchedule = (cSchedule *)schedules->GetSchedule(VdrProgramInfo->ServiceID);
|
||||||
if (!pSchedule) {
|
if (!pSchedule) {
|
||||||
schedules->Add(new cSchedule(VdrProgramInfo->ServiceID));
|
schedules->Add(new cSchedule(VdrProgramInfo->ServiceID));
|
||||||
|
Loading…
Reference in New Issue
Block a user