From 094f9570b262a22148b54895a331818bc64155c9 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Mon, 19 May 2014 09:33:00 +0200 Subject: [PATCH] mpegts: remove assigned mux instances when the input adapter is deleted --- src/input/mpegts/mpegts_input.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/input/mpegts/mpegts_input.c b/src/input/mpegts/mpegts_input.c index f28264115..10e093c65 100644 --- a/src/input/mpegts/mpegts_input.c +++ b/src/input/mpegts/mpegts_input.c @@ -955,11 +955,21 @@ void mpegts_input_delete ( mpegts_input_t *mi, int delconf ) { mpegts_network_link_t *mnl; + mpegts_mux_instance_t *mmi, *mmi_next; /* Remove networks */ while ((mnl = LIST_FIRST(&mi->mi_networks))) mpegts_input_del_network(mnl); + /* Remove mux instances assigned to this input */ + mmi = LIST_FIRST(&mi->mi_mux_instances); + while (mmi) { + mmi_next = LIST_NEXT(mmi, mmi_input_link); + if (mmi->mmi_input == mi) + mmi->mmi_delete(mmi); + mmi = mmi_next; + } + /* Remove global refs */ idnode_unlink(&mi->ti_id); LIST_REMOVE(mi, ti_link); -- 2.47.2