X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/0d6533c82c3703b19af8afabe1121db1d9848a60..13b86c205e12d0237a8134e25b2d5e145ac01730:/lib/dvb/frontend.cpp diff --git a/lib/dvb/frontend.cpp b/lib/dvb/frontend.cpp index f2fc12b3..e5e83b42 100644 --- a/lib/dvb/frontend.cpp +++ b/lib/dvb/frontend.cpp @@ -379,7 +379,7 @@ RESULT eDVBFrontendParameters::calculateDifference(const iDVBFrontendParameters terrestrial.code_rate_HP != eDVBFrontendParametersTerrestrial::FEC_Auto) diff = 1 << 30; else - diff = abs(terrestrial.frequency - oterrestrial.frequency); + diff = abs(terrestrial.frequency - oterrestrial.frequency) / 1000; return 0; default: return -1; @@ -403,7 +403,7 @@ RESULT eDVBFrontendParameters::getHash(unsigned long &hash) const return 0; case iDVBFrontend::feTerrestrial: hash = 0xEEEE0000; - hash |= (terrestrial.frequency/1000)&0xFFFF; + hash |= (terrestrial.frequency/1000000)&0xFFFF; return 0; default: return -1; @@ -448,7 +448,7 @@ int eDVBFrontend::PriorityOrder=0; eDVBFrontend::eDVBFrontend(int adap, int fe, int &ok, bool simulate) :m_simulate(simulate), m_enabled(false), m_type(-1), m_dvbid(fe), m_slotid(fe) ,m_fd(-1), m_need_rotor_workaround(false), m_can_handle_dvbs2(false) - , m_timeout(0), m_tuneTimer(0) + ,m_state(stateClosed), m_timeout(0), m_tuneTimer(0) #if HAVE_DVB_API_VERSION < 3 ,m_secfd(-1) #endif @@ -477,7 +477,7 @@ eDVBFrontend::eDVBFrontend(int adap, int fe, int &ok, bool simulate) int eDVBFrontend::openFrontend() { - if (m_sn) + if (m_state != stateClosed) return -1; // already opened m_state=stateIdle; @@ -1349,7 +1349,7 @@ void eDVBFrontend::tuneLoop() // called by m_tuneTimer state = sec_fe->m_state; } // sec_fe is closed... we must reopen it here.. - if (state == eDVBFrontend::stateClosed) + if (state == stateClosed) { regFE = prev; prev->inc_use();