From 0d14b8b71671d31df283e350d20e01c9c1197381 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Fri, 8 Aug 2014 17:28:27 +0200 Subject: [PATCH] descrambler: show "cannot decode packets" message as error once a time --- src/descrambler.h | 1 + src/descrambler/descrambler.c | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/descrambler.h b/src/descrambler.h index c5ba14a1..9bd2cda7 100755 --- a/src/descrambler.h +++ b/src/descrambler.h @@ -69,6 +69,7 @@ typedef struct th_descrambler_runtime { time_t dr_key_timestamp[2]; time_t dr_ecm_start; time_t dr_ecm_key_time; + time_t dr_last_err; sbuf_t dr_buf; loglimiter_t dr_loglimit_key; } th_descrambler_runtime_t; diff --git a/src/descrambler/descrambler.c b/src/descrambler/descrambler.c index 4d3b4f56..12cd0092 100755 --- a/src/descrambler/descrambler.c +++ b/src/descrambler/descrambler.c @@ -409,8 +409,14 @@ next2: */ if (dr->dr_buf.sb_ptr >= 3000 * 188) { sbuf_cut(&dr->dr_buf, 300 * 188); - tvhtrace("descrambler", "cannot decode packets for service \"%s\"", - ((mpegts_service_t *)t)->s_dvb_svcname); + if (dr->dr_last_err + 10 < dispatch_clock) { + dr->dr_last_err = dispatch_clock; + tvherror("descrambler", "cannot decode packets for service \"%s\"", + ((mpegts_service_t *)t)->s_dvb_svcname); + } else { + tvhtrace("descrambler", "cannot decode packets for service \"%s\"", + ((mpegts_service_t *)t)->s_dvb_svcname); + } } sbuf_append(&dr->dr_buf, tsb, 188); }