aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/pmt.cpp
diff options
context:
space:
mode:
authorghost <andreas.monzner@multimedia-labs.de>2008-11-03 21:05:52 +0100
committerAndreas Oberritter <obi@saftware.de>2008-11-06 01:47:04 +0100
commit952994756bd2ff915bdd8fb494a9a9b9085a6b98 (patch)
tree9a3b56f077cc1afe46b1067140245aca05d8cdd8 /lib/dvb/pmt.cpp
parent229f1d3e77143ffe1351fcd05a66665132e3e6d1 (diff)
downloadenigma2-952994756bd2ff915bdd8fb494a9a9b9085a6b98.tar.gz
enigma2-952994756bd2ff915bdd8fb494a9a9b9085a6b98.zip
dont do SDT update when tuned to wrong transponder
Diffstat (limited to 'lib/dvb/pmt.cpp')
-rw-r--r--lib/dvb/pmt.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/dvb/pmt.cpp b/lib/dvb/pmt.cpp
index 6082bf4a..692428d7 100644
--- a/lib/dvb/pmt.cpp
+++ b/lib/dvb/pmt.cpp
@@ -524,8 +524,15 @@ void eDVBServicePMTHandler::SDTScanEvent(int event)
eDebug("no channel list");
else
{
- m_dvb_scan->insertInto(db, true);
- eDebug("sdt update done!");
+ eDVBChannelID chid;
+ m_reference.getChannelID(chid);
+ if (chid == m_dvb_scan->getCurrentChannelID())
+ {
+ m_dvb_scan->insertInto(db, true);
+ eDebug("sdt update done!");
+ }
+ else
+ eDebug("ignore sdt update data.... incorrect transponder tuned!!!");
}
break;
}
@@ -605,6 +612,7 @@ int eDVBServicePMTHandler::tune(eServiceReferenceDVB &ref, int use_decode_demux,
if (ref.path.empty())
{
+ m_dvb_scan = 0;
m_dvb_scan = new eDVBScan(m_channel, true, false);
m_dvb_scan->connectEvent(slot(*this, &eDVBServicePMTHandler::SDTScanEvent), m_scan_event_connection);
}