diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-12-27 09:19:34 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-12-27 09:19:34 +0000 |
| commit | 5772d967325d73c19f0674dadeebafe3d35c80cf (patch) | |
| tree | 5628da90cdbcc9d58a3897fefde54c08ab5feebd /lib | |
| parent | a472c767dc3810b5748913fe4421bd099765a2a8 (diff) | |
| download | enigma2-5772d967325d73c19f0674dadeebafe3d35c80cf.tar.gz enigma2-5772d967325d73c19f0674dadeebafe3d35c80cf.zip | |
workaround for incorrect west/east flags in NIT entries
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/dvb/scan.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/dvb/scan.cpp b/lib/dvb/scan.cpp index a57fd53b..d5328163 100644 --- a/lib/dvb/scan.cpp +++ b/lib/dvb/scan.cpp @@ -444,12 +444,22 @@ void eDVBScan::channelDone() ePtr<eDVBFrontendParameters> feparm = new eDVBFrontendParameters; eDVBFrontendParametersSatellite sat; sat.set(d); - feparm->setDVBS(sat); eDVBFrontendParametersSatellite p; m_ch_current->getDVBS(p); - if ( p.orbital_position != sat.orbital_position ) + if ( abs(p.orbital_position - sat.orbital_position) < 5 ) + sat.orbital_position = p.orbital_position; + + if ( abs(abs(3600 - p.orbital_position) - sat.orbital_position) < 5 ) + { + eDebug("found transponder with incorrect west/east flag ... correct this"); + sat.orbital_position = p.orbital_position; + } + + feparm->setDVBS(sat); + + if ( p.orbital_position != sat.orbital_position) SCAN_eDebug("dropping this transponder, it's on another satellite."); else { |
