Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/GStreamer/gst-plugins-good.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/gst
diff options
context:
space:
mode:
authorJan Schmidt <jan@centricular.com>2021-07-26 10:55:24 +0300
committerJan Schmidt <jan@centricular.com>2021-07-26 10:56:42 +0300
commit9499976fbb920038729ab64b49de565e3a778b07 (patch)
tree1da78809e269993a658b5a48e3681010832320b3 /gst
parentb50d3b9c9fa93af1dcf5162b3b2424209659c2bf (diff)
splitmuxsink: Fix some reference leaks in error cases.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1023>
Diffstat (limited to 'gst')
-rw-r--r--gst/multifile/gstsplitmuxsink.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gst/multifile/gstsplitmuxsink.c b/gst/multifile/gstsplitmuxsink.c
index b04085747..0d4a6a3f7 100644
--- a/gst/multifile/gstsplitmuxsink.c
+++ b/gst/multifile/gstsplitmuxsink.c
@@ -1946,6 +1946,8 @@ start_next_fragment (GstSplitMuxSink * splitmux, MqStreamCtx * ctx)
"Shutdown requested. Aborting fragment switch.");
GST_SPLITMUX_LOCK (splitmux);
GST_SPLITMUX_STATE_UNLOCK (splitmux);
+ gst_object_unref (muxer);
+ gst_object_unref (sink);
return GST_FLOW_FLUSHING;
}
@@ -2092,6 +2094,9 @@ start_next_fragment (GstSplitMuxSink * splitmux, MqStreamCtx * ctx)
return GST_FLOW_OK;
fail:
+ gst_object_unref (sink);
+ gst_object_unref (muxer);
+
GST_SPLITMUX_LOCK (splitmux);
GST_SPLITMUX_STATE_UNLOCK (splitmux);
GST_ELEMENT_ERROR (splitmux, RESOURCE, SETTINGS,
@@ -2101,6 +2106,8 @@ fail:
fail_output:
GST_ELEMENT_ERROR (splitmux, RESOURCE, SETTINGS,
("Could not start new output sink"), NULL);
+ gst_object_unref (sink);
+ gst_object_unref (muxer);
GST_SPLITMUX_LOCK (splitmux);
GST_SPLITMUX_STATE_UNLOCK (splitmux);
@@ -2110,6 +2117,8 @@ fail_output:
fail_muxer:
GST_ELEMENT_ERROR (splitmux, RESOURCE, SETTINGS,
("Could not start new muxer"), NULL);
+ gst_object_unref (sink);
+ gst_object_unref (muxer);
GST_SPLITMUX_LOCK (splitmux);
GST_SPLITMUX_STATE_UNLOCK (splitmux);