From 3fe65ad854ff12be9fc63e0cfa7431959be85ee5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Fri, 21 Jul 2017 09:27:20 +0300 Subject: [PATCH] tsmux: Store PES payload size in a 32 bit integer While the size in the packet is only 16 bits, we need to handle bigger sizes without overflowing. For video streams this can happen, 0 is written to the stream instead. This fixes muxing of buffers >= 2**16. --- gst/mpegtsmux/tsmux/tsmuxstream.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst/mpegtsmux/tsmux/tsmuxstream.h b/gst/mpegtsmux/tsmux/tsmuxstream.h index 8befbe5f49..7edfb61ec2 100644 --- a/gst/mpegtsmux/tsmux/tsmuxstream.h +++ b/gst/mpegtsmux/tsmux/tsmuxstream.h @@ -184,9 +184,9 @@ struct TsMuxStream { /* optional fixed PES size for stream type */ guint16 pes_payload_size; /* current PES payload size being written */ - guint16 cur_pes_payload_size; + guint32 cur_pes_payload_size; /* ... of which already this much written */ - guint16 pes_bytes_written; + guint32 pes_bytes_written; /* PTS/DTS to write if the flags in the packet info are set */ /* in MPEG PTS clock time */