git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix possible crash on task abort and work with new getCD return value
[enigma2.git]
/
lib
/
dvb
/
sec.cpp
diff --git
a/lib/dvb/sec.cpp
b/lib/dvb/sec.cpp
index 0f2069c1128bd793a2520ddb0858001c496a71a1..c1caa3801f596f33e3b2d918751ee90c1d21327b 100644
(file)
--- a/
lib/dvb/sec.cpp
+++ b/
lib/dvb/sec.cpp
@@
-128,6
+128,7
@@
eDVBSatelliteEquipmentControl::eDVBSatelliteEquipmentControl(eSmartPtrList<eDVBR
int eDVBSatelliteEquipmentControl::canTune(const eDVBFrontendParametersSatellite &sat, iDVBFrontend *fe, int slot_id, int *highest_score_lnb)
{
bool simulate = ((eDVBFrontend*)fe)->is_simulate();
int eDVBSatelliteEquipmentControl::canTune(const eDVBFrontendParametersSatellite &sat, iDVBFrontend *fe, int slot_id, int *highest_score_lnb)
{
bool simulate = ((eDVBFrontend*)fe)->is_simulate();
+ bool direct_connected = m_not_linked_slot_mask & slot_id;
int score=0, satcount=0;
if (highest_score_lnb)
int score=0, satcount=0;
if (highest_score_lnb)
@@
-153,7
+154,6
@@
int eDVBSatelliteEquipmentControl::canTune(const eDVBFrontendParametersSatellite
if ( sit != lnb_param.m_satellites.end())
{
bool diseqc=false;
if ( sit != lnb_param.m_satellites.end())
{
bool diseqc=false;
- bool direct_connected = m_not_linked_slot_mask & slot_id;
long band=0,
linked_prev_ptr=-1,
linked_next_ptr=-1,
long band=0,
linked_prev_ptr=-1,
linked_next_ptr=-1,
@@
-268,12
+268,6
@@
int eDVBSatelliteEquipmentControl::canTune(const eDVBFrontendParametersSatellite
eSecDebugNoSimulate("ret4 %d", ret);
}
eSecDebugNoSimulate("ret4 %d", ret);
}
- if (ret && rotor && curRotorPos != -1 && direct_connected) {
- ret -= abs(curRotorPos-sat.orbital_position);
- }
-
- eSecDebugNoSimulate("ret5 %d", ret);
-
if (ret)
if (satpos_depends_ptr != -1)
{
if (ret)
if (satpos_depends_ptr != -1)
{
@@
-286,9
+280,14
@@
int eDVBSatelliteEquipmentControl::canTune(const eDVBFrontendParametersSatellite
if (!rotor || curRotorPos != sat.orbital_position)
ret=0;
}
if (!rotor || curRotorPos != sat.orbital_position)
ret=0;
}
- eSecDebugNoSimulate("ret
6
%d", ret);
+ eSecDebugNoSimulate("ret
5
%d", ret);
}
}
+ if (ret && rotor && curRotorPos != -1 && (direct_connected || satpos_depends_ptr == -1) ) // direct conntected or loopthrough!
+ ret -= abs(curRotorPos-sat.orbital_position);
+
+ eSecDebugNoSimulate("ret6 %d", ret);
+
if (ret)
{
int lof = sat.frequency > lnb_param.m_lof_threshold ?
if (ret)
{
int lof = sat.frequency > lnb_param.m_lof_threshold ?
@@
-311,7
+310,7
@@
int eDVBSatelliteEquipmentControl::canTune(const eDVBFrontendParametersSatellite
}
if (score && satcount)
score -= (satcount-1);
}
if (score && satcount)
score -= (satcount-1);
- if (score &&
m_not_linked_slot_mask & slot_i
d)
+ if (score &&
direct_connecte
d)
score += 5; // increase score for tuners with direct sat connection
eSecDebugNoSimulate("final score %d", score);
return score;
score += 5; // increase score for tuners with direct sat connection
eSecDebugNoSimulate("final score %d", score);
return score;