descrambler: show "cannot decode packets" message as error once a time

This commit is contained in:
Jaroslav Kysela 2014-08-08 17:28:27 +02:00
parent 03b1993ed4
commit 0d14b8b716
2 changed files with 9 additions and 2 deletions

View file

@ -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;

View file

@ -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);
}