From 88dff5ddbb14beb3fb58c77fed46b5db95da05b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 6 May 2020 11:52:20 +0300 Subject: discoverer: Check sinkpad existence before retrieving caps Otherwise we would error out without releasing the caps first. Part-of: --- gst-libs/gst/pbutils/gstdiscoverer.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gst-libs/gst/pbutils/gstdiscoverer.c b/gst-libs/gst/pbutils/gstdiscoverer.c index 82052f719..ea4b00919 100644 --- a/gst-libs/gst/pbutils/gstdiscoverer.c +++ b/gst-libs/gst/pbutils/gstdiscoverer.c @@ -702,6 +702,10 @@ uridecodebin_pad_added_cb (GstElement * uridecodebin, GstPad * pad, g_object_set (ps->sink, "silent", TRUE, NULL); g_object_set (ps->queue, "max-size-buffers", 1, "silent", TRUE, NULL); + sinkpad = gst_element_get_static_pad (ps->queue, "sink"); + if (sinkpad == NULL) + goto error; + caps = gst_pad_get_current_caps (pad); if (!caps) { GST_WARNING ("Couldn't get negotiated caps from %s:%s", @@ -709,10 +713,6 @@ uridecodebin_pad_added_cb (GstElement * uridecodebin, GstPad * pad, caps = gst_pad_query_caps (pad, NULL); } - sinkpad = gst_element_get_static_pad (ps->queue, "sink"); - if (sinkpad == NULL) - goto error; - if (caps && !gst_caps_is_empty (caps) && !gst_caps_is_any (caps) && is_subtitle_caps (caps)) { /* Subtitle streams are sparse and may not provide any information - don't -- cgit v1.2.1