From 9c01ff64ab6190ad397f7ecd105eefefad671d88 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Mon, 29 Jan 2018 15:50:05 +0100 Subject: [PATCH] linuxdvb: fix the pid management (full mux to pid filter transition), fixes #4895 --- src/input/mpegts/linuxdvb/linuxdvb_frontend.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/input/mpegts/linuxdvb/linuxdvb_frontend.c b/src/input/mpegts/linuxdvb/linuxdvb_frontend.c index 0e75259c6..3deb6aef6 100644 --- a/src/input/mpegts/linuxdvb/linuxdvb_frontend.c +++ b/src/input/mpegts/linuxdvb/linuxdvb_frontend.c @@ -1334,6 +1334,8 @@ linuxdvb_update_pids ( linuxdvb_frontend_t *lfe, const char *name, linuxdvb_frontend_open_pid0(lfe, name, pids, pids_size, padd.pids[i].pid); mpegts_pid_done(&padd); mpegts_pid_done(&pdel); + mpegts_pid_done(tuned); + mpegts_pid_weighted(tuned, &lfe->lfe_pids, max); } } @@ -1342,8 +1344,6 @@ linuxdvb_update_pids ( linuxdvb_frontend_t *lfe, const char *name, else if (!all && linuxdvb_pid_exists(pids, pids_size, MPEGTS_FULLMUX_PID)) linuxdvb_frontend_close_pid0(lfe, name, pids, pids_size, MPEGTS_FULLMUX_PID); - mpegts_pid_done(tuned); - mpegts_pid_weighted(tuned, &lfe->lfe_pids, max); tuned->all = lfe->lfe_pids.all; pthread_mutex_unlock(&lfe->lfe_dvr_lock); -- 2.47.3