X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/6bfb37ae9c010c866900239281d345efcdd611bd..967664233fc4ce992405a0e86e0c6cd594dfba57:/lib/dvb/sec.cpp diff --git a/lib/dvb/sec.cpp b/lib/dvb/sec.cpp index e8c6b479..1ec1d5a2 100644 --- a/lib/dvb/sec.cpp +++ b/lib/dvb/sec.cpp @@ -1,14 +1,23 @@ +#include #include +#if HAVE_DVB_API_VERSION < 3 +#include +#else #include +#endif #include DEFINE_REF(eDVBSatelliteEquipmentControl); -eDVBSatelliteEquipmentControl::eDVBSatelliteEquipmentControl(): ref(0) +eDVBSatelliteEquipmentControl::eDVBSatelliteEquipmentControl() { } +#if HAVE_DVB_API_VERSION < 3 +RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FrontendParameters &parm, eDVBFrontendParametersSatellite &sat) +#else RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, struct dvb_frontend_parameters &parm, eDVBFrontendParametersSatellite &sat) +#endif { int hi; eDebug("(very) ugly and hardcoded eDVBSatelliteEquipmentControl"); @@ -19,24 +28,43 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, struct dvb hi = 0; if (hi) +#if HAVE_DVB_API_VERSION < 3 + parm.Frequency = sat.frequency - 10600000; +#else parm.frequency = sat.frequency - 10600000; +#endif else +#if HAVE_DVB_API_VERSION < 3 + parm.Frequency = sat.frequency - 9750000; +#else parm.frequency = sat.frequency - 9750000; +#endif // frontend.sentDiseqc(...); +#if HAVE_DVB_API_VERSION < 3 + parm.Inversion = (!sat.inversion) ? INVERSION_ON : INVERSION_OFF; +#else parm.inversion = (!sat.inversion) ? INVERSION_ON : INVERSION_OFF; +#endif switch (sat.fec) { // case 1: // case ...: default: +#if HAVE_DVB_API_VERSION < 3 + parm.u.qpsk.FEC_inner = FEC_AUTO; +#else parm.u.qpsk.fec_inner = FEC_AUTO; +#endif break; } +#if HAVE_DVB_API_VERSION < 3 + parm.u.qpsk.SymbolRate = sat.symbol_rate; +#else parm.u.qpsk.symbol_rate = sat.symbol_rate; - +#endif frontend.setVoltage((sat.polarisation == eDVBFrontendParametersSatellite::Polarisation::Vertical) ? iDVBFrontend::voltage13 : iDVBFrontend::voltage18); @@ -56,7 +84,7 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, struct dvb frontend.sendDiseqc(diseqc); frontend.setTone(hi ? iDVBFrontend::toneOn : iDVBFrontend::toneOff); - + return 0; }