aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/epgcache.cpp
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-02-18 16:19:06 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-02-18 16:19:06 +0000
commitbd99abbd6982a1b30363a41fa28a01e18278cdfc (patch)
tree8d633e26ef1b851e9277279ead077ba5c273e5d8 /lib/dvb/epgcache.cpp
parent317c6217b933893659bbf2dc80c74eac357e0bd2 (diff)
downloadenigma2-bd99abbd6982a1b30363a41fa28a01e18278cdfc.tar.gz
enigma2-bd99abbd6982a1b30363a41fa28a01e18278cdfc.zip
fix cablecom hack
Diffstat (limited to 'lib/dvb/epgcache.cpp')
-rw-r--r--lib/dvb/epgcache.cpp8
1 files changed, 4 insertions, 4 deletions
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;