diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-08-08 23:40:16 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-08-08 23:40:16 +0000 |
| commit | d055e366cc17c76c3c32a63010aa3bd7875dac48 (patch) | |
| tree | b026a125e43cb7b6a7f801ed817b238975176081 /lib/dvb/epgcache.cpp | |
| parent | b56bcb6768ce0fdb7124e02d2fd6a531b4068505 (diff) | |
| download | enigma2-d055e366cc17c76c3c32a63010aa3bd7875dac48.tar.gz enigma2-d055e366cc17c76c3c32a63010aa3bd7875dac48.zip | |
store last updated timestamp for private and normal epg separately
Diffstat (limited to 'lib/dvb/epgcache.cpp')
| -rw-r--r-- | lib/dvb/epgcache.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/dvb/epgcache.cpp b/lib/dvb/epgcache.cpp index 46785de1..6526d665 100644 --- a/lib/dvb/epgcache.cpp +++ b/lib/dvb/epgcache.cpp @@ -766,7 +766,10 @@ void eEPGCache::gotMessage( const Message &msg ) data->m_PrevVersion = -1; data->m_PrivatePid = msg.pid; data->m_PrivateService = msg.service; - updateMap::iterator It = channelLastUpdated.find( channel->getChannelID() ); + int onid = chid.original_network_id.get(); + onid |= 0x80000000; // we use highest bit as private epg indicator + chid.original_network_id = onid; + updateMap::iterator It = channelLastUpdated.find( chid ); int update = ( It != channelLastUpdated.end() ? ( UPDATE_INTERVAL - ( (eDVBLocalTimeHandler::getInstance()->nowTime()-It->second) * 1000 ) ) : ZAP_DELAY ); if (update < ZAP_DELAY) update = ZAP_DELAY; @@ -2495,6 +2498,11 @@ void eEPGCache::channel_data::readPrivateData( const __u8 *data) if ( seenPrivateSections.size() == (unsigned int)(data[7] + 1) ) { eDebug("[EPGC] private finished"); + eDVBChannelID chid = channel->getChannelID(); + int tmp = chid.original_network_id.get(); + tmp |= 0x80000000; // we use highest bit as private epg indicator + chid.original_network_id = tmp; + cache->channelLastUpdated[chid] = eDVBLocalTimeHandler::getInstance()->nowTime(); m_PrevVersion = (data[5] & 0x3E) >> 1; startPrivateReader(); } @@ -3213,7 +3221,7 @@ start_summary: } } abort: - isRunning &= ~eEPGCache::MHW; + isRunning &= ~MHW; m_MHWConn2=0; if ( m_MHWReader2 ) m_MHWReader2->stop(); |
