librepods-org / librepods-org/librepods

[Linux] Wait for A2DP profile enumeration before restarting WirePlumber

Open
#682 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Kotlin
Stars
29.9k
Forks
1.7k
PR merge metrics
No merged PRs in 30d

Description

Problem

A newly connected Bluetooth card can appear before its A2DP profiles have been enumerated. The current activation path treats the first missing-profile result as a failure, restarts WirePlumber immediately, and then performs a single recheck that can race pipewire-pulse rebuilding the card.

Expected behavior

Give initial profile enumeration a short grace period. Keep WirePlumber restart as a last resort and use bounded retries while the card and profiles reappear afterward.

Acceptance criteria

  • A temporarily incomplete card can become ready without a WirePlumber restart.
  • Post-restart checks tolerate delayed card and profile enumeration.
  • Retries are bounded and do not sleep again after the final failed attempt.
  • A persistent failure is logged and returned without attempting profile activation.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the Linux activation path for a newly connected Bluetooth card and trace how missing profiles trigger WirePlumber restart and the pipewire-pulse recheck. Confirm the change against the acceptance criteria: delayed enumeration succeeds without an unnecessary restart, post-restart retries are bounded without a final sleep, and persistent failure is logged and returned without profile activation.

Written by the indexing model from the issue text.

Assessment

Tech stack
kotlin, linux
Domain
audio-video-rtc, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.