From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-devel@nongnu.org, mkletzan@redhat.com, vr_qemu@t-online.de,
balaton@eik.bme.hu
Subject: Re: [PATCH 01/13] ui/vnc: Require audiodev= to enable audio
Date: Mon, 25 Sep 2023 10:05:37 +0100 [thread overview]
Message-ID: <ZRFNYTh2yqHyaREC@redhat.com> (raw)
In-Reply-To: <20230923085507.399260-2-pbonzini@redhat.com>
On Sat, Sep 23, 2023 at 10:54:54AM +0200, Paolo Bonzini wrote:
> From: Martin Kletzander <mkletzan@redhat.com>
>
> Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
> Message-ID: <a07513f1bf6123fef52ff5e7943f5704746b376b.1650874791.git.mkletzan@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> docs/about/deprecated.rst | 8 +++-----
> docs/about/removed-features.rst | 6 ++++++
> ui/vnc.c | 10 ++++++++--
> 3 files changed, 17 insertions(+), 7 deletions(-)
>
> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
> index 8f3fef97bd4..c07bf58dde1 100644
> --- a/docs/about/deprecated.rst
> +++ b/docs/about/deprecated.rst
> @@ -45,13 +45,11 @@ 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.
>
> -Creating sound card devices and vnc without ``audiodev=`` property (since 4.2)
> -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
> +Creating sound card devices without ``audiodev=`` property (since 4.2)
> +''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
>
> When not using the deprecated legacy audio config, each sound card
> -should specify an ``audiodev=`` property. Additionally, when using
> -vnc, you should specify an ``audiodev=`` property if you plan to
> -transmit audio through the VNC protocol.
> +should specify an ``audiodev=`` property.
>
> Short-form boolean options (since 6.0)
> ''''''''''''''''''''''''''''''''''''''
> diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst
> index 97ec47f1d25..276060b320c 100644
> --- a/docs/about/removed-features.rst
> +++ b/docs/about/removed-features.rst
> @@ -436,6 +436,12 @@ the process listing. This was replaced by the new ``password-secret``
> option which lets the password be securely provided on the command
> line using a ``secret`` object instance.
>
> +Creating vnc without ``audiodev=`` property (removed in 8.2)
> +''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
> +
> +When using vnc, you should specify an ``audiodev=`` property if
> +you plan to transmit audio through the VNC protocol.
> +
> QEMU Machine Protocol (QMP) commands
> ------------------------------------
>
> diff --git a/ui/vnc.c b/ui/vnc.c
> index 6fd86996a54..cfa18bbd3e1 100644
> --- a/ui/vnc.c
> +++ b/ui/vnc.c
> @@ -2508,11 +2508,17 @@ static int protocol_client_msg(VncState *vs, uint8_t *data, size_t len)
> switch (read_u16 (data, 2)) {
> case VNC_MSG_CLIENT_QEMU_AUDIO_ENABLE:
> trace_vnc_msg_client_audio_enable(vs, vs->ioc);
> - audio_add(vs);
> + if (vs->vd->audio_state) {
> + audio_add(vs);
> + } else {
> + error_report("audio not available, use audiodev= option for vnc");
> + }
> break;
> case VNC_MSG_CLIENT_QEMU_AUDIO_DISABLE:
> trace_vnc_msg_client_audio_disable(vs, vs->ioc);
> - audio_del(vs);
> + if (vs->vd->audio_state) {
> + audio_del(vs);
> + }
> break;
> case VNC_MSG_CLIENT_QEMU_AUDIO_SET_FORMAT:
> if (len == 4)
This is not good. The code is still advertizing the audio encoding
to client despite the fact it will not work. This will result in
spamming the console every time an audio-enabled VNC client connects.
We need to *not* send the audio ack in response to VNC_ENCODING_AUDIO,
so that clients aren't told audio exists.
In protocol_client_msg we need to call vnc_client_error() to immediately
drop the client if they try to send any audio control messages when
audio is not advertized.
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
next prev parent reply other threads:[~2023-09-25 9:06 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-23 8:54 [PATCH 00/13] Cleanup deprecated audio features, take 2 Paolo Bonzini
2023-09-23 8:54 ` [PATCH 01/13] ui/vnc: Require audiodev= to enable audio Paolo Bonzini
2023-09-25 9:05 ` Daniel P. Berrangé [this message]
2023-09-23 8:54 ` [PATCH 02/13] audio: Require AudioState in AUD_add_capture Paolo Bonzini
2023-09-23 11:48 ` BALATON Zoltan
2023-09-24 8:53 ` Paolo Bonzini
2023-09-28 11:59 ` BALATON Zoltan
2023-09-28 13:01 ` Markus Armbruster
2023-09-23 8:54 ` [PATCH 03/13] audio: allow returning an error from the driver init Paolo Bonzini
2023-09-23 8:54 ` [PATCH 04/13] audio: return Error ** from audio_state_by_name Paolo Bonzini
2023-09-23 8:54 ` [PATCH 05/13] audio: commonize voice initialization Paolo Bonzini
2023-09-23 8:54 ` [PATCH 06/13] audio: simplify flow in audio_init Paolo Bonzini
2023-09-23 8:55 ` [PATCH 07/13] audio: remove QEMU_AUDIO_* and -audio-help support Paolo Bonzini
2023-09-23 8:55 ` [PATCH 08/13] Introduce machine property "audiodev" Paolo Bonzini
2023-09-23 8:55 ` [PATCH 09/13] hw/arm: Support machine-default audiodev with fallback Paolo Bonzini
2023-09-23 8:55 ` [PATCH 10/13] hw/ppc: " Paolo Bonzini
2023-09-23 8:55 ` [PATCH 11/13] vt82c686: " Paolo Bonzini
2023-09-23 12:23 ` BALATON Zoltan
2023-09-24 8:53 ` Paolo Bonzini
2023-09-24 12:14 ` BALATON Zoltan
2023-09-24 16:06 ` Paolo Bonzini
2023-09-23 8:55 ` [PATCH 12/13] audio: forbid mixing default audiodev backend and -audiodev Paolo Bonzini
2023-09-23 8:55 ` [PATCH 13/13] audio: forbid default audiodev backend with -nodefaults Paolo Bonzini
-- strict thread matches above, loose matches on Subject: below --
2023-09-28 7:36 [PATCH v2 00/13] Cleanup deprecated audio features, take 2 Paolo Bonzini
2023-09-28 7:36 ` [PATCH 01/13] ui/vnc: Require audiodev= to enable audio Paolo Bonzini
2023-09-28 8:15 ` Daniel P. Berrangé
2023-10-02 14:57 [PATCH v4 00/13] Cleanup deprecated audio features, take 2 Paolo Bonzini
2023-10-02 14:57 ` [PATCH 01/13] ui/vnc: Require audiodev= to enable audio Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZRFNYTh2yqHyaREC@redhat.com \
--to=berrange@redhat.com \
--cc=balaton@eik.bme.hu \
--cc=mkletzan@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=vr_qemu@t-online.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).