X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/714488394a5c552b175f69682ac2001f8f1b6345..ffd007cb4f71a3c9f7d69339126cbe69f6b4ee63:/lib/dvb/frontend.cpp 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: