[PATCH 00/37] audio: cleanups & add a manual test

marcandre.lureau@redhat.com posted 37 patches 2 weeks, 2 days ago
Failed in applying to current master (apply log)
Maintainers: Gerd Hoffmann <kraxel@redhat.com>, Christian Schoenebeck <qemu_oss@crudebyte.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>, Thomas Huth <huth@tuxfamily.org>, Alexandre Ratchov <alex@caoua.org>, Laurent Vivier <laurent@vivier.eu>, Manos Pitsidianakis <manos.pitsidianakis@linaro.org>, "Michael S. Tsirkin" <mst@redhat.com>, Alistair Francis <alistair@alistair23.me>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Peter Maydell <peter.maydell@linaro.org>, Paolo Bonzini <pbonzini@redhat.com>, "Alex Bennée" <alex.bennee@linaro.org>, "Daniel P. Berrangé" <berrange@redhat.com>, Eduardo Habkost <eduardo@habkost.net>, John Snow <jsnow@redhat.com>, Cleber Rosa <crosa@redhat.com>
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
[PATCH 00/37] audio: cleanups & add a manual test
Posted by marcandre.lureau@redhat.com 2 weeks, 2 days ago
From: Marc-André Lureau <marcandre.lureau@redhat.com>

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


Re: [PATCH 00/37] audio: cleanups & add a manual test
Posted by Mark Cave-Ayland 3 days, 13 hours ago
On 23/01/2026 07:49, marcandre.lureau@redhat.com wrote:

> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> 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

Hi Marc-André,

I've just followed up with a few more comments, but in general this 
series looks fairly good to me. It's definitely a huge improvement upon 
what is already there, thanks again for doing this.

I'll have a look at part 2 when I get a chance either tomorrow or at the 
start of next week.


ATB,

Mark.


Re: [PATCH 00/37] audio: cleanups & add a manual test
Posted by Mark Cave-Ayland 6 days, 14 hours ago
On 23/01/2026 07:49, marcandre.lureau@redhat.com 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?


ATB,

Mark.


Re: [PATCH 00/37] audio: cleanups & add a manual test
Posted by Marc-André Lureau 5 days, 23 hours ago
Hi Mark

On Mon, Feb 2, 2026 at 8:10 PM Mark Cave-Ayland
<mark.caveayland@nutanix.com> wrote:
>
> On 23/01/2026 07:49, marcandre.lureau@redhat.com 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!