From: Jaroslav Kysela Date: Mon, 19 May 2014 07:33:00 +0000 (+0200) Subject: mpegts: remove assigned mux instances when the input adapter is deleted X-Git-Tag: v4.1~2080 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=094f9570b262a22148b54895a331818bc64155c9;p=thirdparty%2Ftvheadend.git mpegts: remove assigned mux instances when the input adapter is deleted --- 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);