Hi Mark On Mon, Feb 2, 2026 at 8:10 PM Mark Cave-Ayland <[email protected]> wrote: > > On 23/01/2026 07:49, [email protected] wrote: > > > 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 > > Thanks for the work on the series - QOMification of the audio backends > has been something that has been on my wish-list for some time :) > > I wanted to do some local testing, however when I try and apply the > series I get the following error: > > Applying: audio: split AudioMixengBackend code in audio-mixeng-be.c > error: sha1 information is lacking or useless (audio/audio.c). > error: could not build fake ancestor > Patch failed at 0036 audio: split AudioMixengBackend code in > audio-mixeng-be.c > hint: Use 'git am --show-current-patch=diff' to see the failed patch > When you have resolved this problem, run "git am --continue". > If you prefer to skip this patch, run "git am --skip" instead. > To restore the original branch and stop patching, run "git am --abort". > > Is there a branch somewhere that I can pull from directly?
https://gitlab.com/marcandre.lureau/qemu.git "audio" thanks for the review!
