diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-08-06 14:03:49 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-08-06 14:03:49 +0000 |
| commit | 0d3b6f2c16aec76d38593a9e01d272817fb7fdd4 (patch) | |
| tree | 29d8dcc2dd4c694057d937429c59f58a9b2e154c /lib | |
| parent | 7ef9c069ca947922cf36b711f81c1450f409bc80 (diff) | |
| download | enigma2-0d3b6f2c16aec76d38593a9e01d272817fb7fdd4.tar.gz enigma2-0d3b6f2c16aec76d38593a9e01d272817fb7fdd4.zip | |
update workaround for wrong transmitted private data
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/dvb/epgcache.cpp | 19 |
1 files changed, 13 insertions, 6 deletions
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 ) |
