diff --git a/gst/playback/gstplaybin2.c b/gst/playback/gstplaybin2.c index 032bd20c94..d32746afb3 100644 --- a/gst/playback/gstplaybin2.c +++ b/gst/playback/gstplaybin2.c @@ -4080,7 +4080,7 @@ autoplug_select_cb (GstElement * decodebin, GstPad * pad, } static gboolean -autoplug_query_cb (GstElement * uridecodebin, GstPad * pad, GstQuery * query, +autoplug_query_caps (GstElement * uridecodebin, GstPad * pad, GstQuery * query, GstSourceGroup * group) { GstCaps *filter, *result = NULL; @@ -4090,9 +4090,6 @@ autoplug_query_cb (GstElement * uridecodebin, GstPad * pad, GstQuery * query, gint i, n; gboolean have_audio_sink = FALSE, have_video_sink = FALSE; - if (GST_QUERY_TYPE (query) != GST_QUERY_CAPS) - return FALSE; - gst_query_parse_caps (query, &filter); GST_SOURCE_GROUP_LOCK (group); @@ -4243,6 +4240,19 @@ done: return TRUE; } +static gboolean +autoplug_query_cb (GstElement * uridecodebin, GstPad * pad, GstQuery * query, + GstSourceGroup * group) +{ + + switch (GST_QUERY_TYPE (query)) { + case GST_QUERY_CAPS: + return autoplug_query_caps (uridecodebin, pad, query, group); + default: + return FALSE; + } +} + static void notify_source_cb (GstElement * uridecodebin, GParamSpec * pspec, GstSourceGroup * group)