lib/dvb/sec.cpp: remove not needed satpos depends check when the tuner is linked...
authorghost <andreas.monzner@multimedia-labs.de>
Mon, 1 Mar 2010 21:58:54 +0000 (22:58 +0100)
committerghost <andreas.monzner@multimedia-labs.de>
Mon, 1 Mar 2010 21:58:54 +0000 (22:58 +0100)
this fixes bug #422 and https://www.dream-multimedia-tv.de/board/index.php?page=Thread&threadID=11843&highlight=

lib/dvb/sec.cpp

index 44cbe70..8b6bc49 100644 (file)
@@ -175,21 +175,6 @@ int eDVBSatelliteEquipmentControl::canTune(const eDVBFrontendParametersSatellite
                                        else
                                                ret += 15;
                                        eSecDebugNoSimulate("ret2 %d", ret);
                                        else
                                                ret += 15;
                                        eSecDebugNoSimulate("ret2 %d", ret);
-                                       if (ret) // special case when this tuner is linked to a satpos dependent tuner
-                                       {
-                                               fe->getData(eDVBFrontend::SATPOS_DEPENDS_PTR, satpos_depends_ptr);
-                                               if (satpos_depends_ptr != -1)
-                                               {
-                                                       eDVBRegisteredFrontend *satpos_depends_to_fe = (eDVBRegisteredFrontend*) satpos_depends_ptr;
-                                                       satpos_depends_to_fe->m_frontend->getData(eDVBFrontend::ROTOR_POS, rotor_pos);
-                                                       if (!rotor || rotor_pos == -1 /* we dont know the rotor position yet */
-                                                               || rotor_pos != sat.orbital_position ) // not the same orbital position?
-                                                       {
-                                                               ret = 0;
-                                                       }
-                                               }
-                                       }
-                                       eSecDebugNoSimulate("ret3 %d", ret);
                                }
                                else if (satpos_depends_ptr != -1)
                                {
                                }
                                else if (satpos_depends_ptr != -1)
                                {
@@ -215,8 +200,12 @@ int eDVBSatelliteEquipmentControl::canTune(const eDVBFrontendParametersSatellite
                                                        ret = 0;
                                                }
                                        }
                                                        ret = 0;
                                                }
                                        }
-                                       eSecDebugNoSimulate("ret4 %d", ret);
+                                       eSecDebugNoSimulate("ret3 %d", ret);
                                }
                                }
+                               else if (!direct_connected)
+                                       ret = 0;
+
+                               eSecDebugNoSimulate("ret4 %d", ret);
 
                                if (ret && rotor && rotor_pos != -1)
                                        ret -= abs(rotor_pos-sat.orbital_position);
 
                                if (ret && rotor && rotor_pos != -1)
                                        ret -= abs(rotor_pos-sat.orbital_position);