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
This commit is contained in:
Sebastian Dröge 2016-11-17 20:20:15 +02:00
parent 0064e338a2
commit 8644352155

View file

@ -1452,7 +1452,8 @@ gst_video_aggregator_check_reconfigure (GstVideoAggregator * vagg,
ret = gst_video_aggregator_update_src_caps (vagg); ret = gst_video_aggregator_update_src_caps (vagg);
if (!ret) { 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; guint64 frame_duration;
gint fps_d, fps_n; gint fps_d, fps_n;
@ -1482,7 +1483,10 @@ gst_video_aggregator_check_reconfigure (GstVideoAggregator * vagg,
vagg->priv->nframes++; vagg->priv->nframes++;
return GST_FLOW_NEEDS_DATA; return GST_FLOW_NEEDS_DATA;
} else { } 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;
} }
} }
} }