decodebin: Also make sure to not duplicate an element factory after a group

If we are using an adaptive stream demuxer, which outputs a non-container
stream, we are putting another multiqueue after the *parser* following
the adaptive stream demuxer. We do not want to add another instance of
the same parser right after this multiqueue.
This commit is contained in:
Sebastian Dröge 2014-02-21 09:43:38 +01:00
parent 41117606dd
commit f149c27a61

View file

@ -1993,6 +1993,15 @@ connect_pad (GstDecodeBin * dbin, GstElement * src, GstDecodePad * dpad,
break;
}
}
if (!skip && chain->parent && chain->parent->parent) {
GstDecodeChain *parent_chain = chain->parent->parent;
GstDecodeElement *pelem =
parent_chain->elements ? parent_chain->elements->data : NULL;
if (pelem && gst_element_get_factory (pelem->element) == factory)
skip = TRUE;
}
CHAIN_MUTEX_UNLOCK (chain);
if (skip) {
GST_DEBUG_OBJECT (dbin,