From f0c4555edfdd2088aab04b5779912d52b6b90454 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Wed, 16 Sep 2020 10:41:16 +0200 Subject: [PATCH] audio: remove qemu_spice_audio_init() Handle the spice special case in audio_init instead. With the qemu_spice_audio_init() symbol dependency being gone we can build spiceaudio as module. Signed-off-by: Gerd Hoffmann Message-id: 20200916084117.21828-2-kraxel@redhat.com --- audio/audio.c | 16 ++++++++++++++++ audio/spiceaudio.c | 5 ----- include/ui/qemu-spice.h | 1 - ui/spice-core.c | 1 - 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/audio/audio.c b/audio/audio.c index 6ff3f168d7..46578e4a58 100644 --- a/audio/audio.c +++ b/audio/audio.c @@ -34,6 +34,7 @@ #include "qemu/module.h" #include "sysemu/replay.h" #include "sysemu/runstate.h" +#include "ui/qemu-spice.h" #include "trace.h" #define AUDIO_CAP "audio" @@ -1696,6 +1697,21 @@ static AudioState *audio_init(Audiodev *dev, const char *name) /* silence gcc warning about uninitialized variable */ AudiodevListHead head = QSIMPLEQ_HEAD_INITIALIZER(head); + if (using_spice) { + /* + * When using spice allow the spice audio driver being picked + * as default. + * + * Temporary hack. Using audio devices without explicit + * audiodev= property is already deprecated. Same goes for + * the -soundhw switch. Once this support gets finally + * removed we can also drop the concept of a default audio + * backend and this can go away. + */ + driver = audio_driver_lookup("spice"); + driver->can_be_default = 1; + } + if (dev) { /* -audiodev option */ legacy_config = false; diff --git a/audio/spiceaudio.c b/audio/spiceaudio.c index c062742622..ed6dff1dcc 100644 --- a/audio/spiceaudio.c +++ b/audio/spiceaudio.c @@ -311,11 +311,6 @@ static struct audio_driver spice_audio_driver = { .voice_size_in = sizeof (SpiceVoiceIn), }; -void qemu_spice_audio_init (void) -{ - spice_audio_driver.can_be_default = 1; -} - static void register_audio_spice(void) { audio_driver_register(&spice_audio_driver); diff --git a/include/ui/qemu-spice.h b/include/ui/qemu-spice.h index 8c23dfe717..12474d88f4 100644 --- a/include/ui/qemu-spice.h +++ b/include/ui/qemu-spice.h @@ -29,7 +29,6 @@ extern int using_spice; void qemu_spice_init(void); void qemu_spice_input_init(void); -void qemu_spice_audio_init(void); void qemu_spice_display_init(void); int qemu_spice_display_add_client(int csock, int skipauth, int tls); int qemu_spice_add_interface(SpiceBaseInstance *sin); diff --git a/ui/spice-core.c b/ui/spice-core.c index ecc2ec2c55..10aa309f78 100644 --- a/ui/spice-core.c +++ b/ui/spice-core.c @@ -804,7 +804,6 @@ void qemu_spice_init(void) qemu_spice_add_interface(&spice_migrate.base); qemu_spice_input_init(); - qemu_spice_audio_init(); qemu_add_vm_change_state_handler(vm_change_state_handler, NULL); qemu_spice_display_stop(); -- 2.11.4.GIT