diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index 274e77e1d..bae6f9f64 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -348,6 +348,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 75f0c4401..8ebd9b145 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -348,6 +348,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 536790fb7..f4c8f2c0d 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -4031,7 +4031,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 94037245a..26635b6c1 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -375,6 +375,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 914f727ea..d42fcc2d1 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -375,6 +375,7 @@ const char * locale_real_names[] = "ci.save_pincode", "ci.settings", "ci.timeout", + "ci.try_decode", "ci.tuner", "ci.use", "ci.waiting",