Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gstreamer gstreamer
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 938
    • Issues 938
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 440
    • Merge requests 440
  • 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
  • gstreamergstreamer
  • Issues
  • #563
Closed
Open
Issue created May 21, 2020 by Jan Schmidt@thaytanMaintainer

queue blocks on flush-start

I have a scenario with a dynamic pipeline, where I want to wake up a portion of a pipeline and disconnect it. To make that quicker, I push a flush-start event and catch it in a pad probe on the srcpad of a queue and drop it. The goal is to make everything upstream of that queue wake up, without disturbing the downstream portion.

The sinkpad handler for queue reacts to a flush-start event by forwarding (good) and then trying to stop the src pad task (bad). That means that when the flush-start event is dropped in the srcpad handler, the thread sending the event gets blocked indefinitely in the sink pad.

I need to think about this more, but filing this issue so I don't forget. I don't think it's as simple as saying that the queue should not wait on the srcpad task in this situation.

Assignee
Assign to
Time tracking