X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/7427772dbd7bd10ad6d59801f4628552f5eac6ab..5d6aca12c38d3eee7a5d34f778c5ac93a5f6cd9f:/lib/dvb/frontend.cpp diff --git a/lib/dvb/frontend.cpp b/lib/dvb/frontend.cpp index 79b56e1e..13ae473b 100644 --- a/lib/dvb/frontend.cpp +++ b/lib/dvb/frontend.cpp @@ -633,7 +633,7 @@ RESULT eDVBFrontend::tune(const iDVBFrontendParameters &where) return -ENOENT; } - res = m_sec->prepare(*this, parm, feparm); + res = m_sec->prepare(*this, parm, feparm, m_fe ? 1 << m_fe : 1); if (res) return res; #if HAVE_DVB_API_VERSION < 3 @@ -908,7 +908,16 @@ RESULT eDVBFrontend::setData(int num, int val) return -EINVAL; } -int eDVBFrontend::isCompatibleWith(const eDVBChannelID &chid) +int eDVBFrontend::isCompatibleWith(ePtr &feparm) { - return 1; + if (m_type != eDVBFrontend::feSatellite) + return 1; + + ASSERT(m_sec); + + eDVBFrontendParametersSatellite sat_parm; + + ASSERT(!feparm->getDVBS(sat_parm)); + + return m_sec->canTune(sat_parm, this, m_fe ? 1 << m_fe : 1); }