[Bug 774136] New: mpegtsmux: PES payload size overflow for unbounded video streams bigger than 65K per frame

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Nov 9 09:53:00 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=774136

            Bug ID: 774136
           Summary: mpegtsmux: PES payload size overflow for unbounded
                    video streams bigger than 65K per frame
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: Mac OS
            Status: NEW
          Severity: major
          Priority: Normal
         Component: gst-plugins-bad
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: milos.seleceni at comprimato.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Created attachment 339372
  --> https://bugzilla.gnome.org/attachment.cgi?id=339372&action=edit
PES payload size overflow for unbounded video streams 65K per frame

Hi, In mpegtsmux when dealing an unbounded video streams the PES packet payload
size should be 0. Every frame should be stored in single PES packet. Which is
also mentioned in tsmuxstream.c:tsmux_stream_consume()

In tsmuxstream.c:tsmux_stream_initialize_pes_packet()

at the beginning there is copy of the current PES payload size from 32bit
integer into 16 bit integer. When single video exceed 65K per frame the frame
size is lost due to overflow of cur_pes_payload_size variable, which is wrong.
Later the cur_pes_payload_size is used in loop for creating the PES packets

stream->cur_pes_payload_size = stream->bytes_avail;

bytes_avail correspond to the buffer size or the video frame size, and it
should be 32 bit instead of 16

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list