flvmux: Release pads via GstAggregator
authorSebastian Dröge <sebastian@centricular.com>
Sun, 1 Nov 2020 08:30:27 +0000 (10:30 +0200)
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Mon, 2 Nov 2020 08:46:21 +0000 (08:46 +0000)
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/797

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/801>

gst/flv/gstflvmux.c

index 9e45b1d..69e8864 100644 (file)
@@ -781,9 +781,10 @@ static void
 gst_flv_mux_release_pad (GstElement * element, GstPad * pad)
 {
   GstFlvMux *mux = GST_FLV_MUX (element);
-  GstFlvMuxPad *flvpad = GST_FLV_MUX_PAD (pad);
+  GstFlvMuxPad *flvpad = GST_FLV_MUX_PAD (gst_object_ref (pad));
+
+  GST_ELEMENT_CLASS (gst_flv_mux_parent_class)->release_pad (element, pad);
 
-  gst_pad_set_active (pad, FALSE);
   gst_flv_mux_reset_pad (flvpad);
 
   if (flvpad == mux->video_pad) {
@@ -794,7 +795,7 @@ gst_flv_mux_release_pad (GstElement * element, GstPad * pad)
     GST_WARNING_OBJECT (pad, "Pad is not known audio or video pad");
   }
 
-  gst_element_remove_pad (element, pad);
+  gst_object_unref (flvpad);
 }
 
 static GstFlowReturn