[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/3] audio: omitting audiodev= parameter is only
From: |
Maxim Levitsky |
Subject: |
Re: [Qemu-devel] [PATCH 1/3] audio: omitting audiodev= parameter is only deprecated |
Date: |
Mon, 26 Aug 2019 11:31:15 +0300 |
On Mon, 2019-08-26 at 02:29 +0200, Kővágó, Zoltán wrote:
> Unfortunately, changes introduced in af2041ed2d "audio: audiodev=
> parameters no longer optional when -audiodev present" breaks backward
> compatibility. This patch changes the error into a deprecation warning.
>
> Signed-off-by: Kővágó, Zoltán <address@hidden>
> ---
> qemu-deprecated.texi | 7 +++++++
> audio/audio.c | 8 ++++----
> 2 files changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/qemu-deprecated.texi b/qemu-deprecated.texi
> index 00a4b6f350..9d74a1cfc0 100644
> --- a/qemu-deprecated.texi
> +++ b/qemu-deprecated.texi
> @@ -72,6 +72,13 @@ backend settings instead of environment variables. To
> ease migration to
> the new format, the ``-audiodev-help'' option can be used to convert
> the current values of the environment variables to ``-audiodev'' options.
>
> +@subsection Creating sound card devices and vnc without audiodev= property
> (since 4.2)
> +
> +When not using the deprecated legacy audio config, each sound card
> +should specify an @code{audiodev=} property. Additionally, when using
> +vnc, you should specify an @code{audiodev=} propery if you plan to
> +transmit audio through the VNC protocol.
> +
> @subsection -mon ...,control=readline,pretty=on|off (since 4.1)
>
> The @code{pretty=on|off} switch has no effect for HMP monitors, but is
> diff --git a/audio/audio.c b/audio/audio.c
> index 7d715332c9..e13addf922 100644
> --- a/audio/audio.c
> +++ b/audio/audio.c
> @@ -1412,8 +1412,9 @@ static AudioState *audio_init(Audiodev *dev, const char
> *name)
> drvname = AudiodevDriver_str(dev->driver);
> } else if (!QTAILQ_EMPTY(&audio_states)) {
> if (!legacy_config) {
> - dolog("You must specify an audiodev= for the device %s\n", name);
> - exit(1);
> + dolog("Device %s: audiodev default parameter is deprecated,
> please "
> + "specify audiodev=%s\n", name,
> + QTAILQ_FIRST(&audio_states)->dev->id);
> }
> return QTAILQ_FIRST(&audio_states);
> } else {
> @@ -1548,8 +1549,7 @@ CaptureVoiceOut *AUD_add_capture(
>
> if (!s) {
> if (!legacy_config) {
> - dolog("You must specify audiodev when trying to capture\n");
> - return NULL;
> + dolog("Capturing without setting an audiodev is deprecated\n");
> }
> s = audio_init(NULL, NULL);
> }
This allowed me to boot th VM with single audiodev without specifying the
audiodev in the device,
but on shutdown qemu crashes with heap corruption sadly.
-audiodev pa,id=snd1,server=/run/user/103992/pulse/native
-device ich9-intel-hda,id=sound0,msi=on
-device hda-micro,id=sound0-codec0,bus=sound0.0,cad=0
In qemu output:
free(): invalid next size (fast)
Best regards,
Maxim Levitsky
- [Qemu-devel] [PATCH 0/3] Audio: misc fixes for "Audio 20190821 patches", Kővágó, Zoltán, 2019/08/25
- [Qemu-devel] [PATCH 2/3] audio: paaudio: fix client name, Kővágó, Zoltán, 2019/08/25
- [Qemu-devel] [PATCH 1/3] audio: omitting audiodev= parameter is only deprecated, Kővágó, Zoltán, 2019/08/25
- Re: [Qemu-devel] [PATCH 1/3] audio: omitting audiodev= parameter is only deprecated,
Maxim Levitsky <=
- [Qemu-devel] [PATCH 3/3] audio: paaudio: ability to specify stream name, Kővágó, Zoltán, 2019/08/25