From d802c7395aad52aaaa593f5578811c8766437cca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 15 May 2013 17:15:18 +0200 Subject: [PATCH] playback: Only do a subset filtering for the factories if we have fixed caps Otherwise we're plugging a parser/converter currently and have unfixed caps. --- gst/playback/gstdecodebin2.c | 2 +- gst/playback/gstplaybin2.c | 2 +- gst/playback/gsturidecodebin.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gst/playback/gstdecodebin2.c b/gst/playback/gstdecodebin2.c index 07516f89b9..8e8576884c 100644 --- a/gst/playback/gstdecodebin2.c +++ b/gst/playback/gstdecodebin2.c @@ -1373,7 +1373,7 @@ gst_decode_bin_autoplug_factories (GstElement * element, GstPad * pad, gst_decode_bin_update_factories_list (dbin); list = gst_element_factory_list_filter (dbin->factories, caps, GST_PAD_SINK, - TRUE); + gst_caps_is_fixed (caps)); g_mutex_unlock (&dbin->factories_lock); result = g_value_array_new (g_list_length (list)); diff --git a/gst/playback/gstplaybin2.c b/gst/playback/gstplaybin2.c index 608ada7861..032bd20c94 100644 --- a/gst/playback/gstplaybin2.c +++ b/gst/playback/gstplaybin2.c @@ -3599,7 +3599,7 @@ autoplug_factories_cb (GstElement * decodebin, GstPad * pad, gst_play_bin_update_elements_list (playbin); factory_list = gst_element_factory_list_filter (playbin->elements, caps, GST_PAD_SINK, - TRUE); + gst_caps_is_fixed (caps)); g_mutex_unlock (&playbin->elements_lock); GST_DEBUG_OBJECT (playbin, "found factories %p", factory_list); diff --git a/gst/playback/gsturidecodebin.c b/gst/playback/gsturidecodebin.c index b28461ee01..059326b0e7 100644 --- a/gst/playback/gsturidecodebin.c +++ b/gst/playback/gsturidecodebin.c @@ -334,7 +334,7 @@ gst_uri_decode_bin_autoplug_factories (GstElement * element, GstPad * pad, gst_uri_decode_bin_update_factories_list (dec); list = gst_element_factory_list_filter (dec->factories, caps, GST_PAD_SINK, - TRUE); + gst_caps_is_fixed (caps)); g_mutex_unlock (&dec->factories_lock); result = g_value_array_new (g_list_length (list));