From 253035d395310b4a0aa6802a7f7844f866810626 Mon Sep 17 00:00:00 2001 From: Nicolas Dufresne Date: Thu, 21 Mar 2013 21:00:54 -0400 Subject: [PATCH] basesrc: Don't send error if negotiate fails because we are flushing Negotiation may be aborted by a flush from another thread that need to stop the task (i.e. seek). Check that case and silently pause the task. https://bugzilla.gnome.org/show_bug.cgi?id=696357 --- libs/gst/base/gstbasesrc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libs/gst/base/gstbasesrc.c b/libs/gst/base/gstbasesrc.c index 9aea2ce..ef9b154c 100644 --- a/libs/gst/base/gstbasesrc.c +++ b/libs/gst/base/gstbasesrc.c @@ -2581,7 +2581,10 @@ gst_base_src_loop (GstPad * pad) if (gst_pad_check_reconfigure (pad)) { if (!gst_base_src_negotiate (src)) { gst_pad_mark_reconfigure (pad); - goto negotiate_failed; + if (GST_PAD_IS_FLUSHING (pad)) + goto flushing; + else + goto negotiate_failed; } } -- 2.7.4