-C fixes for V1 drivers
[enigma2.git] / lib / dvb / frontend.cpp
index c7a475d2f10a221837cac6c72471b9a3b2ef98d2..9f19ada1154ea8800df886400420aa94fd59cbb1 100644 (file)
@@ -371,9 +371,11 @@ RESULT eDVBFrontendParameters::getHash(unsigned long &hash) const
        }
        case iDVBFrontend::feCable:
                hash = 0xFFFF0000;
+               hash |= (cable.frequency/1000)&0xFFFF;
                return 0;
        case iDVBFrontend::feTerrestrial:
                hash = 0xEEEE0000;
+               hash |= (terrestrial.frequency/1000)&0xFFFF;
                return 0;
        default:
                return -1;
@@ -867,7 +869,11 @@ void fillDictWithSatelliteData(ePyObject dict, const FRONTENDPARAMETERS &parm, e
 void fillDictWithCableData(ePyObject dict, const FRONTENDPARAMETERS &parm)
 {
        const char *tmp=0;
+#if HAVE_DVB_API_VERSION < 3
+       PutToDict(dict, "frequency", parm_frequency);
+#else
        PutToDict(dict, "frequency", parm_frequency/1000);
+#endif
        PutToDict(dict, "symbol_rate", parm_u_qam_symbol_rate);
        switch(parm_u_qam_fec_inner)
        {
@@ -1669,7 +1675,11 @@ RESULT eDVBFrontend::prepare_sat(const eDVBFrontendParametersSatellite &feparm,
 
 RESULT eDVBFrontend::prepare_cable(const eDVBFrontendParametersCable &feparm)
 {
+#if HAVE_DVB_API_VERSION < 3
+       parm_frequency = feparm.frequency;
+#else
        parm_frequency = feparm.frequency * 1000;
+#endif
        parm_u_qam_symbol_rate = feparm.symbol_rate;
        switch (feparm.modulation)
        {