videoaggregator: fix gaps at end of streams.

When the pad has received EOS, its buffer may still be mixed
any number of times, when the pad's framerate is inferior
to the output framerate.

This was introduced by my patch in
https://bugzilla.gnome.org/show_bug.cgi?id=782962, this patch
also correctly addresses the initial issue.
This commit is contained in:
Mathieu Duponchelle 2017-04-11 01:18:51 +02:00
parent 08ac093b40
commit 0478773155

View file

@ -1219,16 +1219,16 @@ gst_video_aggregator_fill_queues (GstVideoAggregator * vagg,
if (pad->priv->end_time != -1) {
if (pad->priv->end_time <= output_start_running_time) {
pad->priv->start_time = pad->priv->end_time = -1;
if (is_eos) {
if (!is_eos) {
GST_DEBUG ("I just need more data");
need_more_data = TRUE;
} else {
gst_buffer_replace (&pad->buffer, NULL);
}
} else if (is_eos) {
eos = FALSE;
}
}
if (is_eos) {
} else if (is_eos) {
gst_buffer_replace (&pad->buffer, NULL);
}
}