diff --git a/gst-libs/gst/pbutils/gstdiscoverer.c b/gst-libs/gst/pbutils/gstdiscoverer.c index b27f89a2a9..60e54127bb 100644 --- a/gst-libs/gst/pbutils/gstdiscoverer.c +++ b/gst-libs/gst/pbutils/gstdiscoverer.c @@ -701,6 +701,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", @@ -708,10 +712,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