pipewire/spa
George Kiagiadakis bca9e55d12 bluez: add a new "Audio Gateway" device profile
This profile is meant to be used with audio gateways, such as mobile
phones, making pipewire act as a headset. It activates all 3 "dynamic"
nodes (all of which are "Stream/*/Audio"), allowing both A2DP source
and HSP/HFP AG to be available at the same time. Ultimately, the remote
device (the AG), is the one that decides which profile to use and pipewire
just creates/destroys the appropriate stream nodes dynamically.

To make things less confusing, the HFP/HSP profile is now only available
if the remote device is a Head Unit and the A2DP profile is only available
if the remote device has an A2DP Sink.

If the device has both A2DP Source & A2DP Sink (not sure if this is a real world
possibility, but just in case...), the A2DP profile allows using them both,
while the AG profile will only allow the source.

In addition, to keep things less complex, the routes are now only used for
device nodes (the "Audio/*" ones). A2DP source and HSP/HFP AG never have a route.
Restoring their props should be possible to be handled by the restore-stream
module.
2021-03-19 20:27:49 +02:00
..
examples meson: Use feature options everywhere it makes sense 2021-03-10 20:18:34 +00:00
include json: handle overflow better 2021-03-18 19:44:25 +01:00
plugins bluez: add a new "Audio Gateway" device profile 2021-03-19 20:27:49 +02:00
tests json: handle overflow better 2021-03-18 19:44:25 +01:00
tools spa: add tool to dump spa json file to plain json 2021-02-13 20:17:27 +01:00
meson.build meson: Fix build without vulkan headers 2021-03-17 20:52:20 +02:00