[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/2] audio: remove qemu_spice_audio_init()
From: |
dann frazier |
Subject: |
Re: [PATCH 1/2] audio: remove qemu_spice_audio_init() |
Date: |
Sun, 13 Dec 2020 13:18:42 -0700 |
On Wed, Sep 16, 2020 at 2:42 AM Gerd Hoffmann <kraxel@redhat.com> wrote:
>
> 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 <kraxel@redhat.com>
> ---
> include/ui/qemu-spice.h | 1 -
> audio/audio.c | 16 ++++++++++++++++
> audio/spiceaudio.c | 5 -----
> ui/spice-core.c | 1 -
> 4 files changed, 16 insertions(+), 7 deletions(-)
>
> diff --git a/include/ui/qemu-spice.h b/include/ui/qemu-spice.h
> index 8c23dfe71797..12474d88f40e 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/audio/audio.c b/audio/audio.c
> index ce8c6dec5f47..76cdba0943d1 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"
> @@ -1658,6 +1659,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;
fyi, one of my libvirt/QEMU guests now segfaults here.
See: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=977301
-dann
> + }
> +
> if (dev) {
> /* -audiodev option */
> legacy_config = false;
> diff --git a/audio/spiceaudio.c b/audio/spiceaudio.c
> index b6b5da4812f2..aae420cff997 100644
> --- a/audio/spiceaudio.c
> +++ b/audio/spiceaudio.c
> @@ -310,11 +310,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/ui/spice-core.c b/ui/spice-core.c
> index ecc2ec2c55c2..10aa309f78f7 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.27.0
>
>
- Re: [PATCH 1/2] audio: remove qemu_spice_audio_init(),
dann frazier <=