Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gst-plugins-good gst-plugins-good
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 646
    • Issues 646
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 71
    • Merge requests 71
  • 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-goodgst-plugins-good
  • Issues
  • #789
Closed
Open
Issue created Sep 21, 2020 by Matthew Waters@ystreet🐨Maintainer

qtmux: cannot reliably wait to fix caps before the first buffer

Problem has to do with the aggregator design, the internal aggregator sink pad queue and around aggregator's delayed negotiation in general.

  1. Caps events are serialised so are pushed through the queue just like buffers.
  2. qtmux contains a hook at the start of the queue to reject caps changes once successfully set
  3. caps successfully set is decided in the src aggregator task

This is also racy-ish but qtmux will not output until all sink pads have caps so that is mitigated there.

Any attempt to move to fixing the caps at the generation of the first output buffer would introduce a race where the caps could make it into the sink event queue and then be rejected. This means that that input stream would not be muxed at all (or maybe even appear to hang) depending on timings with some scenarios.

Edited Sep 21, 2020 by Matthew Waters
Assignee
Assign to
Time tracking