Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gst-plugins-bad gst-plugins-bad
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 984
    • Issues 984
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 129
    • Merge requests 129
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GStreamer
  • gst-plugins-badgst-plugins-bad
  • Merge requests
  • !1193

mpegtsdemux: Don't pretend doing NAL alignment

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Nicolas Dufresne requested to merge ndufresne/gst-plugins-bad:mpegts-fix-h264-alignment into master Apr 13, 2020
  • Overview 17
  • Commits 1
  • Pipelines 6
  • Changes 1

Per specification in 2.14.2 "For PES packetization, no specific data alignment constraints apply". So we should not advertise NAL alignment.

This bug was introduced at the same moment the alignment field was introduced 10 years ago. The plan was that alignment=none (or no alignment field) was to be used for mpegtsdemux, but no one noticed the error. The reason is that at the same moment, everything dealing with H264 started defaulting to AU alignment.

https://bugzilla.gnome.org/show_bug.cgi?id=606662#c22

This patch will have a side effect that a parser is now needed after the tsdemux element. The following pipeline will not negotiate anymore as the mpegtsmux element requires alignment={nal,au}.

      ... ! tsdemux ! mpegtsmux ! ...

As a side effect, anyone that forked from tsdemux should updated their code to fix this bug.

Edited Apr 14, 2020 by Nicolas Dufresne
Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: mpegts-fix-h264-alignment