diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-11-01 22:32:30 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-11-01 22:32:30 +0000 |
| commit | 6be1d64932f7007baa7974f72724a97dd6c7304e (patch) | |
| tree | f4280a0549c56e83228082f0df08b24a09b909cc /lib/dvb/scan.cpp | |
| parent | 9a58db7b8d379b45ff7e06ea40bcb3fcc2141213 (diff) | |
| download | enigma2-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.cpp | 9 |
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; |
