diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2016-11-17 20:20:15 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2016-11-18 12:22:44 +0200 |
commit | db504c9ea5c2697f8bc29c19615b29c0c4ee3328 (patch) | |
tree | f87c57f2efee7d5a693cae589fbc482d7694e3b4 | |
parent | a1dc37b22b5eaea2b1cf469b84c01900de7c0cfa (diff) | |
download | gstreamer-plugins-bad-db504c9ea5c2697f8bc29c19615b29c0c4ee3328.tar.gz |
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
-rw-r--r-- | gst-libs/gst/video/gstvideoaggregator.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gst-libs/gst/video/gstvideoaggregator.c b/gst-libs/gst/video/gstvideoaggregator.c index cd42d7ed2..d1e4c90cc 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; } } } |