Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
gst-plugins-bad
gst-plugins-bad
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,025
    • Issues 1,025
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 200
    • Merge Requests 200
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GStreamer
  • gst-plugins-badgst-plugins-bad
  • Issues
  • #438

Closed
Open
Created Nov 09, 2016 by Bugzilla Migration User@bugzilla-migration

mpegtsmux: PES payload size overflow for unbounded video streams bigger than 65K per frame

Submitted by Milos Seleceni

Link to original bug (#774136)

Description

Created attachment 339372
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

Patch 339372, "PES payload size overflow for unbounded video streams 65K per frame":
mpegtsmux_fixed_PES_payoad_overflow.diff

Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None