From 8644352155f1d47d5a77e441cde5909fa8e49343 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 17 Nov 2016 20:20:15 +0200 Subject: [PATCH] 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 --- gst-libs/gst/video/gstvideoaggregator.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gst-libs/gst/video/gstvideoaggregator.c b/gst-libs/gst/video/gstvideoaggregator.c index cd42d7ed2c..d1e4c90cc9 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; } } }