Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
gst-plugins-base
gst-plugins-base
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 625
    • Issues 625
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 102
    • Merge Requests 102
  • 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
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • GStreamer
  • gst-plugins-basegst-plugins-base
  • Merge Requests
  • !932

Open
Opened Nov 19, 2020 by Edward Hervey@bilboed🤘Owner
  • Report abuse
Report abuse

decodebin3: Make input activation "atomic"

  • Overview 0
  • Commits 1
  • Pipelines 4
  • Changes 1

When adding inputs dynamically, we need to make sure the new parsebin are added and activated by the same thread (by taking the state change lock).

The rationale for this is that the calling thread might be an upstream streaming thread and when activating parsebin it might call back upstream. If we don't use the same thread (ex: when the application does a state change on decodebin3 between the moment we add parsebin to decodebin3 and we synchronize the state of parsebin) then we would end up in different threads trying to take upstream recursive locks.

Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Reference: gstreamer/gst-plugins-base!932
Source branch: decodebin3-atomic