fix empty expressions in dvb list search
[enigma2.git] / lib / dvb / frontend.cpp
index 1fa3cafe4c398dea32049f637adb131ddbe96cc8..9ff1b27519ab01b92131e2f0715b56983be9e12f 100644 (file)
@@ -144,7 +144,7 @@ void eDVBFrontendParametersTerrestrial::set(const TerrestrialDeliverySystemDescr
        if (code_rate_LP > 4)
                code_rate_LP = FEC::fAuto;
        transmission_mode = descriptor.getTransmissionMode();
-       if (transmission_mode > 2)
+       if (transmission_mode > 1) // TM4k forced to auto
                transmission_mode = TransmissionMode::TMAuto;
        guard_interval = descriptor.getGuardInterval();
        if (guard_interval > 3)
@@ -292,7 +292,11 @@ RESULT eDVBFrontendParameters::getHash(unsigned long &hash) const
                return 0;
        }
        case iDVBFrontend::feCable:
+               hash = 0xFFFF0000;
+               return 0;
        case iDVBFrontend::feTerrestrial:
+               hash = 0xEEEE0000;
+               return 0;
        default:
                return -1;
        }
@@ -761,6 +765,9 @@ void fillDictWithTerrestrialData(PyObject *dict, const FRONTENDPARAMETERS &parm)
        case QAM_16:
                tmp = "QAM_16";
                break;
+       case QAM_64:
+               tmp = "QAM_64";
+               break;
        default:
        case QAM_AUTO:
                tmp = "QAM_AUTO";
@@ -1432,6 +1439,9 @@ RESULT eDVBFrontend::prepare_terrestrial(const eDVBFrontendParametersTerrestrial
        case eDVBFrontendParametersTerrestrial::Modulation::QAM16:
                parm_u_ofdm_constellation = QAM_16;
                break;
+       case eDVBFrontendParametersTerrestrial::Modulation::QAM64:
+               parm_u_ofdm_constellation = QAM_64;
+               break;
        default:
        case eDVBFrontendParametersTerrestrial::Modulation::Auto:
                parm_u_ofdm_constellation = QAM_AUTO;
@@ -1488,6 +1498,19 @@ RESULT eDVBFrontend::prepare_terrestrial(const eDVBFrontendParametersTerrestrial
                        parm_u_ofdm_hierarchy_information = HIERARCHY_AUTO;
                        break;
        }
+       switch (feparm.inversion)
+       {
+       case eDVBFrontendParametersTerrestrial::Inversion::On:
+               parm_inversion = INVERSION_ON;
+               break;
+       case eDVBFrontendParametersTerrestrial::Inversion::Off:
+               parm_inversion = INVERSION_OFF;
+               break;
+       default:
+       case eDVBFrontendParametersTerrestrial::Inversion::Unknown:
+               parm_inversion = INVERSION_AUTO;
+               break;
+       }
        return 0;
 }