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.
This commit is contained in:
Sebastian Dröge 2013-05-15 17:15:18 +02:00
parent 062246fc6e
commit d802c7395a
3 changed files with 3 additions and 3 deletions

View file

@ -1373,7 +1373,7 @@ gst_decode_bin_autoplug_factories (GstElement * element, GstPad * pad,
gst_decode_bin_update_factories_list (dbin); gst_decode_bin_update_factories_list (dbin);
list = list =
gst_element_factory_list_filter (dbin->factories, caps, GST_PAD_SINK, gst_element_factory_list_filter (dbin->factories, caps, GST_PAD_SINK,
TRUE); gst_caps_is_fixed (caps));
g_mutex_unlock (&dbin->factories_lock); g_mutex_unlock (&dbin->factories_lock);
result = g_value_array_new (g_list_length (list)); result = g_value_array_new (g_list_length (list));

View file

@ -3599,7 +3599,7 @@ autoplug_factories_cb (GstElement * decodebin, GstPad * pad,
gst_play_bin_update_elements_list (playbin); gst_play_bin_update_elements_list (playbin);
factory_list = factory_list =
gst_element_factory_list_filter (playbin->elements, caps, GST_PAD_SINK, gst_element_factory_list_filter (playbin->elements, caps, GST_PAD_SINK,
TRUE); gst_caps_is_fixed (caps));
g_mutex_unlock (&playbin->elements_lock); g_mutex_unlock (&playbin->elements_lock);
GST_DEBUG_OBJECT (playbin, "found factories %p", factory_list); GST_DEBUG_OBJECT (playbin, "found factories %p", factory_list);

View file

@ -334,7 +334,7 @@ gst_uri_decode_bin_autoplug_factories (GstElement * element, GstPad * pad,
gst_uri_decode_bin_update_factories_list (dec); gst_uri_decode_bin_update_factories_list (dec);
list = list =
gst_element_factory_list_filter (dec->factories, caps, GST_PAD_SINK, gst_element_factory_list_filter (dec->factories, caps, GST_PAD_SINK,
TRUE); gst_caps_is_fixed (caps));
g_mutex_unlock (&dec->factories_lock); g_mutex_unlock (&dec->factories_lock);
result = g_value_array_new (g_list_length (list)); result = g_value_array_new (g_list_length (list));