tsmux: Skip empty buffers
authorVivia Nikolaidou <vivia@ahiru.eu>
Mon, 31 Jan 2022 14:13:32 +0000 (16:13 +0200)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Fri, 25 Feb 2022 21:29:43 +0000 (21:29 +0000)
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

index 9adf9a2..ea1e528 100644 (file)
@@ -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) {