qemu-devel
[Top][All Lists]
Advanced

[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
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]