mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 04:01:08 +00:00
parent
a82e99b093
commit
2da56de19f
1 changed files with 10 additions and 8 deletions
|
@ -2122,16 +2122,12 @@ connect_pad (GstDecodeBin * dbin, GstElement * src, GstDecodePad * dpad,
|
||||||
if (pelem && gst_element_get_factory (pelem->element) == factory)
|
if (pelem && gst_element_get_factory (pelem->element) == factory)
|
||||||
skip = TRUE;
|
skip = TRUE;
|
||||||
}
|
}
|
||||||
|
CHAIN_MUTEX_UNLOCK (chain);
|
||||||
|
|
||||||
if (skip) {
|
if (!skip && chain->elements) {
|
||||||
GST_DEBUG_OBJECT (dbin,
|
|
||||||
"Skipping factory '%s' because it was already used in this chain",
|
|
||||||
gst_plugin_feature_get_name (GST_PLUGIN_FEATURE_CAST (factory)));
|
|
||||||
CHAIN_MUTEX_UNLOCK (chain);
|
|
||||||
continue;
|
|
||||||
} else if (chain->elements) {
|
|
||||||
GstElementFactory *chainelemfact;
|
GstElementFactory *chainelemfact;
|
||||||
|
|
||||||
|
CHAIN_MUTEX_LOCK (chain);
|
||||||
delem = (GstDecodeElement *) chain->elements->data;
|
delem = (GstDecodeElement *) chain->elements->data;
|
||||||
chainelemfact = gst_element_get_factory (delem->element);
|
chainelemfact = gst_element_get_factory (delem->element);
|
||||||
|
|
||||||
|
@ -2146,9 +2142,15 @@ connect_pad (GstDecodeBin * dbin, GstElement * src, GstDecodePad * dpad,
|
||||||
CHAIN_MUTEX_UNLOCK (chain);
|
CHAIN_MUTEX_UNLOCK (chain);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
CHAIN_MUTEX_UNLOCK (chain);
|
||||||
|
}
|
||||||
|
if (skip) {
|
||||||
|
GST_DEBUG_OBJECT (dbin,
|
||||||
|
"Skipping factory '%s' because it was already used in this chain",
|
||||||
|
gst_plugin_feature_get_name (GST_PLUGIN_FEATURE_CAST (factory)));
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
CHAIN_MUTEX_UNLOCK (chain);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* emit autoplug-select to see what we should do with it. */
|
/* emit autoplug-select to see what we should do with it. */
|
||||||
|
|
Loading…
Reference in a new issue