If the first event in a schedule has a table id of 0x00, any incoming EIT data for that schedule from the DVB stream will be completely ignored

This commit is contained in:
Klaus Schmidinger 2012-02-25 15:52:16 +01:00
parent d0cd92a455
commit aaca30f2ac
2 changed files with 14 additions and 1 deletions

View File

@ -6917,3 +6917,8 @@ Video Disk Recorder Revision History
won't notice this change, anyway.
- Since cReceivers can have priorities between -99 and 99, the priority
for an unused device has been changed from -1 to -100.
- If the first event in a schedule has a table id of 0x00, any incoming EIT data for
that schedule from the DVB stream will be completely ignored. This way an external
EPG source can fill the schedules with EPG data that will not be messed up with
that from the DVB data stream. Note, though, that this means VDR can not do VPS
controlled recordings with such events!

10
eit.c
View File

@ -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.12 2010/05/14 14:08:35 kls Exp $
* $Id: eit.c 2.13 2012/02/25 15:25:51 kls Exp $
*/
#include "eit.h"
@ -38,6 +38,14 @@ cEIT::cEIT(cSchedules *Schedules, int Source, u_char Tid, const u_char *Data, bo
return; // only collect data for known channels
cSchedule *pSchedule = (cSchedule *)Schedules->GetSchedule(channel, true);
if (pSchedule) {
if (cEvent *Event = pSchedule->Events()->First()) {
if (Event->TableID() == 0x00)
return; // never touch schedules with events from external sources
}
}
else
return;
bool Empty = true;
bool Modified = false;