aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2005-11-16 18:32:59 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2005-11-16 18:32:59 +0000
commitb69752cd17ee8011f72f878115ec378aae06bd80 (patch)
treeaef8512f02e0d169304bfbc78762e9a0614d0d07 /lib
parente768f7667ec5da0e331725de8a582365358cf7e3 (diff)
downloadenigma2-b69752cd17ee8011f72f878115ec378aae06bd80.tar.gz
enigma2-b69752cd17ee8011f72f878115ec378aae06bd80.zip
use frontend_id in prepare too
Diffstat (limited to 'lib')
-rw-r--r--lib/dvb/frontend.cpp4
-rw-r--r--lib/dvb/idvb.h2
-rw-r--r--lib/dvb/sec.cpp4
-rw-r--r--lib/dvb/sec.h2
4 files changed, 7 insertions, 5 deletions
diff --git a/lib/dvb/frontend.cpp b/lib/dvb/frontend.cpp
index 2cb1c7d9..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
@@ -919,5 +919,5 @@ int eDVBFrontend::isCompatibleWith(ePtr<iDVBFrontendParameters> &feparm)
ASSERT(!feparm->getDVBS(sat_parm));
- return m_sec->canTune(sat_parm, this, m_fe ? m_fe << 1 : 1);
+ return m_sec->canTune(sat_parm, this, m_fe ? 1 << m_fe : 1);
}
diff --git a/lib/dvb/idvb.h b/lib/dvb/idvb.h
index c57fae9a..f97022d5 100644
--- a/lib/dvb/idvb.h
+++ b/lib/dvb/idvb.h
@@ -352,7 +352,7 @@ public:
class iDVBSatelliteEquipmentControl: public iObject
{
public:
- virtual RESULT prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, eDVBFrontendParametersSatellite &sat)=0;
+ virtual RESULT prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, eDVBFrontendParametersSatellite &sat, int frontend_id)=0;
virtual int canTune(const eDVBFrontendParametersSatellite &feparm, iDVBFrontend *fe, int frontend_id)=0;
};
diff --git a/lib/dvb/sec.cpp b/lib/dvb/sec.cpp
index aaf459fb..972728ed 100644
--- a/lib/dvb/sec.cpp
+++ b/lib/dvb/sec.cpp
@@ -96,11 +96,13 @@ int eDVBSatelliteEquipmentControl::canTune(const eDVBFrontendParametersSatellite
return ret;
}
-RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, eDVBFrontendParametersSatellite &sat)
+RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, eDVBFrontendParametersSatellite &sat, int frontend_id)
{
for (int idx=0; idx <= m_lnbidx; ++idx )
{
eDVBSatelliteLNBParameters &lnb_param = m_lnbs[idx];
+ if (!(lnb_param.tuner_mask & frontend_id)) // lnb for correct tuner?
+ continue;
eDVBSatelliteDiseqcParameters &di_param = lnb_param.m_diseqc_parameters;
eDVBSatelliteRotorParameters &rotor_param = lnb_param.m_rotor_parameters;
diff --git a/lib/dvb/sec.h b/lib/dvb/sec.h
index 901e4e2e..816994c4 100644
--- a/lib/dvb/sec.h
+++ b/lib/dvb/sec.h
@@ -213,7 +213,7 @@ public:
#ifndef SWIG
DECLARE_REF(eDVBSatelliteEquipmentControl);
eDVBSatelliteEquipmentControl();
- RESULT prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, eDVBFrontendParametersSatellite &sat);
+ RESULT prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, eDVBFrontendParametersSatellite &sat, int frontend_id);
int canTune(const eDVBFrontendParametersSatellite &feparm, iDVBFrontend *, int frontend_id);
bool currentLNBValid() { return m_lnbidx > -1 && m_lnbidx < (int)(sizeof(m_lnbs) / sizeof(eDVBSatelliteLNBParameters)); }
#endif