From: Sebastian Dröge Date: Thu, 17 Nov 2016 18:20:15 +0000 (+0200) Subject: videoaggregator: Mark pad as needing reconfiguration again if it failed X-Git-Tag: 1.19.3~511^2~1294^2~104 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8644352155f1d47d5a77e441cde5909fa8e49343;p=platform%2Fupstream%2Fgstreamer.git videoaggregator: Mark pad as needing reconfiguration again if it failed And return FLUSHING instead of NOT_NEGOTIATED on flushing pads. https://bugzilla.gnome.org/show_bug.cgi?id=774623 --- diff --git a/gst-libs/gst/video/gstvideoaggregator.c b/gst-libs/gst/video/gstvideoaggregator.c index cd42d7e..d1e4c90 100644 --- a/gst-libs/gst/video/gstvideoaggregator.c +++ b/gst-libs/gst/video/gstvideoaggregator.c @@ -1452,7 +1452,8 @@ gst_video_aggregator_check_reconfigure (GstVideoAggregator * vagg, ret = gst_video_aggregator_update_src_caps (vagg); if (!ret) { - if (timeout && gst_pad_needs_reconfigure (GST_AGGREGATOR_SRC_PAD (vagg))) { + gst_pad_mark_reconfigure (GST_AGGREGATOR_SRC_PAD (vagg)); + if (timeout) { guint64 frame_duration; gint fps_d, fps_n; @@ -1482,7 +1483,10 @@ gst_video_aggregator_check_reconfigure (GstVideoAggregator * vagg, vagg->priv->nframes++; return GST_FLOW_NEEDS_DATA; } else { - return GST_FLOW_NOT_NEGOTIATED; + if (GST_PAD_IS_FLUSHING (GST_AGGREGATOR_SRC_PAD (vagg))) + return GST_FLOW_FLUSHING; + else + return GST_FLOW_NOT_NEGOTIATED; } } }