diff options
author | Edward Hervey <edward@centricular.com> | 2020-05-05 15:19:49 +0200 |
---|---|---|
committer | GStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org> | 2020-09-25 05:02:05 +0000 |
commit | aaa9018437ec6b2c5312c9021bd2518ee6851128 (patch) | |
tree | 21f6ac95e20b44a209a343ac13d5b92baa384a9f | |
parent | c4074a2a0feda5b0f6337d40f7b5febccfaef51a (diff) | |
download | gstreamer-plugins-good-aaa9018437ec6b2c5312c9021bd2518ee6851128.tar.gz |
slitmuxsrc: Properly stop the loop if not part reader is present
Previously this would end up in a refcounting loop of hell.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/741>
-rw-r--r-- | gst/multifile/gstsplitmuxsrc.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gst/multifile/gstsplitmuxsrc.c b/gst/multifile/gstsplitmuxsrc.c index 9a80dde25..e2216fcc7 100644 --- a/gst/multifile/gstsplitmuxsrc.c +++ b/gst/multifile/gstsplitmuxsrc.c @@ -737,7 +737,11 @@ gst_splitmux_pad_loop (GstPad * pad) GST_OBJECT_LOCK (splitpad); if (splitpad->part_pad == NULL) { + GST_DEBUG_OBJECT (splitmux, + "Pausing task because part reader is not present"); GST_OBJECT_UNLOCK (splitpad); + gst_pad_pause_task (pad); + gst_object_unref (splitmux); return; } part_pad = gst_object_ref (splitpad->part_pad); |