Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • pipewire pipewire
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 582
    • Issues 582
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 22
    • Merge requests 22
  • 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
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • PipeWirePipeWire
  • pipewirepipewire
  • Issues
  • #1308
Closed
Open
Issue created Jun 13, 2021 by msntfs@msntfs

Fail to setup a2dp source connection

Wireplumber fails to setup an a2dp connection if the audio source plays immediately after connection. This can be replicated by connecting an Android phone while a music is playing.

This seems to be caused by a missed create-object notification, but I do not fully understand the PipeWire/WirePlumber object model so I am not sure how to fix this. The device object gets created and exported, but the node object does not get exported and does not turn up in e.g. pw-mon.

The sequence of events seems to be roughly this:

  1. Bluez notifies WP about the transport
  2. lua:createDevice runs and calls device:activate
  3. bluez5-device.c:emit_node runs, but there are no listeners registered, so create-object does not get called
  4. main event loop activates the device and registers listeners

If the source starts playing some time after connection, (2) (3) get reordered and the connection works.

Assignee
Assign to
Time tracking