diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2004-03-13 15:01:05 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2004-03-13 15:01:05 +0100 |
commit | 56b624d20921863e6a212ba139a09383de382a23 (patch) | |
tree | 84db72116841f1980ceea34d5aa28d7d0efb4860 /eit.c | |
parent | 1fd16f6629d4297268e6ff8470444a7169421286 (diff) | |
download | vdr-56b624d20921863e6a212ba139a09383de382a23.tar.gz vdr-56b624d20921863e6a212ba139a09383de382a23.tar.bz2 |
Fixed detecting the running status in case an empty EPG event is broadcast
Diffstat (limited to 'eit.c')
-rw-r--r-- | eit.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -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.92 2004/03/07 11:51:57 kls Exp $ + * $Id: eit.c 1.93 2004/03/13 13:54:20 kls Exp $ */ #include "eit.h" @@ -43,10 +43,12 @@ cEIT::cEIT(cSchedules *Schedules, int Source, u_char Tid, const u_char *Data) Schedules->Add(pSchedule); } + bool Empty = true; bool Modified = false; SI::EIT::Event SiEitEvent; for (SI::Loop::Iterator it; eventLoop.hasNext(it); ) { + Empty = false; SiEitEvent = eventLoop.getNext(it); cEvent *pEvent = (cEvent *)pSchedule->GetEvent(SiEitEvent.getEventId(), SiEitEvent.getStartTime()); @@ -212,6 +214,9 @@ cEIT::cEIT(cSchedules *Schedules, int Source, u_char Tid, const u_char *Data) } Modified = true; } + if (Empty && Tid == 0x4E && getSectionNumber() == 0) + // ETR 211: an empty entry in section 0 of table 0x4E means there is currently no event running + pSchedule->ClrRunningStatus(channel); if (Modified) pSchedule->Sort(); } |