basesrc: set NEED_RECONFIGURE flag if negotiate fails
authorNiv Sardi <xaiki@evilgiggle.com>
Fri, 18 Jan 2013 00:43:25 +0000 (21:43 -0300)
committerWim Taymans <wim.taymans@collabora.co.uk>
Thu, 24 Jan 2013 08:21:01 +0000 (09:21 +0100)
When negotiation fails, mark the pad as needing a reconfigure again so
that it gets picked up again next time.

Signed-off-by: Niv Sardi <xaiki@evilgiggle.com>
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691986

libs/gst/base/gstbasesrc.c

index acc665f..b83762c 100644 (file)
@@ -2577,8 +2577,10 @@ gst_base_src_loop (GstPad * pad)
 
   /* check if we need to renegotiate */
   if (gst_pad_check_reconfigure (pad)) {
-    if (!gst_base_src_negotiate (src))
+    if (!gst_base_src_negotiate (src)) {
+      gst_pad_mark_reconfigure (pad);
       goto not_negotiated;
+    }
   }
 
   GST_LIVE_LOCK (src);