aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-10-10 17:29:20 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-10-10 17:29:20 +0000
commit62bbd84a6d1dbe6386fd278b8bdbc81e361e000f (patch)
tree1ba6216c0ea0e684b9164902f006c9e046453307 /lib
parentb784d016b66856c4f3aca2cb9a1c5c7f61f18519 (diff)
downloadenigma2-62bbd84a6d1dbe6386fd278b8bdbc81e361e000f.tar.gz
enigma2-62bbd84a6d1dbe6386fd278b8bdbc81e361e000f.zip
add ability to clear transponders to scan when first NIT is received
Diffstat (limited to 'lib')
-rw-r--r--lib/dvb/scan.cpp5
-rw-r--r--lib/dvb/scan.h6
2 files changed, 10 insertions, 1 deletions
diff --git a/lib/dvb/scan.cpp b/lib/dvb/scan.cpp
index 8aa41dfa..00564cdb 100644
--- a/lib/dvb/scan.cpp
+++ b/lib/dvb/scan.cpp
@@ -357,6 +357,11 @@ void eDVBScan::channelDone()
if (m_ready & validNIT)
{
SCAN_eDebug("dumping NIT");
+ if (m_flags & clearToScanOnFirstNIT)
+ {
+ m_ch_toScan.clear();
+ m_flags &= ~clearToScanOnFirstNIT;
+ }
std::vector<NetworkInformationSection*>::const_iterator i;
for (i = m_NIT->getSections().begin(); i != m_NIT->getSections().end(); ++i)
{
diff --git a/lib/dvb/scan.h b/lib/dvb/scan.h
index 656817f9..96a1528d 100644
--- a/lib/dvb/scan.h
+++ b/lib/dvb/scan.h
@@ -73,7 +73,11 @@ public:
eDVBScan(iDVBChannel *channel, bool usePAT=true, bool debug=true );
~eDVBScan();
- enum { scanNetworkSearch = 1, scanSearchBAT = 2, scanRemoveServices = 4, scanDontRemoveFeeds=8 };
+ enum {
+ scanNetworkSearch = 1, scanSearchBAT = 2,
+ scanRemoveServices = 4, scanDontRemoveFeeds = 8,
+ clearToScanOnFirstNIT = 16 };
+
void start(const eSmartPtrList<iDVBFrontendParameters> &known_transponders, int flags);
enum { evtUpdate, evtNewService, evtFinish, evtFail };