playbin: Refactor autoplug-query handling a bit

This commit is contained in:
Sebastian Dröge 2013-05-28 11:05:21 +02:00
parent 15a0bb0a10
commit db8d53bc17

View file

@ -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)