X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/e8242e439b8857030027f342ede47efe7e2f38ea..0d3b6f2c16aec76d38593a9e01d272817fb7fdd4:/lib/dvb/epgcache.cpp diff --git a/lib/dvb/epgcache.cpp b/lib/dvb/epgcache.cpp index 0254e7df..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 ) @@ -2968,6 +2975,7 @@ void eEPGCache::channel_data::readMHWData2(const __u8 *data) channel.transport_stream_id_lo = *(tmp++); channel.channel_id_hi = *(tmp++); channel.channel_id_lo = *(tmp++); +#warning FIXME hardcoded network_id in mhw2 epg channel.network_id_hi = 0; // hardcoded astra 19.2 channel.network_id_lo = 1; m_channels.push_back(channel);