From db8d53bc17a2be13dded8e40e1c0f36b59b65094 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Tue, 28 May 2013 11:05:21 +0200 Subject: [PATCH] playbin: Refactor autoplug-query handling a bit --- gst/playback/gstplaybin2.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) 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)