[libvirt PATCH 00/18] qemu: add support for audio backend configuration
Michal Privoznik
mprivozn at redhat.com
Tue Mar 9 15:30:12 UTC 2021
On 3/3/21 7:18 PM, Daniel P. Berrangé wrote:
> Historically we've done almost nothing with audio backend
> configuration. In QEMU we merely set QEMU_AUDIO_DRV to one
> of sdl, spice, none depending on <graphics>. We also have
> the somewhat crazy ability to let QEMU inherit the
> QEMU_AUDIO_DRV env variable from libvirtd.
>
> Fairly recently BHyve wanted audio backend config for OSS
> so introduced the <audio> element. We designed that to allow
> QEMU to later extend it, and that's what this series does.
> We add <audio> types for all the QEMU backends, except the
> Windows only DSound which isn't relevant for libvirt.
>
> The QEMU driver is updated to use this element to configure
> things. QEMU has many many many more env variables for
> configuring audio settings, which we can now support. These
> are all deprecated since 4.0.0 though, so we also add support
> for the new -audiodev argument.
>
> Unfortunately -audiodev isn't introspectable due to limits
> in QEMU fixed by:
>
> https://lists.gnu.org/archive/html/qemu-devel/2021-03/msg00653.html
>
> The lack of introspection isn't critical though. We can
> detect existance of -audiodev by querying for '-vnc audiodev=3DNNN'
> argument support. We simply lack ability to determine what QEMU
> audio backends are compiled in. This means we have to delegate
> error reporting to QEMU itself, which is OK.
>
> We'll make use of the query-audiodev command at a later date
> to track future improvements to QEMU audiodev backends.
>
> Daniel P. Berrang=C3=A9 (18):
> config: cleanup some typos / baggage wrt compiler checks
> conf: stronger error reporting when parsing audio related params
> conf: don't force existance of audio child elements
> conf: add helper to test for sound device codec support
> conf: add missing iteration over audio backends
> conf: refactor OSS audio backend specific options
> conf: add coverage for all QEMU audio backend types
> conf: add support for audio backend for the VNC server
> conf: add validation of audio backend IDs
> conf: rename and improve virDomainDefFindAudioForSound
> qemu: support use of <audio> elements
> qemu: populate <audio> element with default config
> qemu: probe for -vnc audiodev property
> qemu: add support for generating -audiodev arguments
> conf: introduce support for common audio settings
> qemu: wire up support for common audio backend settings
> conf: add support for audio backend specific settings
> qemu: wire up support for backend specific audio settings
>
> 957 files changed, 6887 insertions(+), 341 deletions(-)
Reviewed-by: Michal Privoznik <mprivozn at redhat.com>
Michal
More information about the libvir-list
mailing list