Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • gst-plugins-bad gst-plugins-bad
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 924
    • Issues 924
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 98
    • Merge requests 98
  • 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-badgst-plugins-bad
  • Issues
  • #1649
Closed
Open
Issue created Aug 23, 2021 by Ignazio@ignazp

WASAPI uninitializes COM from a different threads

CoInitializeEx and CoUninitialize function should be called from the same thread. However the wasapi prepare is called from a working thread after pipeline start, while the unprepare function is called from the main loop after pipeline stop.

This could break the COM initialization, for example in our application the device listing doesn't work anymore.

The issue can be verified by printing the thread-id from these lines

  • https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/blob/master/sys/wasapi/gstwasapisrc.c#L607
  • https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/blob/master/sys/wasapi/gstwasapisrc.c#L747
Edited Aug 23, 2021 by Ignazio
Assignee
Assign to
Time tracking