isCompatible with can now handle all frontend types
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>
Thu, 24 Nov 2005 21:45:55 +0000 (21:45 +0000)
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>
Thu, 24 Nov 2005 21:45:55 +0000 (21:45 +0000)
lib/dvb/frontend.cpp

index 092549d..a05963c 100644 (file)
@@ -1017,14 +1017,16 @@ RESULT eDVBFrontend::setData(int num, int val)
 
 int eDVBFrontend::isCompatibleWith(ePtr<iDVBFrontendParameters> &feparm)
 {
-       if (m_type != eDVBFrontend::feSatellite)
-               return 1;
-
-       ASSERT(m_sec);
-
-       eDVBFrontendParametersSatellite sat_parm;
-
-       ASSERT(!feparm->getDVBS(sat_parm));
+       int type;
+       if (feparm->getSystem(type) || type != m_type)
+               return 0;
 
-       return m_sec->canTune(sat_parm, this, 1 << m_fe);
+       if (m_type == eDVBFrontend::feSatellite)
+       {
+               ASSERT(m_sec);
+               eDVBFrontendParametersSatellite sat_parm;
+               ASSERT(!feparm->getDVBS(sat_parm));
+               return m_sec->canTune(sat_parm, this, 1 << m_fe);
+       }
+       return 1;
 }