flvmux: set the src segment position as running time

We were already converting the pad last timestamp to running time but
not the segment position.
This segment position is used by gst_aggregator_simple_get_next_time()
to compute the waiting time when aggregating.

Those waiting times were wrong in my live pipeline using the system
clock, resulting in the aggregator to never wait at all.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5465>
This commit is contained in:
Guillaume Desmottes 2023-10-11 14:47:33 +02:00 committed by Tim-Philipp Müller
parent f223ea076d
commit 81178eab42

View file

@ -1654,7 +1654,9 @@ gst_flv_mux_write_buffer (GstFlvMux * mux, GstFlvMuxPad * pad,
{
GstBuffer *tag;
GstFlowReturn ret;
GstClockTime pts = GST_BUFFER_PTS (buffer);
GstClockTime pts =
gst_flv_mux_segment_to_running_time (&GST_AGGREGATOR_PAD (pad)->segment,
GST_BUFFER_PTS (buffer));
GstClockTime duration = GST_BUFFER_DURATION (buffer);
GstClockTime dts =
gst_flv_mux_segment_to_running_time (&GST_AGGREGATOR_PAD (pad)->segment,