From: Andreas Monzner Date: Mon, 18 Feb 2008 16:19:06 +0000 (+0000) Subject: fix cablecom hack X-Git-Tag: 2.6.0~1517 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/bd99abbd6982a1b30363a41fa28a01e18278cdfc fix cablecom hack --- diff --git a/lib/dvb/epgcache.cpp b/lib/dvb/epgcache.cpp index fd09c5ed..e70ed0ab 100644 --- a/lib/dvb/epgcache.cpp +++ b/lib/dvb/epgcache.cpp @@ -461,12 +461,12 @@ void eEPGCache::sectionRead(const __u8 *data, int source, channel_data *channel) --ptr; // Cablecom HACK .. tsid / onid in eit data are incorrect.. so we use - // it from running service (just for current transport stream eit data) - bool use_eit_chid = data[0] == 0x4F || data[0] > 0x5F; + // it from running channel (just for current transport stream eit data) + bool use_transponder_chid = source == SCHEDULE || (source == NOWNEXT && data[0] == 0x4E); eDVBChannelID chid = channel->channel->getChannelID(); uniqueEPGKey service( HILO(eit->service_id), - use_eit_chid ? HILO(eit->original_network_id) : chid.original_network_id.get(), - use_eit_chid ? HILO(eit->transport_stream_id) : chid.transport_stream_id.get() ); + use_transponder_chid ? chid.original_network_id.get() : HILO(eit->original_network_id), + use_transponder_chid ? chid.transport_stream_id.get() : HILO(eit->transport_stream_id)); eit_event_struct* eit_event = (eit_event_struct*) (data+ptr); int eit_event_size;