aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/scan.cpp
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-11-01 22:32:30 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-11-01 22:32:30 +0000
commit6be1d64932f7007baa7974f72724a97dd6c7304e (patch)
treef4280a0549c56e83228082f0df08b24a09b909cc /lib/dvb/scan.cpp
parent9a58db7b8d379b45ff7e06ea40bcb3fcc2141213 (diff)
downloadenigma2-6be1d64932f7007baa7974f72724a97dd6c7304e.tar.gz
enigma2-6be1d64932f7007baa7974f72724a97dd6c7304e.zip
only accept delivery descriptors when the descriptor type is equal to the
type of current scanned transponder (Sat == Sat, Cable == Cable, Terrestrial == Terrestrial)
Diffstat (limited to 'lib/dvb/scan.cpp')
-rw-r--r--lib/dvb/scan.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/dvb/scan.cpp b/lib/dvb/scan.cpp
index 00564cdb..f49607c2 100644
--- a/lib/dvb/scan.cpp
+++ b/lib/dvb/scan.cpp
@@ -356,6 +356,8 @@ void eDVBScan::channelDone()
if (m_ready & validNIT)
{
+ int system;
+ m_ch_current->getSystem(system);
SCAN_eDebug("dumping NIT");
if (m_flags & clearToScanOnFirstNIT)
{
@@ -383,6 +385,8 @@ void eDVBScan::channelDone()
{
case CABLE_DELIVERY_SYSTEM_DESCRIPTOR:
{
+ if (system != iDVBFrontend::feCable)
+ break; // when current locked transponder is no cable transponder ignore this descriptor
CableDeliverySystemDescriptor &d = (CableDeliverySystemDescriptor&)**desc;
ePtr<eDVBFrontendParameters> feparm = new eDVBFrontendParameters;
eDVBFrontendParametersCable cable;
@@ -400,6 +404,8 @@ void eDVBScan::channelDone()
}
case TERRESTRIAL_DELIVERY_SYSTEM_DESCRIPTOR:
{
+ if (system != iDVBFrontend::feTerrestrial)
+ break; // when current locked transponder is no terrestrial transponder ignore this descriptor
TerrestrialDeliverySystemDescriptor &d = (TerrestrialDeliverySystemDescriptor&)**desc;
ePtr<eDVBFrontendParameters> feparm = new eDVBFrontendParameters;
eDVBFrontendParametersTerrestrial terr;
@@ -417,6 +423,9 @@ void eDVBScan::channelDone()
}
case SATELLITE_DELIVERY_SYSTEM_DESCRIPTOR:
{
+ if (system != iDVBFrontend::feSatellite)
+ break; // when current locked transponder is no satellite transponder ignore this descriptor
+
SatelliteDeliverySystemDescriptor &d = (SatelliteDeliverySystemDescriptor&)**desc;
if (d.getFrequency() < 10000)
break;