git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of fraxinas@git.opendreambox.org:/git/enigma2
[enigma2.git]
/
lib
/
dvb
/
dvbtime.cpp
diff --git
a/lib/dvb/dvbtime.cpp
b/lib/dvb/dvbtime.cpp
index 42b12e85bcdcf2efc86cce470c54fbc19e3a2c1a..c43357959b16165052d86f71acdc3b378aacf45d 100644
(file)
--- a/
lib/dvb/dvbtime.cpp
+++ b/
lib/dvb/dvbtime.cpp
@@
-86,10
+86,10
@@
time_t parseDVBtime(__u8 t1, __u8 t2, __u8 t3, __u8 t4, __u8 t5)
}
TDT::TDT(eDVBChannel *chan, int update_count)
}
TDT::TDT(eDVBChannel *chan, int update_count)
- :chan(chan), update_count(update_count)
+ :chan(chan),
m_interval_timer(eTimer::create()),
update_count(update_count)
{
CONNECT(tableReady, TDT::ready);
{
CONNECT(tableReady, TDT::ready);
- CONNECT(m_interval_timer
.
timeout, TDT::start);
+ CONNECT(m_interval_timer
->
timeout, TDT::start);
if (chan)
chan->getDemux(demux, 0);
}
if (chan)
chan->getDemux(demux, 0);
}
@@
-136,7
+136,7
@@
void TDT::start()
void TDT::startTimer( int interval )
{
void TDT::startTimer( int interval )
{
- m_interval_timer
.
start(interval, true);
+ m_interval_timer
->
start(interval, true);
}
eDVBLocalTimeHandler *eDVBLocalTimeHandler::instance;
}
eDVBLocalTimeHandler *eDVBLocalTimeHandler::instance;
@@
-169,8
+169,6
@@
eDVBLocalTimeHandler::eDVBLocalTimeHandler()
eDVBLocalTimeHandler::~eDVBLocalTimeHandler()
{
instance=0;
eDVBLocalTimeHandler::~eDVBLocalTimeHandler()
{
instance=0;
- for (std::map<iDVBChannel*, channel_data>::iterator it=m_knownChannels.begin(); it != m_knownChannels.end(); ++it)
- delete it->second.tdt;
if (ready())
{
eDebug("set RTC to previous valid time");
if (ready())
{
eDebug("set RTC to previous valid time");
@@
-396,10
+394,10
@@
void eDVBLocalTimeHandler::updateTime( time_t tp_time, eDVBChannel *chan, int up
m_knownChannels.find(chan);
if ( it != m_knownChannels.end() )
{
m_knownChannels.find(chan);
if ( it != m_knownChannels.end() )
{
- TDT *prev_tdt = it->second.tdt;
- it->second.tdt = new TDT(chan, prev_tdt->getUpdateCount());
+ int updateCount = it->second.tdt->getUpdateCount();
+ it->second.tdt = 0;
+ it->second.tdt = new TDT(chan, updateCount);
it->second.tdt->startTimer(60*60*1000); // restart TDT for this transponder in 60min
it->second.tdt->startTimer(60*60*1000); // restart TDT for this transponder in 60min
- delete prev_tdt;
}
}
}
}
}
}
@@
-437,7
+435,6
@@
void eDVBLocalTimeHandler::DVBChannelStateChanged(iDVBChannel *chan)
break;
case iDVBChannel::state_release:
eDebug("[eDVBLocalTimerHandler] remove channel %p", chan);
break;
case iDVBChannel::state_release:
eDebug("[eDVBLocalTimerHandler] remove channel %p", chan);
- delete it->second.tdt;
m_knownChannels.erase(it);
break;
default: // ignore all other events
m_knownChannels.erase(it);
break;
default: // ignore all other events