From 141256f0535d95af67e618b80e6beaa656fc1353 Mon Sep 17 00:00:00 2001 From: Stefan Seyfried Date: Tue, 5 Feb 2013 22:43:26 +0100 Subject: [PATCH] sectionsd: add workaround for holes in SRF EPG Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/1c313b43adb59251536f02050ff21a6b16e73090 Author: Stefan Seyfried Date: 2013-02-05 (Tue, 05 Feb 2013) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- src/eitd/sectionsd.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/eitd/sectionsd.cpp b/src/eitd/sectionsd.cpp index 2051b952d..ae77bb80a 100644 --- a/src/eitd/sectionsd.cpp +++ b/src/eitd/sectionsd.cpp @@ -450,6 +450,13 @@ xprintf("addEvent: current %016" PRIx64 " event %016" PRIx64 " running %d messag unlockEvents(); return; } + /* SRF special case: advertising is inserted with start time of + * an existing event. Duration may differ. To avoid holes in EPG caused + * by the (not useful) advertising event, don't delete the (useful) + * original event */ + if ((*x)->table_id == e->table_id && (e->table_id & 0xFE) == 0x4e && + (*x)->times.begin()->startzeit == start_time) + continue; /* here we have an overlapping event */ dprintf("%s: delete 0x%016" PRIx64 ".%02x time = 0x%016" PRIx64 ".%02x\n", __func__, x_key, (*x)->table_id, e_key, e->table_id);