From: Andreas Monzner Date: Sun, 6 Aug 2006 14:03:49 +0000 (+0000) Subject: update workaround for wrong transmitted private data X-Git-Tag: 2.6.0~3089 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/0d3b6f2c16aec76d38593a9e01d272817fb7fdd4?hp=7ef9c069ca947922cf36b711f81c1450f409bc80 update workaround for wrong transmitted private data --- diff --git a/lib/dvb/epgcache.cpp b/lib/dvb/epgcache.cpp index ebf9e2ea..46785de1 100644 --- a/lib/dvb/epgcache.cpp +++ b/lib/dvb/epgcache.cpp @@ -2369,13 +2369,20 @@ void eEPGCache::privateSectionRead(const uniqueEPGKey ¤t_service, const __ 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; +// WORKAROUND for wrong transmitted epg data (01.08.2006) + if ( onid == 0x85 ) + { + switch( (tsid << 16) | sid ) + { + case 0x0300f0: sid = 0xe0; tsid = 2; break; + case 0x0300f1: sid = 0xe1; tsid = 2; break; + case 0x0300f5: sid = 0xdc; break; + case 0x0400d2: sid = 0xe2; tsid = 0x11; break; + case 0x1100d3: sid = 0xe3; break; + } + } //////////////////////////////////////////// - + uniqueEPGKey service( sid, onid, tsid ); descr_len -= 6; while( descr_len > 0 )