aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/epgcache.cpp
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-08-08 23:40:16 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-08-08 23:40:16 +0000
commitd055e366cc17c76c3c32a63010aa3bd7875dac48 (patch)
treeb026a125e43cb7b6a7f801ed817b238975176081 /lib/dvb/epgcache.cpp
parentb56bcb6768ce0fdb7124e02d2fd6a531b4068505 (diff)
downloadenigma2-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.cpp12
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();