From: Jaroslav Kysela Date: Wed, 14 Mar 2018 12:43:27 +0000 (+0100) Subject: satip client: fix the switch to 'all' subcribed pids when max pids number is crossed... X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f8c68ecdb480a1d7e5c587a97f95747c6e74d155;p=thirdparty%2Ftvheadend.git satip client: fix the switch to 'all' subcribed pids when max pids number is crossed, fixes #5002 --- diff --git a/src/input/mpegts/satip/satip_frontend.c b/src/input/mpegts/satip/satip_frontend.c index 706ae0941..861aa2612 100644 --- a/src/input/mpegts/satip/satip_frontend.c +++ b/src/input/mpegts/satip/satip_frontend.c @@ -1065,7 +1065,7 @@ satip_frontend_pid_changed( http_client_t *rtsp, satip_tune_req_t *tr; satip_device_t *sd = lfe->sf_device; char *setup = NULL, *add = NULL, *del = NULL; - int i, j, r, pid; + int i, j, r, pid, overlimit; int max_pids_len = sd->sd_pids_len; int max_pids_count = sd->sd_pids_max; mpegts_apids_t wpid, padd, pdel; @@ -1094,9 +1094,9 @@ all: tr->sf_pids_tuned.all || tr->sf_pids.count == 0) { - mpegts_pid_weighted(&wpid, &tr->sf_pids, max_pids_count); + overlimit = mpegts_pid_weighted(&wpid, &tr->sf_pids, max_pids_count); - if (wpid.count > max_pids_count && sd->sd_fullmux_ok) { + if (overlimit > 0 && sd->sd_fullmux_ok) { mpegts_pid_done(&wpid); goto all; }