diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2008-02-18 16:00:02 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2008-02-18 16:00:02 +0000 |
| commit | 317c6217b933893659bbf2dc80c74eac357e0bd2 (patch) | |
| tree | 04d1a0f50014802ad5d9530a2397e2271038257a /lib/dvb/epgcache.cpp | |
| parent | bfafeaf8008f0eb3d5fbe97ed736722660a80593 (diff) | |
| download | enigma2-317c6217b933893659bbf2dc80c74eac357e0bd2.tar.gz enigma2-317c6217b933893659bbf2dc80c74eac357e0bd2.zip | |
add HACK for wrong transmitted Cablecom EPG!
Diffstat (limited to 'lib/dvb/epgcache.cpp')
| -rw-r--r-- | lib/dvb/epgcache.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/dvb/epgcache.cpp b/lib/dvb/epgcache.cpp index c5f4830e..fd09c5ed 100644 --- a/lib/dvb/epgcache.cpp +++ b/lib/dvb/epgcache.cpp @@ -460,7 +460,14 @@ void eEPGCache::sectionRead(const __u8 *data, int source, channel_data *channel) if ( data[ptr-1] < 0x40 ) --ptr; - uniqueEPGKey service( HILO(eit->service_id), HILO(eit->original_network_id), HILO(eit->transport_stream_id) ); + // 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; + 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() ); + eit_event_struct* eit_event = (eit_event_struct*) (data+ptr); int eit_event_size; int duration; |
