From 5772d967325d73c19f0674dadeebafe3d35c80cf Mon Sep 17 00:00:00 2001 From: Andreas Monzner Date: Wed, 27 Dec 2006 09:19:34 +0000 Subject: workaround for incorrect west/east flags in NIT entries --- lib/dvb/scan.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to '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 { -- cgit v1.2.3