mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 06:54:49 +00:00
videoaggregator: Make sure to always update the pad's videoinfo together with buffers
Otherwise the videoinfo and the buffer content can go out of sync.
This commit is contained in:
parent
a64445e543
commit
ccd24a3577
1 changed files with 5 additions and 0 deletions
|
@ -987,6 +987,8 @@ gst_videoaggregator_fill_queues (GstVideoAggregator * vagg,
|
||||||
gst_buffer_unref (buf);
|
gst_buffer_unref (buf);
|
||||||
buf = gst_aggregator_pad_steal_buffer (bpad);
|
buf = gst_aggregator_pad_steal_buffer (bpad);
|
||||||
gst_buffer_replace (&pad->buffer, buf);
|
gst_buffer_replace (&pad->buffer, buf);
|
||||||
|
pad->buffer_vinfo = *vinfo;
|
||||||
|
/* FIXME: Set start_time and end_time to something here? */
|
||||||
gst_buffer_unref (buf);
|
gst_buffer_unref (buf);
|
||||||
GST_DEBUG_OBJECT (pad, "buffer duration is -1");
|
GST_DEBUG_OBJECT (pad, "buffer duration is -1");
|
||||||
continue;
|
continue;
|
||||||
|
@ -1063,6 +1065,9 @@ gst_videoaggregator_fill_queues (GstVideoAggregator * vagg,
|
||||||
eos = FALSE;
|
eos = FALSE;
|
||||||
} else {
|
} else {
|
||||||
gst_buffer_replace (&pad->buffer, buf);
|
gst_buffer_replace (&pad->buffer, buf);
|
||||||
|
pad->buffer_vinfo = *vinfo;
|
||||||
|
pad->priv->start_time = start_time;
|
||||||
|
pad->priv->end_time = end_time;
|
||||||
GST_DEBUG_OBJECT (pad,
|
GST_DEBUG_OBJECT (pad,
|
||||||
"replacing old buffer with a newer buffer, start %" GST_TIME_FORMAT
|
"replacing old buffer with a newer buffer, start %" GST_TIME_FORMAT
|
||||||
" out end %" GST_TIME_FORMAT, GST_TIME_ARGS (start_time),
|
" out end %" GST_TIME_FORMAT, GST_TIME_ARGS (start_time),
|
||||||
|
|
Loading…
Reference in a new issue