Pinephone-callaudiod

From postmarketOS Wiki

PulseAudio v17 and PipeWire v1.2.0 changed the way they generate audio profiles for the PINE64 PinePhone . This change breaks the automatic switching of profiles when a call connects or disconnects by the callaudiod service, because callaudiod cannot handle the new profiles.

Before PulseAudio v17 / PipeWire v1.2.0:

$ pactl list cards

...

	Profiles:
		HiFi: Play HiFi quality music (sinks: 1, sources: 1, priority: 8000, available: yes)
		Voice Call: Make a phone call (sinks: 1, sources: 1, priority: 4000, available: yes)
		off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
		pro-audio: Pro Audio (sinks: 1, sources: 1, priority: 1, available: yes)

After PulseAudio v17 / PipeWire v1.2.0:

$ pactl list cards

...

	Profiles:
		HiFi (Headphones, Headset): Play HiFi quality music (Headphones, Headset) (sinks: 1, sources: 1, priority: 9000, available: no)
		HiFi (Headset, Speaker): Play HiFi quality music (Headset, Speaker) (sinks: 1, sources: 1, priority: 8800, available: no)
		HiFi (Earpiece, Headset): Play HiFi quality music (Earpiece, Headset) (sinks: 1, sources: 1, priority: 8700, available: no)
		HiFi (Headphones, Mic): Play HiFi quality music (Headphones, Mic) (sinks: 1, sources: 1, priority: 8600, available: no)
		HiFi (Mic, Speaker): Play HiFi quality music (Mic, Speaker) (sinks: 1, sources: 1, priority: 8400, available: yes)
		HiFi (Earpiece, Mic): Play HiFi quality music (Earpiece, Mic) (sinks: 1, sources: 1, priority: 8300, available: yes)
		Voice Call (Earpiece, Headset): Make a phone call (Earpiece, Headset) (sinks: 1, sources: 1, priority: 5000, available: no)
		Voice Call (Headphones, Headset): Make a phone call (Headphones, Headset) (sinks: 1, sources: 1, priority: 5000, available: no)
		off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
		Voice Call (Headset, Speaker): Make a phone call (Headset, Speaker) (sinks: 1, sources: 1, priority: 4800, available: no)
		Voice Call (Earpiece, Mic): Make a phone call (Earpiece, Mic) (sinks: 1, sources: 1, priority: 4700, available: yes)
		Voice Call (Headphones, Mic): Make a phone call (Headphones, Mic) (sinks: 1, sources: 1, priority: 4700, available: no)
		Voice Call (Mic, Speaker): Make a phone call (Mic, Speaker) (sinks: 1, sources: 1, priority: 4500, available: yes)
		pro-audio: Pro Audio (sinks: 1, sources: 1, priority: 1, available: yes)

The PinePhone's device package now pulls in a different service that can handle these new profiles, pinephone-callaudiod . This service replaces the callaudiod service from Alpine, but it implements the same D-Bus API as the Alpine callaudiod, so programs like GNOME Calls that use that D-Bus API via libcallaudio.so or directly will work with the new daemon automatically.

See also

- pmaports#2968

- pmaports!5349