From e32fa21071f99c25c1ed3f842c21d6efb79b8476 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Fri, 9 Dec 2011 10:01:16 +0100 Subject: [PATCH] basesrc: stop when negotiation fails --- libs/gst/base/gstbasesrc.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libs/gst/base/gstbasesrc.c b/libs/gst/base/gstbasesrc.c index 0386a7fb09..ee05abda84 100644 --- a/libs/gst/base/gstbasesrc.c +++ b/libs/gst/base/gstbasesrc.c @@ -2450,7 +2450,7 @@ gst_base_src_loop (GstPad * pad) /* check if we need to renegotiate */ if (gst_pad_check_reconfigure (pad)) { if (!gst_base_src_negotiate (src)) - GST_DEBUG_OBJECT (src, "Failed to renegotiate"); + goto not_negotiated; } GST_LIVE_LOCK (src); @@ -2607,6 +2607,12 @@ done: return; /* special cases */ +not_negotiated: + { + GST_DEBUG_OBJECT (src, "Failed to renegotiate"); + ret = GST_FLOW_NOT_NEGOTIATED; + goto pause; + } flushing: { GST_DEBUG_OBJECT (src, "we are flushing");