From ba4b2c60dd2b92b60d1f1f28d3be4d17bb007f9a Mon Sep 17 00:00:00 2001 From: BPanther Date: Sat, 18 Jan 2020 11:36:58 +0100 Subject: [PATCH] vuplus: relevant pids routing Conflicts: src/neutrino.cpp src/system/settings.h src/zapit/include/zapit/zapit.h Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/9b5d99819bf959ddc4839b69af5d35008e9796ef Author: BPanther Date: 2020-01-18 (Sat, 18 Jan 2020) ------------------ This commit was generated by Migit --- data/locale/deutsch.locale | 1 + data/locale/english.locale | 1 + src/gui/cam_menu.cpp | 6 ++++++ src/neutrino.cpp | 27 +++++++++++++++------------ src/system/locals.h | 1 + src/system/locals_intern.h | 1 + src/system/settings.h | 9 +++++---- src/zapit/include/zapit/zapit.h | 3 ++- src/zapit/src/zapit.cpp | 2 ++ 9 files changed, 34 insertions(+), 17 deletions(-) diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index 6b15d0e82..6c22fecac 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -344,6 +344,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 6d2dd013a..3c27ce2b0 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -344,6 +344,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 0f204eb53..1a04b077f 100644 --- a/src/gui/cam_menu.cpp +++ b/src/gui/cam_menu.cpp @@ -158,6 +158,7 @@ int CCAMMenuHandler::doMainMenu() if(CiSlots) { #if BOXMODEL_VUPLUS 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)); #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 @@ -616,6 +617,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_delay %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 0ea0f5467..9faf29990 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -483,17 +483,18 @@ int CNeutrinoApp::loadSetup(const char * fname) 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); + g_settings.ci_clock = configfile.getInt32("ci_clock", 6); // TODO: for each slot #else - g_settings.ci_clock = configfile.getInt32("ci_clock", 9); + 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); - g_settings.ci_save_pincode = configfile.getInt32("ci_save_pincode", 0); + 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", ""); + 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 @@ -1478,14 +1479,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_clock", g_settings.ci_clock); // TODO: for each slot #if BOXMODEL_VUPLUS - configfile.setInt32("ci_delay", g_settings.ci_delay); + 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); - configfile.setInt32("ci_save_pincode", g_settings.ci_save_pincode); + 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); //NI configfile.setInt32("ci_mode", g_settings.ci_mode); //NI @@ -2744,9 +2746,10 @@ 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; + 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; diff --git a/src/system/locals.h b/src/system/locals.h index c0dc39b72..f7c3c91d1 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -371,6 +371,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 1fbfd571b..664fd351e 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -371,6 +371,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 8b6e96229..e38562f1b 100644 --- a/src/system/settings.h +++ b/src/system/settings.h @@ -285,17 +285,18 @@ struct SNeutrinoSettings int avsync; int clockrec; int ci_standby_reset; - int ci_clock; + 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; - int ci_save_pincode; + 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; //NI int ci_mode; //NI - std::string ci_pincode; + std::string ci_pincode; // TODO: for each slot int radiotext_enable; int webradio_xml_auto; int webtv_xml_auto; diff --git a/src/zapit/include/zapit/zapit.h b/src/zapit/include/zapit/zapit.h index 296681818..4128dd180 100644 --- a/src/zapit/include/zapit/zapit.h +++ b/src/zapit/include/zapit/zapit.h @@ -44,9 +44,10 @@ typedef struct ZAPIT_start_arg 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; diff --git a/src/zapit/src/zapit.cpp b/src/zapit/src/zapit.cpp index 14e0496a2..c11688721 100644 --- a/src/zapit/src/zapit.cpp +++ b/src/zapit/src/zapit.cpp @@ -2600,6 +2600,8 @@ bool CZapit::Start(Z_start_arg *ZapStart_arg) #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;