From 7cebd5b359cab3148a53118f525d778763e6cabe Mon Sep 17 00:00:00 2001 From: Vivia Nikolaidou <vivia@ahiru.eu> Date: Mon, 31 Jan 2022 16:13:32 +0200 Subject: [PATCH] tsmux: Skip empty buffers They can be created e.g. by aggregator when there is a gap. Such buffers should not be muxed at all. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1611> --- subprojects/gst-plugins-bad/gst/mpegtsmux/gstbasetsmux.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/subprojects/gst-plugins-bad/gst/mpegtsmux/gstbasetsmux.c b/subprojects/gst-plugins-bad/gst/mpegtsmux/gstbasetsmux.c index 9adf9a2713..ea1e528dbe 100644 --- a/subprojects/gst-plugins-bad/gst/mpegtsmux/gstbasetsmux.c +++ b/subprojects/gst-plugins-bad/gst/mpegtsmux/gstbasetsmux.c @@ -1335,9 +1335,11 @@ gst_base_ts_mux_aggregate_buffer (GstBaseTsMux * mux, GST_DEBUG_OBJECT (mux, "delta: %d", delta); - stream_data = stream_data_new (buf); - tsmux_stream_add_data (best->stream, stream_data->map_info.data, - stream_data->map_info.size, stream_data, pts, dts, !delta); + if (gst_buffer_get_size (buf) > 0) { + stream_data = stream_data_new (buf); + tsmux_stream_add_data (best->stream, stream_data->map_info.data, + stream_data->map_info.size, stream_data, pts, dts, !delta); + } /* outgoing ts follows ts of PCR program stream */ if (prog->pcr_stream == best->stream) {