HFP audio stream does not have "Communication" media role
- PipeWire version (
pipewire --version
): commit 8fe83e53, built from source - WirePlumber version: commit aee4fe25797c76c94df3592c97fff8e98908fd29, built from source
- Distribution and distribution version (
PRETTY_NAME
from/etc/os-release
): Ubuntu 22.04 (amd64) running on VirtualBox on Intel MacBook Pro- Note: PulseAudio is completely disabled, pre-installed pipewire and session manager are also disabled
- Desktop Environment: GNOME
- Kernel version (
uname -r
): 5.15.0-40-generic
Description of Problem:
Hello and first of all, thank you for building excellent software!
I'm looking into embedded system use cases, especially endpoint based audio corking / ducking. I want audio stream of HFP to have media.role
property set to "Communication", so that when I answer a call on the system, background music playback is corked, and when the call finishes, the playback is resumed automatically.
Looking at logs it seems that the audio stream does not have "Communication" role so default role of "Multimedia" is always used.
Currently I use oFono as backend, but it was also reproducible with "native" backend.
How Reproducible:
Always
Steps to Reproduce:
- Start pipewire by running
pipewire
on a terminal window - Open another terminal window, and run
WIREPLUMBER_DEBUG=T wireplumber 2> wireplumber_trace.txt
- Using GNOME's setting menu, pair an Android phone
- Start a call on the phone
- Examine trace log to find WirePlumber's "createLink" log
Actual Results:
WirePlumber creates a link with "multimedia" endpoint.
I 16:34:00.619179 script/policy-endp policy-endpoint-client.lua:119:createLink: link bluez_input.F0_5C_77_FD_39_14.headset-audio-gateway <-> endpoint.multimedia
Expected Results:
WirePlumber creates a link with "communication" endpoint.
Additional Info (as attachments):
- wireplumber_trace.txt (compressed as wireplumber_trace.zip)
- 50-bluez-config.lua and 50-endpoints-config.lua that I use for WirePlumber