audio: Add sndio backend

sndio is the native API used by OpenBSD, although it has been ported to
other *BSD's and Linux (packages for Ubuntu, Debian, Void, Arch, etc.).

Signed-off-by: Brad Smith <brad@comstyle.com>
Signed-off-by: Alexandre Ratchov <alex@caoua.org>
Reviewed-by: Volker Rümelin <vr_qemu@t-online.de>
Tested-by: Volker Rümelin <vr_qemu@t-online.de>
Message-Id: <YxibXrWsrS3XYQM3@vm1.arverb.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
Alexandre Ratchov 2022-09-07 15:23:42 +02:00 committed by Gerd Hoffmann
parent f3def4dd42
commit 663df1cc68
10 changed files with 632 additions and 5 deletions

View file

@ -769,6 +769,9 @@ DEF("audiodev", HAS_ARG, QEMU_OPTION_audiodev,
"-audiodev sdl,id=id[,prop[=value][,...]]\n"
" in|out.buffer-count= number of buffers\n"
#endif
#ifdef CONFIG_AUDIO_SNDIO
"-audiodev sndio,id=id[,prop[=value][,...]]\n"
#endif
#ifdef CONFIG_SPICE
"-audiodev spice,id=id[,prop[=value][,...]]\n"
#endif
@ -935,6 +938,19 @@ SRST
``in|out.buffer-count=count``
Sets the count of the buffers.
``-audiodev sndio,id=id[,prop[=value][,...]]``
Creates a backend using SNDIO. This backend is available on
OpenBSD and most other Unix-like systems.
Sndio specific options are:
``in|out.dev=device``
Specify the sndio device to use for input and/or output. Default
is ``default``.
``in|out.latency=usecs``
Sets the desired period length in microseconds.
``-audiodev spice,id=id[,prop[=value][,...]]``
Creates a backend that sends audio through SPICE. This backend
requires ``-spice`` and automatically selected in that case, so