diff options
-rw-r--r-- | CONTRIBUTORS | 2 | ||||
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | eit.c | 6 |
3 files changed, 7 insertions, 3 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index ac282fd2..edfeae3c 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1327,6 +1327,8 @@ Chad Flynt <hoochster@sofnet.com> Chris Warren <dvb@ixalon.net> for pointing out that the call to system("sync") in SpinUpDisk() should be replaced with fsync(f) to avoid problems on NPTL systems + for fixing dropping EPG events that have a zero start time or duration, in case it's + an NVOD event Luca Olivetti <luca@ventoso.org> for making cDevice::AttachPlayer() keep the track language codes and descriptions @@ -3599,3 +3599,5 @@ Video Disk Recorder Revision History first day not as full date, but just day of month (thanks to Henrik Niehaus for reporting this one). - Removed an unnecessary #include from osd.c (thanks to Wolfgang Rohdewald). +- Fixed dropping EPG events that have a zero start time or duration, in case it's + an NVOD event (thanks to Chris Warren). @@ -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 1.107 2005/05/28 11:35:55 kls Exp $ + * $Id: eit.c 1.108 2005/06/11 15:31:21 kls Exp $ */ #include "eit.h" @@ -48,8 +48,8 @@ cEIT::cEIT(cSchedules *Schedules, int Source, u_char Tid, const u_char *Data) SI::EIT::Event SiEitEvent; for (SI::Loop::Iterator it; eventLoop.getNext(SiEitEvent, it); ) { - // Drop bogus events. - if (SiEitEvent.getStartTime() == 0 || SiEitEvent.getDuration() == 0) + // Drop bogus events - but keep NVOD reference events, where all bits of the start time field are set to 1, resulting in a negative number. + if (SiEitEvent.getStartTime() == 0 || SiEitEvent.getStartTime() > 0 && SiEitEvent.getDuration() == 0) continue; Empty = false; cEvent *newEvent = NULL; |