From: Marc-André Lureau <[email protected]> Hi
This patch series is part of an ongoing effort to clean up audio/, initiated in QEMU 10.2. Some of the patches were previously posted as part of the "[RFC 00/24] audio: add GStreamer backend" series. The complete series finalizes the migration to QOM and improves error handling and logging. Marc-André Lureau (37): audio: remove obsolete/obscure functions adlib: remove dead code audio/adlib: drop ts_helper HWVoice field audio/dbus: make "dbus" the default backend when using -display dbus qemu-options.hx: clarify default audio backend selection audio: replace vm_running with runstate_is_running() audio: list backends as modules build-sys: create a libaudio scripts/modinfo: add type annotations scripts/modinfo: remove trailing ; scripts/modinfo: use in instead of find() scripts/modinfo: use f-strings scripts/modinfo: use argparse scripts/modinfo: make --devices optional scripts/modinfo: add --skip-missing-deps tests: start manual audio backend test audio: constify audsettings argument audio: introduce AudioMixengBackend audio: simplify audio_init() audio: move object creation to audio_driver_init() audio: add QOM module-objects for each backend audio: remove set_dbus_server from audio_driver audio: lookup "audio-" object types, and realize them audio: drop audio driver registration module: remove audio module support audio: keep a strong reference on the backend audio: make list type declaration private audio: make create_pdos() private replay: remove dependency on audio/ audio: make all the backend-specific APIs take the be audio: make AudioBackend truly abstract audio: split AudioBackend audio: AUD_ -> audio_be_ audio-be: add common pre-conditions audio-be: add some state trace for debugging audio: split AudioMixengBackend code in audio-mixeng-be.c audio: make audio_driver init() & fini() optional meson.build | 25 +- audio/audio_int.h | 59 +- audio/audio_template.h | 78 +- include/qemu/audio-capture.h | 24 +- include/qemu/audio.h | 132 +- include/qemu/module.h | 3 +- include/system/replay.h | 11 +- replay/replay-internal.h | 2 + audio/alsaaudio.c | 30 +- audio/audio-be.c | 276 ++ audio/audio-mixeng-be.c | 1983 +++++++++++++++ audio/audio.c | 2245 ++--------------- audio/dbusaudio.c | 46 +- audio/dsoundaudio.c | 27 +- audio/jackaudio.c | 27 +- audio/noaudio.c | 27 +- audio/ossaudio.c | 31 +- audio/paaudio.c | 27 +- audio/pwaudio.c | 27 +- audio/sdlaudio.c | 27 +- audio/sndioaudio.c | 27 +- audio/spiceaudio.c | 27 +- audio/wavaudio.c | 27 +- audio/wavcapture.c | 7 +- hw/audio/ac97.c | 42 +- hw/audio/adlib.c | 31 +- hw/audio/asc.c | 20 +- hw/audio/cs4231a.c | 18 +- hw/audio/es1370.c | 26 +- hw/audio/gus.c | 11 +- hw/audio/hda-codec.c | 36 +- hw/audio/lm4549.c | 20 +- hw/audio/pcspk.c | 8 +- hw/audio/sb16.c | 22 +- hw/audio/via-ac97.c | 20 +- hw/audio/virtio-snd.c | 36 +- hw/audio/wm8750.c | 43 +- hw/display/xlnx_dp.c | 16 +- hw/usb/dev-audio.c | 18 +- replay/replay-audio.c | 51 +- replay/replay.c | 2 +- replay/stubs-system.c | 8 +- tests/audio/audio-stubs.c | 53 + tests/audio/test-audio.c | 582 +++++ ui/dbus.c | 20 +- ui/vnc.c | 4 +- audio/coreaudio.m | 27 +- audio/meson.build | 10 +- audio/trace-events | 4 + qemu-options.hx | 22 +- .../codeconverter/test_regexps.py | 1 - scripts/modinfo-generate.py | 146 +- tests/audio/meson.build | 18 + tests/meson.build | 1 + 54 files changed, 3999 insertions(+), 2512 deletions(-) create mode 100644 audio/audio-be.c create mode 100644 audio/audio-mixeng-be.c create mode 100644 tests/audio/audio-stubs.c create mode 100644 tests/audio/test-audio.c create mode 100644 tests/audio/meson.build -- 2.52.0
