decodebin2: Fix non-prerolling pipelines and not-linked errors if a parser is available but no decoder
Fixes bug #658846.
This commit is contained in:
parent
e574f58e71
commit
936e87cdcf
@ -1379,6 +1379,7 @@ analyze_new_pad (GstDecodeBin * dbin, GstElement * src, GstPad * pad,
|
|||||||
GstElementFactory *factory;
|
GstElementFactory *factory;
|
||||||
const gchar *classification;
|
const gchar *classification;
|
||||||
gboolean is_parser_converter = FALSE;
|
gboolean is_parser_converter = FALSE;
|
||||||
|
gboolean res;
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (dbin, "Pad %s:%s caps:%" GST_PTR_FORMAT,
|
GST_DEBUG_OBJECT (dbin, "Pad %s:%s caps:%" GST_PTR_FORMAT,
|
||||||
GST_DEBUG_PAD_NAME (pad), caps);
|
GST_DEBUG_PAD_NAME (pad), caps);
|
||||||
@ -1605,7 +1606,7 @@ analyze_new_pad (GstDecodeBin * dbin, GstElement * src, GstPad * pad,
|
|||||||
|
|
||||||
/* 1.h else continue autoplugging something from the list. */
|
/* 1.h else continue autoplugging something from the list. */
|
||||||
GST_LOG_OBJECT (pad, "Let's continue discovery on this pad");
|
GST_LOG_OBJECT (pad, "Let's continue discovery on this pad");
|
||||||
connect_pad (dbin, src, dpad, pad, caps, factories, chain);
|
res = connect_pad (dbin, src, dpad, pad, caps, factories, chain);
|
||||||
|
|
||||||
/* Need to unref the capsfilter srcpad here if
|
/* Need to unref the capsfilter srcpad here if
|
||||||
* we inserted a capsfilter */
|
* we inserted a capsfilter */
|
||||||
@ -1615,6 +1616,9 @@ analyze_new_pad (GstDecodeBin * dbin, GstElement * src, GstPad * pad,
|
|||||||
gst_object_unref (dpad);
|
gst_object_unref (dpad);
|
||||||
g_value_array_free (factories);
|
g_value_array_free (factories);
|
||||||
|
|
||||||
|
if (!res)
|
||||||
|
goto unknown_type;
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
expose_pad:
|
expose_pad:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user