diff options
| author | Stefan Pluecken <stefan.pluecken@multimedia-labs.de> | 2006-02-25 04:54:02 +0000 |
|---|---|---|
| committer | Stefan Pluecken <stefan.pluecken@multimedia-labs.de> | 2006-02-25 04:54:02 +0000 |
| commit | ffd007cb4f71a3c9f7d69339126cbe69f6b4ee63 (patch) | |
| tree | f8f21346422ad97672b2473f91463e9e82d91729 /lib | |
| parent | 714488394a5c552b175f69682ac2001f8f1b6345 (diff) | |
| download | enigma2-ffd007cb4f71a3c9f7d69339126cbe69f6b4ee63.tar.gz enigma2-ffd007cb4f71a3c9f7d69339126cbe69f6b4ee63.zip | |
correct calculation of differences for cable params
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/dvb/frontend.cpp | 11 |
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: |
