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/5460>
This commit is contained in:
Guillaume Desmottes 2023-10-11 14:47:33 +02:00 committed by GStreamer Marge Bot
parent bcfbdfbbca
commit a56aabc773

View file

@ -1700,7 +1700,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,