aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/scan.cpp
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-12-27 09:19:34 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-12-27 09:19:34 +0000
commit5772d967325d73c19f0674dadeebafe3d35c80cf (patch)
tree5628da90cdbcc9d58a3897fefde54c08ab5feebd /lib/dvb/scan.cpp
parenta472c767dc3810b5748913fe4421bd099765a2a8 (diff)
downloadenigma2-5772d967325d73c19f0674dadeebafe3d35c80cf.tar.gz
enigma2-5772d967325d73c19f0674dadeebafe3d35c80cf.zip
workaround for incorrect west/east flags in NIT entries
Diffstat (limited to 'lib/dvb/scan.cpp')
-rw-r--r--lib/dvb/scan.cpp14
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
{