diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index c064bc1e9..8480c40f3 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -326,6 +326,7 @@ ci.rpr Relevant PIDs Routing ci.save_pincode Jugendschutz-PIN speichern ci.settings Zugangskontrolle ci.timeout CAM antwortet nicht +ci.try_decode Versuche CI-Kanal zu entschlüsseln ci.tuner Nutze CI nur mit Tuner: ci.use Erlaube CI ci.waiting Warte auf CAM-Antwort diff --git a/data/locale/english.locale b/data/locale/english.locale index a48dc6cd5..9576130b0 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -326,6 +326,7 @@ ci.rpr Relevant PIDs routing ci.save_pincode Save pincode ci.settings Conditional access ci.timeout Timeout waiting CI menu ready +ci.try_decode Try to decode CI channel ci.tuner Use CI only with tuner: ci.use Enable CI ci.waiting Waiting for CI answer diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 8e9123355..bbaa72c79 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -3924,7 +3924,26 @@ int CNeutrinoApp::handleMsg(const neutrino_msg_t _msg, neutrino_msg_data_t data) if(g_settings.ci_rec_zapto){ CZapitChannel * ch = CServiceManager::getInstance()->FindChannel(eventinfo->channel_id); if (ch && ch->bUseCI && (eventinfo->channel_id != live_channel_id)) + { zapTo(eventinfo->channel_id); + + CHintBox hintBox(LOCALE_MESSAGEBOX_INFO, LOCALE_CI_TRY_DECODE); + hintBox.paint(); + + int t = time_monotonic(); + while (videoDecoder->getBlank()) + { + usleep(100); + if (time_monotonic() - t > 15) + { + // can't decode channel within 15 seconds + break; + } + } + g_RCInput->clearRCMsg(); + + hintBox.hide(); + } } if (g_settings.recording_type != CNeutrinoApp::RECORDING_OFF) { CRecordManager::getInstance()->Record(eventinfo); diff --git a/src/system/locals.h b/src/system/locals.h index 453d23af3..7c9832e24 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -353,6 +353,7 @@ typedef enum LOCALE_CI_SAVE_PINCODE, LOCALE_CI_SETTINGS, LOCALE_CI_TIMEOUT, + LOCALE_CI_TRY_DECODE, LOCALE_CI_TUNER, LOCALE_CI_USE, LOCALE_CI_WAITING, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index 1cba3e4fe..90516612e 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -353,6 +353,7 @@ const char * locale_real_names[] = "ci.save_pincode", "ci.settings", "ci.timeout", + "ci.try_decode", "ci.tuner", "ci.use", "ci.waiting",