diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index 309fdda79..f53f527f6 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -322,6 +322,7 @@ ci.rec_zapto Umschalten bei Aufnahmen mit CAM ci.removed CAM entfernt -> Slot ci.reset Reset ci.reset_standby Reset nach Standby +ci.rpr Relevant PIDs Routing ci.save_pincode Jugendschutz-PIN speichern ci.settings Zugangskontrolle ci.timeout CAM antwortet nicht diff --git a/data/locale/english.locale b/data/locale/english.locale index 0f75a0e05..bf979863e 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -322,6 +322,7 @@ ci.rec_zapto Zap when recording needs CAM ci.removed CAM removed from slot ci.reset Reset ci.reset_standby Reset after standby +ci.rpr Relevant PIDs routing ci.save_pincode Save pincode ci.settings Conditional access ci.timeout Timeout waiting CI menu ready diff --git a/src/gui/cam_menu.cpp b/src/gui/cam_menu.cpp index f7cce9862..f4d237d05 100644 --- a/src/gui/cam_menu.cpp +++ b/src/gui/cam_menu.cpp @@ -157,6 +157,7 @@ int CCAMMenuHandler::doMainMenu() if(CiSlots) { #if BOXMODEL_VUPLUS //FIXME: loacles not available cammenu->addItem(new CMenuOptionChooser(LOCALE_CI_DELAY, &g_settings.ci_delay, CI_DELAY_OPTIONS, CI_DELAY_OPTION_COUNT, true, this)); + cammenu->addItem(new CMenuOptionChooser(LOCALE_CI_RPR, &g_settings.ci_rpr, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, this)); #endif cammenu->addItem(new CMenuOptionChooser(LOCALE_CI_RESET_STANDBY, &g_settings.ci_standby_reset, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true)); #if HAVE_ARM_HARDWARE || HAVE_MIPS_HARDWARE @@ -615,6 +616,11 @@ bool CCAMMenuHandler::changeNotify(const neutrino_locale_t OptionName, void * Da ca->SetCIDelay(g_settings.ci_delay); return true; } + else if (ARE_LOCALES_EQUAL(OptionName, LOCALE_CI_RPR)) { + printf("CCAMMenuHandler::changeNotify: ci_rpr %d\n", g_settings.ci_rpr); + ca->SetCIRelevantPidsRouting(g_settings.ci_rpr); + return true; + } else #endif if (ARE_LOCALES_EQUAL(OptionName, LOCALE_CI_CLOCK)) { diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 699a5c1c0..ee1427bda 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -449,7 +449,7 @@ int CNeutrinoApp::loadSetup(const char * fname) #if VIDEOMENU_VIDEOMODE_OPTION_COUNT > 3 g_settings.enabled_video_modes[3] = 1; // 720p 50Hz g_settings.enabled_video_modes[4] = 1; // 1080i 50Hz - + g_settings.enabled_video_modes[9] = 1; // 720p 60Hz #endif for(int i = 0; i < VIDEOMENU_VIDEOMODE_OPTION_COUNT; i++) { @@ -457,28 +457,32 @@ int CNeutrinoApp::loadSetup(const char * fname) g_settings.enabled_auto_modes[i] = configfile.getInt32(cfg_key, 1); } +#ifdef CPU_FREQ g_settings.cpufreq = configfile.getInt32("cpufreq", 0); g_settings.standby_cpufreq = configfile.getInt32("standby_cpufreq", 100); - - g_settings.ci_standby_reset = configfile.getInt32("ci_standby_reset", 0); -#if HAVE_ARM_HARDWARE || HAVE_MIPS_HARDWARE - g_settings.ci_clock = configfile.getInt32("ci_clock", 6); #else - g_settings.ci_clock = configfile.getInt32("ci_clock", 9); -#endif - g_settings.ci_ignore_messages = configfile.getInt32("ci_ignore_messages", 0); - g_settings.ci_save_pincode = configfile.getInt32("ci_save_pincode", 0); - g_settings.ci_check_live = configfile.getInt32("ci_check_live", 0); - g_settings.ci_pincode = configfile.getString("ci_pincode", ""); - g_settings.ci_tuner = configfile.getInt32("ci_tuner", -1); - g_settings.ci_rec_zapto = configfile.getInt32("ci_rec_zapto", 0); - g_settings.ci_mode = configfile.getInt32("ci_mode", 0); - -#ifndef CPU_FREQ g_settings.cpufreq = 0; g_settings.standby_cpufreq = 50; #endif + g_settings.ci_standby_reset = configfile.getInt32("ci_standby_reset", 0); +#if HAVE_ARM_HARDWARE || HAVE_MIPS_HARDWARE + g_settings.ci_clock = configfile.getInt32("ci_clock", 6); // TODO: for each slot +#else + g_settings.ci_clock = configfile.getInt32("ci_clock", 9); // TODO: for each slot +#endif +#if BOXMODEL_VUPLUS + g_settings.ci_delay = configfile.getInt32("ci_delay", 256); + g_settings.ci_rpr = configfile.getInt32("ci_rpr", 0); // TODO: for each slot +#endif + g_settings.ci_ignore_messages = configfile.getInt32("ci_ignore_messages", 0); // TODO: for each slot + g_settings.ci_save_pincode = configfile.getInt32("ci_save_pincode", 0); // TODO: for each slot + g_settings.ci_check_live = configfile.getInt32("ci_check_live", 0); + g_settings.ci_pincode = configfile.getString("ci_pincode", ""); // TODO: for each slot + g_settings.ci_tuner = configfile.getInt32("ci_tuner", -1); + g_settings.ci_rec_zapto = configfile.getInt32("ci_rec_zapto", 0); //NI + g_settings.ci_mode = configfile.getInt32("ci_mode", 0); //NI + g_settings.make_hd_list = configfile.getInt32("make_hd_list", 0); g_settings.make_webtv_list = configfile.getInt32("make_webtv_list", 1); g_settings.make_webradio_list = configfile.getInt32("make_webradio_list", 1); @@ -506,6 +510,10 @@ int CNeutrinoApp::loadSetup(const char * fname) g_settings.hdd_sleep = configfile.getInt32( "hdd_sleep", 120); g_settings.hdd_noise = configfile.getInt32( "hdd_noise", 254); g_settings.hdd_statfs_mode = configfile.getInt32( "hdd_statfs_mode", SNeutrinoSettings::HDD_STATFS_RECORDING); + //g_settings.hdd_format_on_mount_failed = configfile.getInt32( "hdd_format_on_mount_failed", 0); + //g_settings.hdd_wakeup = configfile.getInt32( "hdd_wakeup", 1); + //g_settings.hdd_wakeup_msg = configfile.getInt32( "hdd_wakeup_msg", 1); + //g_settings.hdd_allow_set_recdir = configfile.getInt32( "hdd_allow_set_recdir", 1); g_settings.shutdown_real = false; if (g_info.hw_caps->can_shutdown) @@ -1329,7 +1337,6 @@ void CNeutrinoApp::saveSetup(const char * fname) //internet radio configfile.setInt32("inetradio_autostart" , g_settings.inetradio_autostart); - #ifdef ENABLE_LCD4LINUX configfile.setInt32("lcd4l_support" , g_settings.lcd4l_support); configfile.setString("lcd4l_logodir" , g_settings.lcd4l_logodir); @@ -1392,11 +1399,15 @@ void CNeutrinoApp::saveSetup(const char * fname) configfile.setInt32( "standby_cpufreq", g_settings.standby_cpufreq); configfile.setInt32("ci_standby_reset", g_settings.ci_standby_reset); - configfile.setInt32("ci_clock", g_settings.ci_clock); - configfile.setInt32("ci_ignore_messages", g_settings.ci_ignore_messages); - configfile.setInt32("ci_save_pincode", g_settings.ci_save_pincode); + configfile.setInt32("ci_clock", g_settings.ci_clock); // TODO: for each slot +#if BOXMODEL_VUPLUS + configfile.setInt32("ci_delay", g_settings.ci_delay); // TODO: for each slot + configfile.setInt32("ci_rpr", g_settings.ci_rpr); // TODO: for each slot +#endif + configfile.setInt32("ci_ignore_messages", g_settings.ci_ignore_messages); // TODO: for each slot + configfile.setInt32("ci_save_pincode", g_settings.ci_save_pincode); // TODO: for each slot configfile.setInt32("ci_check_live", g_settings.ci_check_live); - configfile.setString("ci_pincode", g_settings.ci_pincode); + configfile.setString("ci_pincode", g_settings.ci_pincode); // TODO: for each slot configfile.setInt32("ci_tuner", g_settings.ci_tuner); configfile.setInt32("ci_rec_zapto", g_settings.ci_rec_zapto); configfile.setInt32("ci_mode", g_settings.ci_mode); @@ -1522,6 +1533,7 @@ void CNeutrinoApp::saveSetup(const char * fname) configfile.setString( "network_ntpserver", g_settings.network_ntpserver); configfile.setString( "network_ntprefresh", g_settings.network_ntprefresh); configfile.setBool( "network_ntpenable", g_settings.network_ntpenable); + //configfile.setBool( "network_ntpatboot", g_settings.network_ntpatboot); configfile.setString("ifname", g_settings.ifname); @@ -1632,6 +1644,8 @@ void CNeutrinoApp::saveSetup(const char * fname) int webtv_count = 0; for (std::list::iterator it = g_settings.webtv_xml.begin(); it != g_settings.webtv_xml.end(); ++it) { std::string k = "webtv_xml_" + to_string(webtv_count); + if (webtvsetup.webtv_xml_autodir((*it))) + continue; configfile.setString(k, *it); webtv_count++; } @@ -2612,7 +2626,13 @@ TIMER_START(); snprintf(start_text, sizeof(start_text), g_Locale->getText(LOCALE_NEUTRINO_STARTING), PACKAGE_NAME, PACKAGE_VERSION ); start_text[99] = '\0'; CHintBox * hintBox = new CHintBox(LOCALE_MESSAGEBOX_INFO, start_text); - hintBox->paint(); + + // show startlogo + bool startlogo = false; + if (!show_startwizard) + startlogo = true; + else + hintBox->paint(); CVFD::getInstance()->init(neutrinoFonts->fontDescr.filename.c_str(), neutrinoFonts->fontDescr.name.c_str()); CVFD::getInstance()->Clear(); @@ -2638,7 +2658,11 @@ TIMER_START(); ZapStart_arg.startchannelradio_id = g_settings.startchannelradio_id; ZapStart_arg.uselastchannel = g_settings.uselastchannel; ZapStart_arg.video_mode = g_settings.video_Mode; - ZapStart_arg.ci_clock = g_settings.ci_clock; + ZapStart_arg.ci_clock = g_settings.ci_clock; // TODO: for each slot +#if BOXMODEL_VUPLUS + ZapStart_arg.ci_delay = g_settings.ci_delay; // TODO: for each slot + ZapStart_arg.ci_rpr = g_settings.ci_rpr; // TODO: for each slot +#endif ZapStart_arg.volume = g_settings.hdmi_cec_volume ? 85 : g_settings.current_volume; ZapStart_arg.webtv_xml = &g_settings.webtv_xml; ZapStart_arg.webradio_xml = &g_settings.webradio_xml; @@ -2672,7 +2696,7 @@ TIMER_START(); g_videoSettings->setVideoSettings(); // show start logo - bool startlogo = frameBuffer->showFrame("start.jpg"); + startlogo = frameBuffer->showFrame("start.jpg"); g_RCInput = new CRCInput(); diff --git a/src/system/locals.h b/src/system/locals.h index 09cf08907..0670b2405 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -349,6 +349,7 @@ typedef enum LOCALE_CI_REMOVED, LOCALE_CI_RESET, LOCALE_CI_RESET_STANDBY, + LOCALE_CI_RPR, LOCALE_CI_SAVE_PINCODE, LOCALE_CI_SETTINGS, LOCALE_CI_TIMEOUT, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index 45676759b..24043489e 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -349,6 +349,7 @@ const char * locale_real_names[] = "ci.removed", "ci.reset", "ci.reset_standby", + "ci.rpr", "ci.save_pincode", "ci.settings", "ci.timeout", diff --git a/src/system/settings.h b/src/system/settings.h index 69f7f5023..3e5ec7e06 100644 --- a/src/system/settings.h +++ b/src/system/settings.h @@ -284,14 +284,18 @@ struct SNeutrinoSettings int avsync; int clockrec; int ci_standby_reset; - int ci_clock; - int ci_ignore_messages; - int ci_save_pincode; + int ci_clock; // TODO: for each slot +#if BOXMODEL_VUPLUS + int ci_delay; + int ci_rpr; // TODO: for each slot +#endif + int ci_ignore_messages; // TODO: for each slot + int ci_save_pincode; // TODO: for each slot int ci_check_live; int ci_tuner; int ci_rec_zapto; int ci_mode; - std::string ci_pincode; + std::string ci_pincode; // TODO: for each slot int radiotext_enable; int webradio_xml_auto; int webtv_xml_auto; @@ -339,13 +343,13 @@ struct SNeutrinoSettings std::string network_ntpserver; std::string network_ntprefresh; int network_ntpenable; + //int network_ntpatboot; std::string ifname; std::list webtv_xml; std::list webradio_xml; std::list xmltv_xml; // see http://wiki.xmltv.org/ - //personalize enum PERSONALIZE_SETTINGS //settings.h { @@ -520,6 +524,7 @@ struct SNeutrinoSettings int recording_save_in_channeldir; int recording_zap_on_announce; int recording_slow_warning; + //int recording_fill_warning; int recording_startstop_msg; int shutdown_timer_record_type; std::vector timer_remotebox_ip; @@ -921,6 +926,10 @@ struct SNeutrinoSettings int hdd_fs; enum { HDD_STATFS_OFF = 0, HDD_STATFS_ALWAYS, HDD_STATFS_RECORDING }; int hdd_statfs_mode; + //int hdd_format_on_mount_failed; + //int hdd_wakeup; + //int hdd_wakeup_msg; + //int hdd_allow_set_recdir; int zap_cycle; int sms_channel; int sms_movie; diff --git a/src/zapit/include/zapit/zapit.h b/src/zapit/include/zapit/zapit.h index b36b9375e..4128dd180 100644 --- a/src/zapit/include/zapit/zapit.h +++ b/src/zapit/include/zapit/zapit.h @@ -38,13 +38,17 @@ typedef std::pair volume_map_range_ /* complete zapit start thread-parameters in a struct */ typedef struct ZAPIT_start_arg { - t_channel_id startchanneltv_id; - t_channel_id startchannelradio_id; - int uselastchannel; - int video_mode; - uint32_t osd_resolution; + t_channel_id startchanneltv_id; + t_channel_id startchannelradio_id; + int uselastchannel; + int video_mode; + uint32_t osd_resolution; int volume; - int ci_clock; + int ci_clock; // TODO: for each slot +#if BOXMODEL_VUPLUS + int ci_delay; + int ci_rpr; // TODO: for each slot +#endif std::list *webtv_xml; std::list *webradio_xml; } Z_start_arg; @@ -55,28 +59,28 @@ enum { }; typedef struct Zapit_config { - int writeChannelsNames; - int makeRemainingChannelsBouquet; - int saveLastChannel; - int rezapTimeout; - int fastZap; - int sortNames; - int scanPids; - int scanSDT; - int cam_ci; - int useGotoXX; - /* FE common */ - int feTimeout; - int feRetries; - int noSameFE; - int gotoXXLaDirection; - int gotoXXLoDirection; - double gotoXXLatitude; - double gotoXXLongitude; - int repeatUsals; - /* FE specific */ - int highVoltage; - int motorRotationSpeed; + int writeChannelsNames; + int makeRemainingChannelsBouquet; + int saveLastChannel; + int rezapTimeout; + int fastZap; + int sortNames; + int scanPids; + int scanSDT; + int cam_ci; + int useGotoXX; + /* FE common */ + int feTimeout; + int feRetries; + int noSameFE; + int gotoXXLaDirection; + int gotoXXLoDirection; + double gotoXXLatitude; + double gotoXXLongitude; + int repeatUsals; + /* FE specific */ + int highVoltage; + int motorRotationSpeed; } t_zapit_config; diff --git a/src/zapit/src/zapit.cpp b/src/zapit/src/zapit.cpp index ed8f77ace..97ebbb955 100644 --- a/src/zapit/src/zapit.cpp +++ b/src/zapit/src/zapit.cpp @@ -54,12 +54,11 @@ #include #include -#include + #if HAVE_COOL_HARDWARE #include #include #include -#include #endif #include @@ -88,7 +87,7 @@ int sig_delay = 2; // seconds between signal check /* the bouquet manager */ CBouquetManager *g_bouquetManager = NULL; -//int cam_ci = 2; // CA_INIT_SC 0 or CA_INIT_CI 1 or CA_INIT_BOTH 2 +//int cam_ci = 2; // CA_INIT_SC 0 or CA_INIT_CI 1 or CA_INIT_BOTH 2 cCA *ca = NULL; extern cDemux *pmtDemux; extern cVideo *videoDecoder; @@ -341,7 +340,7 @@ void CZapit::LoadSettings() config.noSameFE = configfile.getInt32("noSameFE", 0); config.highVoltage = configfile.getBool("highVoltage", 0); - config.gotoXXLatitude = strtod(configfile.getString("gotoXXLatitude", "0.0").c_str(), NULL); + config.gotoXXLatitude = strtod(configfile.getString("gotoXXLatitude", "0.0").c_str(), NULL); config.gotoXXLongitude = strtod(configfile.getString("gotoXXLongitude", "0.0").c_str(), NULL); config.gotoXXLaDirection = configfile.getInt32("gotoXXLaDirection", 1); config.gotoXXLoDirection = configfile.getInt32("gotoXXLoDirection", 0); @@ -454,7 +453,7 @@ audio_map_set_t * CZapit::GetSavedPids(const t_channel_id channel_id) bool CZapit::TuneChannel(CFrontend * frontend, CZapitChannel * channel, bool &transponder_change, bool send_event) { - if(channel == NULL || frontend == NULL) + if(channel == NULL || frontend == NULL) return false; transponder_change = frontend->setInput(channel, current_is_nvod); @@ -894,7 +893,7 @@ int CZapit::GetPidVolume(t_channel_id channel_id, int pid, bool ac3) if (percent < 0) { percent = ac3 ? volume_percent_ac3 : volume_percent_pcm; if ((channel_id == live_channel_id) && current_channel) { - for (int i = 0; i < current_channel->getAudioChannelCount(); i++) { + for (int i = 0; i < current_channel->getAudioChannelCount(); i++) { if (pid == current_channel->getAudioPid(i)) { percent = (current_channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::AC3 || current_channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::EAC3) ? @@ -1078,7 +1077,7 @@ bool CZapit::PrepareChannels() void CZapit::PrepareScan() { StopPlayBack(true); - pmt_stop_update_filter(&pmt_update_fd); + pmt_stop_update_filter(&pmt_update_fd); current_channel = 0; } @@ -1340,11 +1339,11 @@ bool CZapit::ParseCommand(CBasicMessage::Header &rmsg, int connfd) break; } - case CZapitMessages::CMD_GET_CHANNEL_NAME: { - t_channel_id requested_channel_id; - CZapitMessages::responseGetChannelName response; + case CZapitMessages::CMD_GET_CHANNEL_NAME: { + t_channel_id requested_channel_id; + CZapitMessages::responseGetChannelName response; VALGRIND_PARANOIA(response); - CBasicServer::receive_data(connfd, &requested_channel_id, sizeof(requested_channel_id)); + CBasicServer::receive_data(connfd, &requested_channel_id, sizeof(requested_channel_id)); response.name[0] = 0; CZapitChannel * channel = (requested_channel_id == 0) ? current_channel : CServiceManager::getInstance()->FindChannel(requested_channel_id); @@ -1352,14 +1351,14 @@ bool CZapit::ParseCommand(CBasicMessage::Header &rmsg, int connfd) strncpy(response.name, channel->getName().c_str(), CHANNEL_NAME_SIZE-1); response.name[CHANNEL_NAME_SIZE-1] = 0; } - CBasicServer::send_data(connfd, &response, sizeof(response)); - break; - } + CBasicServer::send_data(connfd, &response, sizeof(response)); + break; + } #if 0 - case CZapitMessages::CMD_IS_TV_CHANNEL: { - t_channel_id requested_channel_id; - CZapitMessages::responseGeneralTrueFalse response; - CBasicServer::receive_data(connfd, &requested_channel_id, sizeof(requested_channel_id)); + case CZapitMessages::CMD_IS_TV_CHANNEL: { + t_channel_id requested_channel_id; + CZapitMessages::responseGeneralTrueFalse response; + CBasicServer::receive_data(connfd, &requested_channel_id, sizeof(requested_channel_id)); /* if in doubt (i.e. unknown channel) answer yes */ response.status = true; @@ -1370,7 +1369,7 @@ bool CZapit::ParseCommand(CBasicMessage::Header &rmsg, int connfd) CBasicServer::send_data(connfd, &response, sizeof(response)); break; - } + } #endif case CZapitMessages::CMD_BQ_RESTORE: { //2004.08.02 g_bouquetManager->restoreBouquets(); @@ -1387,9 +1386,9 @@ bool CZapit::ParseCommand(CBasicMessage::Header &rmsg, int connfd) case CZapitMessages::CMD_REINIT_CHANNELS: { // Houdini: save actual channel to restore it later, old version's channel was set to scans.conf initial channel - t_channel_id cid= current_channel ? current_channel->getChannelID() : 0; + t_channel_id cid= current_channel ? current_channel->getChannelID() : 0; - PrepareChannels(); + PrepareChannels(); current_channel = CServiceManager::getInstance()->FindChannel(cid); ParsePatPmt(current_channel);//reinit pids @@ -1404,12 +1403,12 @@ bool CZapit::ParseCommand(CBasicMessage::Header &rmsg, int connfd) SendCmdReady(connfd); #endif DBG("[zapit] sending EVT_SERVICES_CHANGED\n"); - SendEvent(CZapitClient::EVT_SERVICES_CHANGED); + SendEvent(CZapitClient::EVT_SERVICES_CHANGED); live_fe->setTsidOnid(0); //ZapIt(live_channel_id, current_is_nvod); //SendEvent(CZapitClient::EVT_BOUQUETS_CHANGED); - break; - } + break; + } case CZapitMessages::CMD_SCANSTART: { int scan_mode; CBasicServer::receive_data(connfd, &scan_mode, sizeof(scan_mode)); @@ -1425,7 +1424,7 @@ bool CZapit::ParseCommand(CBasicMessage::Header &rmsg, int connfd) #if 0 case CZapitMessages::CMD_SETCONFIG: Zapit_config Cfg; - CBasicServer::receive_data(connfd, &Cfg, sizeof(Cfg)); + CBasicServer::receive_data(connfd, &Cfg, sizeof(Cfg)); SetConfig(&Cfg); break; case CZapitMessages::CMD_GETCONFIG: @@ -1443,7 +1442,7 @@ bool CZapit::ParseCommand(CBasicMessage::Header &rmsg, int connfd) #endif Rezap(); break; - case CZapitMessages::CMD_TUNE_TP: { + case CZapitMessages::CMD_TUNE_TP: { CBasicServer::receive_data(connfd, &TP, sizeof(TP)); sig_delay = 0; TP.feparams.inversion = INVERSION_AUTO; @@ -1453,7 +1452,7 @@ bool CZapit::ParseCommand(CBasicMessage::Header &rmsg, int connfd) //FIXME check scanProviders.size() ! t_satellite_position satellitePosition = scanProviders.begin()->first; printf("[zapit] tune to sat %s freq %d rate %d fec %d pol %d\n", name, TP.feparams.frequency, TP.feparams.symbol_rate, TP.feparams.fec_inner, TP.feparams.polarization); - live_fe->setInput(satellitePosition, TP.feparams.frequency, TP.feparams.polarization); + live_fe->setInput(satellitePosition, TP.feparams.frequency, TP.feparams.polarization); live_fe->driveToSatellitePosition(satellitePosition); } else if (CFrontend::isCable(TP.feparams.delsys)) { printf("[zapit] tune to cable %s freq %d rate %d fec %d\n", name, TP.feparams.frequency, TP.feparams.symbol_rate, TP.feparams.fec_inner); @@ -2576,7 +2575,7 @@ bool CZapit::Start(Z_start_arg *ZapStart_arg) if(ZapStart_arg->uselastchannel == 0){ live_channel_id = (currentMode & RADIO_MODE) ? ZapStart_arg->startchannelradio_id : ZapStart_arg->startchanneltv_id ; lastChannelRadio = ZapStart_arg->startchannelradio_id; - lastChannelTV = ZapStart_arg->startchanneltv_id; + lastChannelTV = ZapStart_arg->startchanneltv_id; } /* CA_INIT_CI or CA_INIT_SC or CA_INIT_BOTH */ @@ -2599,6 +2598,13 @@ bool CZapit::Start(Z_start_arg *ZapStart_arg) ca->SetTSClock(ZapStart_arg->ci_clock * 1000000); ca->Start(); +#if BOXMODEL_VUPLUS + //dvb wait delay for ci response + ca->SetCIDelay(ZapStart_arg->ci_delay); + /// relevant pids routing + ca->SetCIRelevantPidsRouting(ZapStart_arg->ci_rpr); +#endif + eventServer = new CEventServer; if (!zapit_server.prepare(ZAPIT_UDS_NAME)) { perror(ZAPIT_UDS_NAME); @@ -2646,10 +2652,6 @@ void CZapit::setMoviePlayer(bool enable) void CZapit::run() { -//if HAVE_SPARK_HARDWARE -#if 0 - bool v_stopped = false; -#endif set_threadname("zap:main"); printf("[zapit] starting... tid %ld\n", syscall(__NR_gettid)); @@ -2845,11 +2847,11 @@ bool CZapitSdtMonitor::Stop() void CZapitSdtMonitor::run() { time_t /*tstart,*/ tcur = 0, wtime = 0; - t_transport_stream_id transport_stream_id = 0; - t_original_network_id original_network_id = 0; - t_satellite_position satellitePosition = 0; - freq_id_t freq = 0; - transponder_id_t tpid = 0; + t_transport_stream_id transport_stream_id = 0; + t_original_network_id original_network_id = 0; + t_satellite_position satellitePosition = 0; + freq_id_t freq = 0; + transponder_id_t tpid = 0; set_threadname("zap:sdtmonitor"); //tstart = time(0);