From 18f313d317267603ca42d87eadd9f9d3cc7f8624 Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Thu, 12 Jan 2023 11:52:21 -0300 Subject: [PATCH] ges: smart-mixer: Avoid video freeze on NLE stack changes Since we support "nested compositors"[0] we were not finalizing the pads_infos and thus not releasing the mixer pad on stack change, meaning that the following stacks were never prerolling. [0] https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2094 Part-of: --- subprojects/gst-editing-services/ges/ges-smart-video-mixer.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/subprojects/gst-editing-services/ges/ges-smart-video-mixer.c b/subprojects/gst-editing-services/ges/ges-smart-video-mixer.c index f3af748a47..758d36850b 100644 --- a/subprojects/gst-editing-services/ges/ges-smart-video-mixer.c +++ b/subprojects/gst-editing-services/ges/ges-smart-video-mixer.c @@ -341,6 +341,8 @@ _release_pad (GstElement * element, GstPad * pad) LOCK (element); g_hash_table_remove (GES_SMART_MIXER (element)->pads_infos, pad); g_hash_table_remove (GES_SMART_MIXER (element)->pads_infos, info->mixer_pad); + g_hash_table_remove (GES_SMART_MIXER (element)->pads_infos, + info->real_mixer_pad); peer = gst_pad_get_peer (pad); if (peer) { gst_pad_unlink (peer, pad);