diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2005-11-16 18:32:59 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2005-11-16 18:32:59 +0000 |
| commit | b69752cd17ee8011f72f878115ec378aae06bd80 (patch) | |
| tree | aef8512f02e0d169304bfbc78762e9a0614d0d07 /lib | |
| parent | e768f7667ec5da0e331725de8a582365358cf7e3 (diff) | |
| download | enigma2-b69752cd17ee8011f72f878115ec378aae06bd80.tar.gz enigma2-b69752cd17ee8011f72f878115ec378aae06bd80.zip | |
use frontend_id in prepare too
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/dvb/frontend.cpp | 4 | ||||
| -rw-r--r-- | lib/dvb/idvb.h | 2 | ||||
| -rw-r--r-- | lib/dvb/sec.cpp | 4 | ||||
| -rw-r--r-- | lib/dvb/sec.h | 2 |
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 |
