On a Friday in 2023, Michal Privoznik wrote:
QEMU gained support for PipeWire audio backend (see QEMU commit
of v8.0.0-403-gc2d3d1c294). Its configuration knobs are basically
the same as pulseaudio's, except for PA's server name. Therefore,
a lot of code is copied over from pulseadio and fixed by
s/Pulse/Pipewire/ or s/pulseaudio/pipewire/.
There's one ley difference to PA though: pipewire daemon is
s/ley/key/
Jano
usually on per user basis (just like our qemu:///session).
Therefore, introduce this 'runtimeDir' attribute, which allows
specifying path to pipewire daemon socket (useful for
qemu:///system for instance).
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
docs/formatdomain.rst | 46 +++++++++++-
src/conf/domain_conf.c | 73 +++++++++++++++++++
src/conf/domain_conf.h | 13 ++++
src/conf/schemas/domaincommon.rng | 42 +++++++++++
src/qemu/qemu_command.c | 2 +
src/qemu/qemu_validate.c | 1 +
.../qemuxml2argvdata/audio-pipewire-best.xml | 43 +++++++++++
.../qemuxml2argvdata/audio-pipewire-full.xml | 43 +++++++++++
.../audio-pipewire-minimal.xml | 36 +++++++++
.../audio-pipewire-best.x86_64-latest.xml | 46 ++++++++++++
.../audio-pipewire-full.x86_64-latest.xml | 46 ++++++++++++
.../audio-pipewire-minimal.x86_64-latest.xml | 39 ++++++++++
tests/qemuxml2xmltest.c | 3 +
13 files changed, 431 insertions(+), 2 deletions(-)
create mode 100644 tests/qemuxml2argvdata/audio-pipewire-best.xml
create mode 100644 tests/qemuxml2argvdata/audio-pipewire-full.xml
create mode 100644 tests/qemuxml2argvdata/audio-pipewire-minimal.xml
create mode 100644 tests/qemuxml2xmloutdata/audio-pipewire-best.x86_64-latest.xml
create mode 100644 tests/qemuxml2xmloutdata/audio-pipewire-full.x86_64-latest.xml
create mode 100644 tests/qemuxml2xmloutdata/audio-pipewire-minimal.x86_64-latest.xml