after DECLARE_REF now all is private.. not public
[enigma2.git] / lib / dvb / sec.cpp
index 655f64fca0be73995c08d06c89fec0953e6544dd..9270a619ad7f45aeeccbe0e9aac13fa92a0f4730 100644 (file)
@@ -262,7 +262,7 @@ bool need_turn_fast(int turn_speed)
        {
                int begin = turn_speed >> 16; // high word is start time
                int end = turn_speed&0xFFFF; // low word is end time
-               time_t now_time = eDVBLocalTimeHandler::getInstance()->nowTime();
+               time_t now_time = ::time(0);
                tm nowTime;
                localtime_r(&now_time, &nowTime);
                int now = (nowTime.tm_hour + 1) * 60 + nowTime.tm_min + 1;
@@ -280,7 +280,7 @@ bool need_turn_fast(int turn_speed)
 
 #define VOLTAGE(x) (lnb_param.m_increased_voltage ? iDVBFrontend::voltage##x##_5 : iDVBFrontend::voltage##x)
 
-RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, const eDVBFrontendParametersSatellite &sat, int slot_id)
+RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, const eDVBFrontendParametersSatellite &sat, int slot_id, unsigned int tunetimeout)
 {
        for (int idx=0; idx <= m_lnbidx; ++idx )
        {
@@ -550,6 +550,7 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
                                                        for ( int i = 0; i < loops;)  // fill commands...
                                                        {
                                                                eDVBDiseqcCommand diseqc;
+                                                               memset(diseqc.data, 0, MAX_DISEQC_LENGTH);
                                                                diseqc.len = 4;
                                                                diseqc.data[0] = i ? 0xE1 : 0xE0;
                                                                diseqc.data[1] = 0x10;
@@ -637,6 +638,7 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
                                                        sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, m_params[DELAY_BETWEEN_SWITCH_AND_MOTOR_CMD]) ); // wait 700ms when diseqc changed
 
                                                eDVBDiseqcCommand diseqc;
+                                               memset(diseqc.data, 0, MAX_DISEQC_LENGTH);
                                                diseqc.len = 3;
                                                diseqc.data[0] = 0xE0;
                                                diseqc.data[1] = 0x31;  // positioner
@@ -786,7 +788,7 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
 
                        if (doSetFrontend)
                        {
-                               sec_sequence.push_back( eSecCommand(eSecCommand::START_TUNE_TIMEOUT) );
+                               sec_sequence.push_back( eSecCommand(eSecCommand::START_TUNE_TIMEOUT, tunetimeout) );
                                sec_sequence.push_back( eSecCommand(eSecCommand::SET_FRONTEND) );
                        }
                        frontend.setSecSequence(sec_sequence);