X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/46f910a175efeaf9558cdc4b59e826d0a5f5f34d..4c697b16225031cc892857d78b7d6fb5d8f02280:/lib/dvb/scan.cpp 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 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 {