aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/epgcache.cpp
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-05-22 23:08:26 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-05-22 23:08:26 +0000
commitb1f62dfee6033cb1074c0b1063e68ef365ce6a76 (patch)
tree413b941a2c79e2795957d2738fbd25cb76d138fd /lib/dvb/epgcache.cpp
parent663df8b68d461fe8137367977afa7fefc63f1838 (diff)
downloadenigma2-b1f62dfee6033cb1074c0b1063e68ef365ce6a76.tar.gz
enigma2-b1f62dfee6033cb1074c0b1063e68ef365ce6a76.zip
workaround for wrong transmitted epg data (tsid/onid/sid not correct)
Diffstat (limited to 'lib/dvb/epgcache.cpp')
-rw-r--r--lib/dvb/epgcache.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/dvb/epgcache.cpp b/lib/dvb/epgcache.cpp
index b04bdd89..59c62037 100644
--- a/lib/dvb/epgcache.cpp
+++ b/lib/dvb/epgcache.cpp
@@ -2216,6 +2216,14 @@ void eEPGCache::privateSectionRead(const uniqueEPGKey &current_service, const __
onid |= data[ptr++];
int sid = data[ptr++] << 8;
sid |= data[ptr++];
+
+// WORKAROUND for wrong transmitted epg data
+ if ( onid == 0x85 && tsid == 0x11 && sid == 0xd3 ) // premiere sends wrong tsid here
+ tsid = 0x1;
+ else if ( onid == 0x85 && tsid == 0x3 && sid == 0xf5 ) // premiere sends wrong sid here
+ sid = 0xdc;
+////////////////////////////////////////////
+
uniqueEPGKey service( sid, onid, tsid );
descr_len -= 6;
while( descr_len > 0 )