qemu-e2k/scripts
Dorinda Bassey c2d3d1c294 audio/pwaudio.c: Add Pipewire audio backend for QEMU
This commit adds a new audiodev backend to allow QEMU to use Pipewire as
both an audio sink and source. This backend is available on most systems

Add Pipewire entry points for QEMU Pipewire audio backend
Add wrappers for QEMU Pipewire audio backend in qpw_pcm_ops()
qpw_write function returns the current state of the stream to pwaudio
and Writes some data to the server for playback streams using pipewire
spa_ringbuffer implementation.
qpw_read function returns the current state of the stream to pwaudio and
reads some data from the server for capture streams using pipewire
spa_ringbuffer implementation. These functions qpw_write and qpw_read
are called during playback and capture.
Added some functions that convert pw audio formats to QEMU audio format
and vice versa which would be needed in the pipewire audio sink and
source functions qpw_init_in() & qpw_init_out().
These methods that implement playback and recording will create streams
for playback and capture that will start processing and will result in
the on_process callbacks to be called.
Built a connection to the Pipewire sound system server in the
qpw_audio_init() method.

Signed-off-by: Dorinda Bassey <dbassey@redhat.com>
Reviewed-by: Volker Rümelin <vr_qemu@t-online.de>
Message-Id: <20230417105654.32328-1-dbassey@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2023-05-05 13:23:08 +04:00
..
ci scripts/ci: update gitlab-runner playbook to handle CentOS 2023-03-22 15:06:57 +00:00
coccinelle cleanup: Tweak and re-run return_directly.cocci 2022-12-14 16:19:35 +01:00
codeconverter
coverage scripts/coverage: initial coverage comparison script 2023-04-04 15:16:29 +01:00
coverity-scan coverity: unify Fedora dockerfiles 2023-04-20 11:17:36 +02:00
kvm
modules
oss-fuzz gitlab: add lsan suppression file to workaround tcmalloc issues 2023-02-02 10:44:23 +00:00
performance
qapi qapi: allow unions to contain further unions 2023-04-26 07:52:45 +02:00
qemu-guest-agent
qemugdb
qmp
simplebench
tracetool tracetool: use relative paths for '#line' preprocessor directives 2023-04-24 13:53:44 -04:00
analyse-9p-simpletrace.py
analyse-locks-simpletrace.py
analyze-inclusions
analyze-migration.py
archive-source.sh
block-coroutine-wrapper.py block-coroutine-wrapper: Introduce no_co_wrapper 2023-02-17 11:22:19 +01:00
check_sparse.py
checkpatch.pl checkpatch: add qemu_bh_new/aio_bh_new checks 2023-04-28 11:31:54 +02:00
clean-header-guards.pl
clean-includes scripts/clean-includes: Improve --git commit message 2023-02-08 07:16:23 +01:00
cleanup-trace-events.pl
cocci-macro-file.h
cpu-x86-uarch-abi.py
decodetree.py
device-crash-test scripts/device-crash-test: Add a parameter to run with TCG only 2023-04-27 14:58:11 +01:00
disas-objdump.pl
dump-guest-memory.py
entitlement.sh
extract-vsssdk-headers
feature_to_c.sh
fix-multiline-comments.sh
gensyscalls.sh
get_maintainer.pl
git-submodule.sh
git.orderfile scripts/git.orderfile: Display MAINTAINERS changes first 2023-01-13 16:22:57 +01:00
hxtool
kernel-doc
main.c
make-config-poison.sh meson: Avoid duplicates in generated config-poison.h again 2023-02-27 09:18:56 +01:00
make-release scripts/make-release: Only clone single branches to speed up the script 2022-12-15 15:02:35 +01:00
meson-buildoptions.py build: make meson-buildoptions.sh stable 2023-02-10 14:12:06 +01:00
meson-buildoptions.sh audio/pwaudio.c: Add Pipewire audio backend for QEMU 2023-05-05 13:23:08 +04:00
meson.build
minikconf.py
modinfo-collect.py
modinfo-generate.py
mtest2make.py mtest2make.py: teach suite name that are just "PROJECT" 2023-04-20 11:17:34 +02:00
nsis.py
probe-gdb-support.py testing: probe gdb for supported architectures ahead of time 2023-03-07 20:44:09 +00:00
qapi-gen.py
qemu-binfmt-conf.sh
qemu-gdb.py
qemu-stamp.py
qemu-trace-stap
qemu-version.sh
refresh-pxe-roms.sh
render_block_graph.py
replay-dump.py
shaderinclude.py build-sys: fix crlf-ending C code 2023-02-02 10:44:23 +00:00
signrom.py
simpletrace.py
symlink-install-tree.py meson: accept relative symlinks in "meson introspect --installed" data 2023-01-06 00:51:02 +01:00
test-driver.py
tracetool.py
u2f-setup-gen.py
undefsym.py
update-linux-headers.sh update-linux-headers.sh: Add missing kernel headers. 2023-04-28 14:03:52 +02:00
update-mips-syscall-args.sh
update-syscalltbl.sh
userfaultfd-wrlat.py
vmstate-static-checker.py vmstate-static-checker: Recognize "num" field 2023-04-27 10:18:26 +02:00
xen-detect.c