diff --git a/config.cpp b/config.cpp index e3cb9d2..296afd0 100644 --- a/config.cpp +++ b/config.cpp @@ -443,8 +443,8 @@ std::string satipConfig::getTuningData() switch (m_transmode) { case TRANSMISSION_MODE_2K: oss_data << "&tmode=2k"; break; - case TRANSMISSION_MODE_8K: oss_data << "&tmode=4k"; break; - case TRANSMISSION_MODE_4K: oss_data << "&tmode=8k"; break; + case TRANSMISSION_MODE_8K: oss_data << "&tmode=8k"; break; + case TRANSMISSION_MODE_4K: oss_data << "&tmode=4k"; break; case TRANSMISSION_MODE_1K: oss_data << "&tmode=1k"; break; case TRANSMISSION_MODE_16K: oss_data << "&tmode=16k"; break; case TRANSMISSION_MODE_32K: oss_data << "&tmode=32k"; break; diff --git a/main.cpp b/main.cpp index 5521e5a..9246dd3 100644 --- a/main.cpp +++ b/main.cpp @@ -115,10 +115,12 @@ int main(int argc, char** argv) signal(SIGINT, sigint_handler); signal(SIGTERM, sigint_handler); + signal(SIGKILL, sigint_handler); sessionManager* vtmng = sessionManager::getInstance(); - vtmng->satipStart(); - pause(); + int res = vtmng->satipStart(); + if (!res) + pause(); DEBUG(MSG_MAIN,"End MAIN\n"); diff --git a/manager.cpp b/manager.cpp index 8cec3ab..65216e7 100644 --- a/manager.cpp +++ b/manager.cpp @@ -45,21 +45,22 @@ sessionManager::~sessionManager() } } -void sessionManager::satipStart() +int sessionManager::satipStart() { - if (!m_satip_opt.isEmpty()) - { - std::map *data = m_satip_opt.getData(); + if (m_satip_opt.isEmpty()) + return -1; - for (std::map::iterator it(data->begin()); it!=data->end(); it++) + std::map *data = m_satip_opt.getData(); + for (std::map::iterator it(data->begin()); it!=data->end(); it++) + { + if (it->second.isAvailable()) { - if (it->second.isAvailable()) - { - DEBUG(MSG_MAIN, "try connect : [%d] type : %s, ip : %s, fe_type : %d\n", it->first, it->second.m_vtuner_type.c_str(), it->second.m_ipaddr.c_str(), it->second.m_fe_type); - satipSessionCreate(it->second.m_ipaddr.c_str(), it->second.m_fe_type, it->second.m_port.c_str(), &(it->second)); - } + DEBUG(MSG_MAIN, "try connect : [%d] type : %s, ip : %s, fe_type : %d\n", it->first, it->second.m_vtuner_type.c_str(), it->second.m_ipaddr.c_str(), it->second.m_fe_type); + satipSessionCreate(it->second.m_ipaddr.c_str(), it->second.m_fe_type, it->second.m_port.c_str(), &(it->second)); } } + + return 0; } int sessionManager::satipSessionCreate(const char* ipaddr, int fe_type, const char *port, vtunerOpt* settings) diff --git a/manager.h b/manager.h index b9ed293..d2dfa1f 100644 --- a/manager.h +++ b/manager.h @@ -43,7 +43,7 @@ class sessionManager sessionManager(); virtual ~sessionManager(); - void satipStart(); + int satipStart(); void sessionStart(); void sessionJoin(); void sessionStop(); diff --git a/vtuner.cpp b/vtuner.cpp index 215c168..91f56e5 100644 --- a/vtuner.cpp +++ b/vtuner.cpp @@ -187,7 +187,7 @@ int satipVtuner::openVtuner() FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO | FE_CAN_QAM_16 | FE_CAN_QAM_64 | FE_CAN_QPSK | FE_CAN_TRANSMISSION_MODE_AUTO | FE_CAN_GUARD_INTERVAL_AUTO | - FE_CAN_HIERARCHY_AUTO | FE_CAN_RECOVER); + FE_CAN_HIERARCHY_AUTO | FE_CAN_RECOVER | FE_CAN_2G_MODULATION); break; default: