Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gst-plugins-base gst-plugins-base
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 641
    • Issues 641
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 80
    • Merge requests 80
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and 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
  • GStreamerGStreamer
  • gst-plugins-basegst-plugins-base
  • Issues
  • #756
Closed
Open
Issue created May 21, 2020 by Sebastian Dröge@slomo🍵Owner

decodebin3: Limiting buffer size to the interleave is too strict for streams with frame reordering

decodebin3 tries (very successfully) to keep the amount of buffering as minimal as possible, and as close to the interleave as possible. This however has problems with frame reordering: the decoder would need more frames than the container interleave before it can output something. Not having enough buffering would cause the pipeline to never pre-roll then.

In theory this could be gotten from the decoders if they report the latency correctly, but latency reporting is optional in non-live pipelines so that also can't be relied upon.

The same problem would also happen if a decoder decides to not output frames for other reasons (e.g. they're too corrupted). With ffmpeg we get that information quite reliable, with other decoders not so much (OMX 😱 )

See gst-plugins-rs#116 (comment 505785)

Edited May 21, 2020 by Sebastian Dröge
Assignee
Assign to
Time tracking