[PATCH v3 00/14] Cleanup deprecated audio features, take 2

Paolo Bonzini posted 14 patches 7 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230929085112.983957-1-pbonzini@redhat.com
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>, Thomas Huth <huth@tuxfamily.org>, Alexandre Ratchov <alex@caoua.org>, Peter Maydell <peter.maydell@linaro.org>, Jan Kiszka <jan.kiszka@web.de>, Alistair Francis <alistair@alistair23.me>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Eduardo Habkost <eduardo@habkost.net>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Yanan Wang <wangyanan55@huawei.com>, Paolo Bonzini <pbonzini@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Huacai Chen <chenhuacai@kernel.org>, Jiaxun Yang <jiaxun.yang@flygoat.com>, BALATON Zoltan <balaton@eik.bme.hu>, "Hervé Poussineau" <hpoussin@reactos.org>
There is a newer version of this series
audio/alsaaudio.c                |   3 +-
audio/audio-hmp-cmds.c           |   6 +-
audio/audio.c                    | 228 ++++++------
audio/audio.h                    |   7 +-
audio/audio_int.h                |   7 +-
audio/audio_legacy.c             | 591 -------------------------------
audio/audio_template.h           |   9 +-
audio/coreaudio.m                |   3 +-
audio/dbusaudio.c                |   3 +-
audio/dsoundaudio.c              |   3 +-
audio/jackaudio.c                |   3 +-
audio/meson.build                |   1 -
audio/noaudio.c                  |   3 +-
audio/ossaudio.c                 |  12 +-
audio/paaudio.c                  |   8 +-
audio/pwaudio.c                  |  17 +-
audio/sdlaudio.c                 |   6 +-
audio/sndioaudio.c               |   3 +-
audio/spiceaudio.c               |   5 +-
audio/wavaudio.c                 |   3 +-
docs/about/deprecated.rst        |  16 +-
docs/about/removed-features.rst  |  12 +
hw/arm/integratorcp.c            |  11 +-
hw/arm/musicpal.c                |  11 +-
hw/arm/nseries.c                 |   4 +
hw/arm/omap2.c                   |   7 +-
hw/arm/palm.c                    |   2 +
hw/arm/realview.c                |  12 +
hw/arm/spitz.c                   |  17 +-
hw/arm/versatilepb.c             |   8 +
hw/arm/vexpress.c                |   5 +
hw/arm/xlnx-zcu102.c             |   6 +
hw/arm/z2.c                      |  15 +-
hw/audio/ac97.c                  |   6 +-
hw/audio/adlib.c                 |   6 +-
hw/audio/cs4231a.c               |   6 +-
hw/audio/es1370.c                |   5 +-
hw/audio/gus.c                   |   6 +-
hw/audio/hda-codec.c             |   5 +-
hw/audio/lm4549.c                |   8 +-
hw/audio/pcspk.c                 |   4 +-
hw/audio/sb16.c                  |   6 +-
hw/audio/via-ac97.c              |   6 +-
hw/audio/wm8750.c                |   5 +-
hw/core/machine.c                |  33 ++
hw/core/qdev-properties-system.c |  16 +-
hw/display/xlnx_dp.c             |   6 +-
hw/input/tsc210x.c               |   7 +-
hw/mips/fuloong2e.c              |  15 +-
hw/ppc/pegasos2.c                |  12 +-
hw/ppc/prep.c                    |   7 +
hw/usb/dev-audio.c               |   5 +-
include/hw/boards.h              |   9 +
qemu-options.hx                  |  10 -
softmmu/vl.c                     |   8 +-
ui/dbus.c                        |   3 +-
ui/vnc.c                         |  14 +-
ui/vnc.h                         |   2 +
58 files changed, 403 insertions(+), 854 deletions(-)
delete mode 100644 audio/audio_legacy.c
[PATCH v3 00/14] Cleanup deprecated audio features, take 2
Posted by Paolo Bonzini 7 months ago
In this version the QEMU_AUDIO_* options go away, but it is still
possible to pick a default audio backend from the list provided to
--audio-drv-list.  The code is still simplified a lot compared to
having all the legacy parsing code and the -audio-help function.
I had to keep QEMU_AUDIO_DRV=none because it is used by libqtest;
a possibility for the future could be to add a "-audio none" option
without a model.  For now I kept this setting as it is a subset of the
previous accepted values, and it can be deprecated separately.

At the end of this series, all devices can be configured with
-audiodev.  Therefore, I decided to forbid mixing the default
audio backend with audiodevs or with -nodefaults.

Patches 1-2 are Martin's patches that didn't end up in the previous
pull request.

Patches 3-4 change audio.c to use Error ** a bit more.

Patches 5-7 introduce the minimal code to create a default audio
backend.

Patches 8-11 introduce a machine property "audiodev" and plumb
it into all machines with an embedded sound card.

Patches 12-13 forbid some not-so-sensible usage of default
audio backends.

Patch 14 is an Error** propagation cleanup to avoid giving
Markus a heart attack if he ever looks at this code.  Or
at least moderating the intensity.

Paolo

v1->v2:
- do not expose audio encoding feature if VNC audio is not enabled [Daniel]
- add hint to error messages when -audiodev and default backend are mixed
- context changes due to shadowed variable fixes

v2->v3:
- adjust comment on "char *audiodev" field of MachineState
- use error_fatal instead of error_abort in OMAP and TSC210x's calls
  to AUD_register_card
- redo vt82c686 patches to remove aliased audiodev property
- fix leak in audio_driver_init when msg == false
- add patch to use Error in audio_init

Martin Kletzander (4):
  audio: Require AudioState in AUD_add_capture
  Introduce machine property "audiodev"
  hw/arm: Support machine-default audiodev with fallback
  hw/ppc: Support machine-default audiodev with fallback

Paolo Bonzini (10):
  ui/vnc: Require audiodev= to enable audio
  audio: allow returning an error from the driver init
  audio: return Error ** from audio_state_by_name
  audio: commonize voice initialization
  audio: simplify flow in audio_init
  audio: remove QEMU_AUDIO_* and -audio-help support
  vt82c686: Support machine-default audiodev with fallback
  audio: forbid mixing default audiodev backend and -audiodev
  audio: forbid default audiodev backend with -nodefaults
  audio: propagate Error out of audio_driver_init

 audio/alsaaudio.c                |   3 +-
 audio/audio-hmp-cmds.c           |   6 +-
 audio/audio.c                    | 228 ++++++------
 audio/audio.h                    |   7 +-
 audio/audio_int.h                |   7 +-
 audio/audio_legacy.c             | 591 -------------------------------
 audio/audio_template.h           |   9 +-
 audio/coreaudio.m                |   3 +-
 audio/dbusaudio.c                |   3 +-
 audio/dsoundaudio.c              |   3 +-
 audio/jackaudio.c                |   3 +-
 audio/meson.build                |   1 -
 audio/noaudio.c                  |   3 +-
 audio/ossaudio.c                 |  12 +-
 audio/paaudio.c                  |   8 +-
 audio/pwaudio.c                  |  17 +-
 audio/sdlaudio.c                 |   6 +-
 audio/sndioaudio.c               |   3 +-
 audio/spiceaudio.c               |   5 +-
 audio/wavaudio.c                 |   3 +-
 docs/about/deprecated.rst        |  16 +-
 docs/about/removed-features.rst  |  12 +
 hw/arm/integratorcp.c            |  11 +-
 hw/arm/musicpal.c                |  11 +-
 hw/arm/nseries.c                 |   4 +
 hw/arm/omap2.c                   |   7 +-
 hw/arm/palm.c                    |   2 +
 hw/arm/realview.c                |  12 +
 hw/arm/spitz.c                   |  17 +-
 hw/arm/versatilepb.c             |   8 +
 hw/arm/vexpress.c                |   5 +
 hw/arm/xlnx-zcu102.c             |   6 +
 hw/arm/z2.c                      |  15 +-
 hw/audio/ac97.c                  |   6 +-
 hw/audio/adlib.c                 |   6 +-
 hw/audio/cs4231a.c               |   6 +-
 hw/audio/es1370.c                |   5 +-
 hw/audio/gus.c                   |   6 +-
 hw/audio/hda-codec.c             |   5 +-
 hw/audio/lm4549.c                |   8 +-
 hw/audio/pcspk.c                 |   4 +-
 hw/audio/sb16.c                  |   6 +-
 hw/audio/via-ac97.c              |   6 +-
 hw/audio/wm8750.c                |   5 +-
 hw/core/machine.c                |  33 ++
 hw/core/qdev-properties-system.c |  16 +-
 hw/display/xlnx_dp.c             |   6 +-
 hw/input/tsc210x.c               |   7 +-
 hw/mips/fuloong2e.c              |  15 +-
 hw/ppc/pegasos2.c                |  12 +-
 hw/ppc/prep.c                    |   7 +
 hw/usb/dev-audio.c               |   5 +-
 include/hw/boards.h              |   9 +
 qemu-options.hx                  |  10 -
 softmmu/vl.c                     |   8 +-
 ui/dbus.c                        |   3 +-
 ui/vnc.c                         |  14 +-
 ui/vnc.h                         |   2 +
 58 files changed, 403 insertions(+), 854 deletions(-)
 delete mode 100644 audio/audio_legacy.c

-- 
2.41.0