X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/259b27b6f2d5457569b6639d625f5da255a73413..f995ffff71d819416a89c1bec3ceb69d121daa4e:/lib/dvb/frontend.cpp diff --git a/lib/dvb/frontend.cpp b/lib/dvb/frontend.cpp index f75340d6..c8434c06 100644 --- a/lib/dvb/frontend.cpp +++ b/lib/dvb/frontend.cpp @@ -61,7 +61,7 @@ void eDVBFrontendParametersSatellite::set(const SatelliteDeliverySystemDescripto void eDVBFrontendParametersCable::set(const CableDeliverySystemDescriptor &descriptor) { - frequency = descriptor.getFrequency() * 10; + frequency = descriptor.getFrequency() / 10; symbol_rate = descriptor.getSymbolRate() * 100; fec_inner = descriptor.getFecInner(); if ( fec_inner == 0xF ) @@ -195,7 +195,22 @@ RESULT eDVBFrontendParameters::calculateDifference(const iDVBFrontendParameters return 0; } case iDVBFrontend::feCable: + eDVBFrontendParametersCable ocable; + if (parm->getDVBC(ocable)) + return -2; + + diff = abs(cable.frequency - ocable.frequency); + diff += abs(cable.symbol_rate - ocable.symbol_rate); + + return 0; case iDVBFrontend::feTerrestrial: + eDVBFrontendParametersTerrestrial oterrestrial; + if (parm->getDVBT(oterrestrial)) + return -2; + + diff = abs(terrestrial.frequency - oterrestrial.frequency); + + return 0; default: return -1; }