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 633
    • Issues 633
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 101
    • Merge Requests 101
  • 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
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GStreamer
  • gst-plugins-basegst-plugins-base
  • Merge Requests
  • !512

Merged
Opened Dec 06, 2019 by Ratchanan Srirattanamet@peat-psuwitContributor

audiobasesrc: always acquire if not acquired in _setcaps

  • Overview 8
  • Commits 1
  • Pipelines 12
  • Changes 1

audiobasesrc's setcaps contains an optimization that makes it not re- acquire the ringbuffer if the caps have not changed. However, it doesn't check if it has successfully acquired it or not. It's possible to have the caps set but not having ringbuffer acquired if the previous attempt to acquire fails.

This commit replaces the caps existence check with whether the ringbuffer is acquired or not. There's no need to check for caps existence because 1.) it's unlikely to be NULL if the ringbuffer is acquired, and 2.) _setcaps shouldn't be called with a NULL caps.

This should also let the element retry on acquiring ringbuffer after an error by re-setting the element's state to READY and back to PLAYING. Whether this behavior is correct is up for debate.

Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Reference: gstreamer/gst-plugins-base!512
Source branch: gstaudiobasesrc-fix-setcaps-after-failed-acquire