summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2015-02-20 12:34:11 +0200
committerSebastian Dröge <sebastian@centricular.com>2015-02-20 12:35:19 +0200
commit1dcd1a74792f0597580e8a3e0551674324719ae7 (patch)
tree9e2fb942fdf552f963407d0803bd1e1e0c167b99
parent7e39a51a5098fad0609d6721e813045c095c4cc5 (diff)
decodebin: Only consider non-parser factories for generating the post-parser capsfilter caps
Otherwise if there are multiple parsers we would most likely break negotiation of the stream-format/alignment wanted by the decoders as parsers generally support all possible stream-formats and alignments.
-rw-r--r--gst/playback/gstdecodebin2.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gst/playback/gstdecodebin2.c b/gst/playback/gstdecodebin2.c
index cf52cd6ee..5544ee003 100644
--- a/gst/playback/gstdecodebin2.c
+++ b/gst/playback/gstdecodebin2.c
@@ -1715,7 +1715,9 @@ analyze_new_pad (GstDecodeBin * dbin, GstElement * src, GstPad * pad,
GST_DEBUG ("Trying factory %s",
gst_plugin_feature_get_name (GST_PLUGIN_FEATURE (factory)));
- if (gst_element_get_factory (src) == factory) {
+ if (gst_element_get_factory (src) == factory ||
+ gst_element_factory_list_is_type (factory,
+ GST_ELEMENT_FACTORY_TYPE_PARSER)) {
GST_DEBUG ("Skipping factory");
continue;
}