aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>2006-02-25 04:54:02 +0000
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>2006-02-25 04:54:02 +0000
commitffd007cb4f71a3c9f7d69339126cbe69f6b4ee63 (patch)
treef8f21346422ad97672b2473f91463e9e82d91729 /lib
parent714488394a5c552b175f69682ac2001f8f1b6345 (diff)
downloadenigma2-ffd007cb4f71a3c9f7d69339126cbe69f6b4ee63.tar.gz
enigma2-ffd007cb4f71a3c9f7d69339126cbe69f6b4ee63.zip
correct calculation of differences for cable params
Diffstat (limited to 'lib')
-rw-r--r--lib/dvb/frontend.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/dvb/frontend.cpp b/lib/dvb/frontend.cpp
index c8434c06..a7f0c70e 100644
--- a/lib/dvb/frontend.cpp
+++ b/lib/dvb/frontend.cpp
@@ -199,8 +199,15 @@ RESULT eDVBFrontendParameters::calculateDifference(const iDVBFrontendParameters
if (parm->getDVBC(ocable))
return -2;
- diff = abs(cable.frequency - ocable.frequency);
- diff += abs(cable.symbol_rate - ocable.symbol_rate);
+ if (cable.modulation != ocable.modulation && cable.modulation != eDVBFrontendParametersCable::Modulation::Auto && ocable.modulation != eDVBFrontendParametersCable::Modulation::Auto)
+ diff = 1 << 29;
+ else if (cable.inversion != ocable.inversion && cable.inversion != eDVBFrontendParametersCable::Inversion::Unknown && ocable.inversion != eDVBFrontendParametersCable::Inversion::Unknown)
+ diff = 1 << 28;
+ else
+ {
+ diff = abs(cable.frequency - ocable.frequency);
+ diff += abs(cable.symbol_rate - ocable.symbol_rate);
+ }
return 0;
case iDVBFrontend::feTerrestrial: