use parent service reference for query EPG to build a .eit file when a parent is...
[enigma2.git] / lib / dvb / frontend.cpp
index 3e2efbe7cfba07752395815f4dda1fd353d992cd..5d991a474d60cc4671d04189c42c6354ea9e4fb1 100644 (file)
 #include <dvbsi++/cable_delivery_system_descriptor.h>
 #include <dvbsi++/terrestrial_delivery_system_descriptor.h>
 
-void eDVBDiseqcCommand::setData(const char *str)
+void eDVBDiseqcCommand::setCommandString(const char *str)
 {
+       if (!str)
+               return;
        len = strlen(str);
        if (len > MAX_DISEQC_LENGTH)
                len = MAX_DISEQC_LENGTH;
@@ -1452,6 +1454,8 @@ RESULT eDVBFrontend::tune(const iDVBFrontendParameters &where)
 {
        eDebug("(%d)tune", m_fe);
 
+       m_timeout->stop();
+
        int res=0;
 
        if (m_type == -1)
@@ -1481,7 +1485,10 @@ RESULT eDVBFrontend::tune(const iDVBFrontendParameters &where)
                        return -EINVAL;
                res=prepare_cable(feparm);
                if (!res)
+               {
+                       m_sec_sequence.push_back( eSecCommand(eSecCommand::START_TUNE_TIMEOUT) );
                        m_sec_sequence.push_back( eSecCommand(eSecCommand::SET_FRONTEND) );
+               }
                break;
        }
        case feTerrestrial:
@@ -1494,7 +1501,10 @@ RESULT eDVBFrontend::tune(const iDVBFrontendParameters &where)
                }
                res=prepare_terrestrial(feparm);
                if (!res)
+               {
+                       m_sec_sequence.push_back( eSecCommand(eSecCommand::START_TUNE_TIMEOUT) );
                        m_sec_sequence.push_back( eSecCommand(eSecCommand::SET_FRONTEND) );
+               }
                break;
        }
        }
@@ -1502,7 +1512,6 @@ RESULT eDVBFrontend::tune(const iDVBFrontendParameters &where)
        if (!res)  // prepare ok
        {
                m_tuneTimer->start(0,true);
-               m_timeout->stop();
                m_sec_sequence.current() = m_sec_sequence.begin();
 
                if (m_state != stateTuning)