diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2007-01-15 19:36:42 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2007-01-15 19:36:42 +0000 |
| commit | e68ab3a6255de286aad4f503ee9929d0c503ebcc (patch) | |
| tree | 825f7f686b7486de52052a5927d67c63415130d5 /lib | |
| parent | a3d4ed7a6cafe80056916cfc6f27e8d4df94a90d (diff) | |
| download | enigma2-e68ab3a6255de286aad4f503ee9929d0c503ebcc.tar.gz enigma2-e68ab3a6255de286aad4f503ee9929d0c503ebcc.zip | |
when the system time on e2 startup seems valid (> 1.1.2004) we use this time
as time reference for the internal transponder time correction.. so the
systemtime stays valid on startup from deepstandby on a transponder with
incorrect transponder time transmission
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/dvb/dvbtime.cpp | 11 | ||||
| -rw-r--r-- | lib/dvb/epgcache.cpp | 4 |
2 files changed, 15 insertions, 0 deletions
diff --git a/lib/dvb/dvbtime.cpp b/lib/dvb/dvbtime.cpp index 5ece09d3..6c2df6c2 100644 --- a/lib/dvb/dvbtime.cpp +++ b/lib/dvb/dvbtime.cpp @@ -129,7 +129,18 @@ eDVBLocalTimeHandler::eDVBLocalTimeHandler() if (!res_mgr) eDebug("[eDVBLocalTimerHandler] no resource manager !!!!!!!"); else + { res_mgr->connectChannelAdded(slot(*this,&eDVBLocalTimeHandler::DVBChannelAdded), m_chanAddedConn); + time_t now = time(0); + if ( now < 1072224000 ) // 01.01.2004 + eDebug("RTC not ready... wait for transponder time"); + else // inform all who's waiting for valid system time.. + { + eDebug("Use valid Linux Time :) (RTC?)"); + m_time_ready = true; + /*emit*/ m_timeUpdated(); + } + } } eDVBLocalTimeHandler::~eDVBLocalTimeHandler() diff --git a/lib/dvb/epgcache.cpp b/lib/dvb/epgcache.cpp index afbc6e01..1428cc7c 100644 --- a/lib/dvb/epgcache.cpp +++ b/lib/dvb/epgcache.cpp @@ -226,7 +226,11 @@ eEPGCache::eEPGCache() if (!res_mgr) eDebug("[eEPGCache] no resource manager !!!!!!!"); else + { res_mgr->connectChannelAdded(slot(*this,&eEPGCache::DVBChannelAdded), m_chanAddedConn); + if (eDVBLocalTimeHandler::getInstance()->ready()) + timeUpdated(); + } instance=this; } |
