Commit 70c9a302 authored by Emanuele Aina's avatar Emanuele Aina

audio-management: More details about policy management in PipeWire

Signed-off-by: Emanuele Aina's avatarEmanuele Aina <emanuele.aina@collabora.com>
parent 3abca368
......@@ -377,9 +377,23 @@ GStreamer should be supported.
## Approach
The overall approach is to adopt the
[WirePlumber](https://gitlab.freedesktop.org/pipewire/wireplumber) policy
manager and potentially extend it to cover all the needed use-cases.
PulseAudio embeds a default audio policy so, for instance, if you plug an
headset on your laptop aux slot, it silences the laptop speakers. PipeWire
has no embedded logic to do that, and relies on something else to control
it, which suites the needs for Apertis better since it also targets special
use-cases that don't really match the desktop ones, and this separation
brings more flexibility.
[WirePlumber](https://gitlab.freedesktop.org/pipewire/wireplumber) is a service
that provides the policy logic for PipeWire. It's where the default policy like
the one above is implemented, but unlike PulseAudio is explicitly designed to
let people customize it. PipeWire and WirePlumber is what AGL has used to
replace their previous audio manager in their latest Happy Halibut 8.0.0 release.
The overall approach is to adopt WirePlumber as the reference solution,
but the separation between audio management and audio policy means that
product teams can replace it with a completely different implementation
with ease.
### Streams metadata in applications
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment