On Mon, Apr 25, 2022 at 10:21:49AM +0200, Martin Kletzander wrote: > Signed-off-by: Martin Kletzander <mklet...@redhat.com> > --- > ui/vnc.c | 15 +++++++++------ > 1 file changed, 9 insertions(+), 6 deletions(-) > > diff --git a/ui/vnc.c b/ui/vnc.c > index badf1d7664fe..2e7af139b030 100644 > --- a/ui/vnc.c > +++ b/ui/vnc.c > @@ -4188,12 +4188,15 @@ void vnc_display_open(const char *id, Error **errp) > vd->ledstate = 0; > > audiodev = qemu_opt_get(opts, "audiodev"); > - if (audiodev) { > - vd->audio_state = audio_state_by_name(audiodev); > - if (!vd->audio_state) { > - error_setg(errp, "Audiodev '%s' not found", audiodev); > - goto fail; > - } > + if (!audiodev) { > + error_setg(errp, "Audiodev parameter for vnc required"); > + goto fail; > + }
I know we deprecated not setting 'audiodev', but I'm not convinced this is the right approach. The VNC audio extension is a custom QEMU invention that few VNC clients have implemented, and even when implemented few turn it on as it is pretty awful stuttering. IMHO a better approach could be to leave audiodev optional, but stop advertizing VNC_ENCODING_AUDIO when it isn't set. IOW, current situation -vnc :1 -> enables audio capture from default backend This patch -vnc :1 -> error -vnc :1,audiodev=audio0 -> enable audio capture from 'audio0' Better: -vnc :1 -> stop advertizing VNC_ENCODING_AUDIO -vnc :1,audiodev=audio0 -> enable audio capture from 'audio0' > + > + vd->audio_state = audio_state_by_name(audiodev); > + if (!vd->audio_state) { > + error_setg(errp, "Audiodev '%s' not found", audiodev); > + goto fail; > } > > device_id = qemu_opt_get(opts, "display"); > -- > 2.35.1 > 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 :|