Skip to content

fix: resolve PipeWire sink name mismatch for active output detection#492

Open
Jimoz77 wants to merge 1 commit intokavishdevar:mainfrom
Jimoz77:fix-pipewire-mac-address
Open

fix: resolve PipeWire sink name mismatch for active output detection#492
Jimoz77 wants to merge 1 commit intokavishdevar:mainfrom
Jimoz77:fix-pipewire-mac-address

Conversation

@Jimoz77
Copy link
Copy Markdown

@Jimoz77 Jimoz77 commented Mar 28, 2026

Description:
Currently, isActiveOutputDeviceAirPods() always returns false on Fedora/PipeWire systems. PipeWire (and often PulseAudio) replaces the colons (:) in MAC addresses with underscores (_) when naming sinks (e.g., bluez_output.08_FF_44_51_E7_6A.1).
Because the function uses a strict contains() with the original MAC address format (08:FF...), it fails to match the sink name, breaking the auto-pause and resume features for AirPods Max/Pro.

Changes:

-Created a formatted copy of the MAC address where colons are replaced by underscores, if the MAC address was correct nothing changes.

-Changed the contains() check to use Qt::CaseInsensitive for safer matching across different Linux audio implementations.

Testing:
Tested successfully on Fedora 42 Asahi Remix with PipeWire. Auto-pause and resume now work perfectly when removing/putting on the AirPods Max.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant