From 0a2e026985d86abe92e24ef546cb81a2e4b7cc10 Mon Sep 17 00:00:00 2001 From: Alex Hoenig Date: Tue, 12 May 2020 10:55:45 -0400 Subject: [PATCH] mpegtsmux: detect and ignore gap buffers Fixes #1291. Without this, when a stream has gaps and then resumes, the next buffer PTS that is written to the TS is given the PTS of the first gap. Part-of: --- gst/mpegtsmux/gstbasetsmux.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gst/mpegtsmux/gstbasetsmux.c b/gst/mpegtsmux/gstbasetsmux.c index d40d5a6..a68af99 100644 --- a/gst/mpegtsmux/gstbasetsmux.c +++ b/gst/mpegtsmux/gstbasetsmux.c @@ -1076,6 +1076,12 @@ gst_base_ts_mux_aggregate_buffer (GstBaseTsMux * mux, GST_DEBUG_OBJECT (mux, "Pads collected"); + if (buf && gst_buffer_get_size (buf) == 0 + && GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_GAP)) { + gst_buffer_unref (buf); + return GST_FLOW_OK; + } + if (G_UNLIKELY (mux->first)) { ret = gst_base_ts_mux_create_streams (mux); if (G_UNLIKELY (ret != GST_FLOW_OK)) { -- 2.7.4