[0.11] gst-plugins-base: decodebin2: Fix non-prerolling pipelines and not-linked errors if a parser is available but no decoder
Edward Hervey
bilboed at kemper.freedesktop.org
Fri Sep 23 09:41:13 PDT 2011
Module: gst-plugins-base
Branch: 0.11
Commit: 936e87cdcfe766c4ebf9186f722de1278dae950c
URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=936e87cdcfe766c4ebf9186f722de1278dae950c
Author: Sebastian Dröge <sebastian.droege at collabora.co.uk>
Date: Mon Sep 19 11:53:02 2011 +0200
decodebin2: Fix non-prerolling pipelines and not-linked errors if a parser is available but no decoder
Fixes bug #658846.
---
gst/playback/gstdecodebin2.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/gst/playback/gstdecodebin2.c b/gst/playback/gstdecodebin2.c
index 17f19f8..a1da6c5 100644
--- a/gst/playback/gstdecodebin2.c
+++ b/gst/playback/gstdecodebin2.c
@@ -1379,6 +1379,7 @@ analyze_new_pad (GstDecodeBin * dbin, GstElement * src, GstPad * pad,
GstElementFactory *factory;
const gchar *classification;
gboolean is_parser_converter = FALSE;
+ gboolean res;
GST_DEBUG_OBJECT (dbin, "Pad %s:%s caps:%" GST_PTR_FORMAT,
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. */
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
* we inserted a capsfilter */
@@ -1615,6 +1616,9 @@ analyze_new_pad (GstDecodeBin * dbin, GstElement * src, GstPad * pad,
gst_object_unref (dpad);
g_value_array_free (factories);
+ if (!res)
+ goto unknown_type;
+
return;
expose_pad:
More information about the gstreamer-commits
mailing list