From: Jaroslav Kysela Date: Mon, 12 Jun 2017 19:23:24 +0000 (+0200) Subject: descrambler: show the not available key for multipid X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=161df9958841ab8645a5440c8b35fb7cb926165f;p=thirdparty%2Ftvheadend.git descrambler: show the not available key for multipid --- diff --git a/src/descrambler.h b/src/descrambler.h index d45003930..d38d18b85 100644 --- a/src/descrambler.h +++ b/src/descrambler.h @@ -81,6 +81,7 @@ typedef struct th_descrambler_key { uint8_t key_index; uint8_t key_valid; uint8_t key_changed; + tvhlog_limit_t key_loglimit; } th_descrambler_key_t; typedef struct th_descrambler_runtime { diff --git a/src/descrambler/descrambler.c b/src/descrambler/descrambler.c index 05492bf7d..554c13d10 100644 --- a/src/descrambler/descrambler.c +++ b/src/descrambler/descrambler.c @@ -1014,7 +1014,13 @@ descrambler_descramble ( service_t *t, goto dd_destroy; if (dr->dr_key_multipid) { tk = key_find_struct(dr, tk, tsb2, t); - if (tk == NULL) goto next; + if (tk == NULL) { + if (t->s_start_time + MAX(3000000, tk->key_interval) < mclk() && + tvhlog_limit(&dr->dr_loglimit_key, 10)) + tvhwarn(LS_DESCRAMBLER, "%s stream key[%d] is not available", + ((mpegts_service_t *)t)->s_dvb_svcname, tk->key_pid); + goto next; + } } now = mclk(); #ifdef DEBUG2