[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 2/3] qapi, audio: respect build time conditions in audio sche
From: |
Eric Blake |
Subject: |
Re: [PATCH 2/3] qapi, audio: respect build time conditions in audio schema |
Date: |
Tue, 2 Mar 2021 13:05:45 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 |
On 3/2/21 11:55 AM, Daniel P. Berrangé wrote:
> Currently the -audiodev accepts any audiodev type regardless of what is
> built in to QEMU. An error only occurs later at runtime when a sound
> device tries to use the audio backend.
>
> With this change QEMU will immediately reject -audiodev args that are
> not compiled into the binary. The QMP schema will also be introspectable
> to identify what is compiled in.
Nice!
>
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
> audio/audio.c | 16 +++++++++++++++
> audio/audio_legacy.c | 41 ++++++++++++++++++++++++++++++++++++++-
> audio/audio_template.h | 16 +++++++++++++++
> qapi/audio.json | 44 ++++++++++++++++++++++++++++++++----------
> 4 files changed, 106 insertions(+), 11 deletions(-)
>
> +++ b/qapi/audio.json
> @@ -386,8 +386,24 @@
> # Since: 4.0
> ##
> { 'enum': 'AudiodevDriver',
> - 'data': [ 'none', 'alsa', 'coreaudio', 'dsound', 'jack', 'oss', 'pa',
> - 'sdl', 'spice', 'wav' ] }
> + 'data': [ 'none',
> + { 'name': 'alsa',
> + 'if': 'defined(CONFIG_AUDIO_ALSA)' },
> + { 'name': 'coreaudio',
> + 'if': 'defined(CONFIG_AUDIO_COREAUDIO)' },
> + { 'name': 'dsound',
> + 'if': 'defined(CONFIG_AUDIO_DSOUND)' },
> + { 'name': 'jack',
> + 'if': 'defined(CONFIG_AUDIO_JACK)' },
> + { 'name': 'oss',
> + 'if': 'defined(CONFIG_AUDIO_OSS)' },
> + { 'name': 'pa',
> + 'if': 'defined(CONFIG_AUDIO_PA)' },
> + { 'name': 'sdl',
> + 'if': 'defined(CONFIG_AUDIO_SDL)' },
> + { 'name': 'spice',
> + 'if': 'defined(CONFIG_SPICE)' },
> + 'wav' ] }
I'll trust that you compiled multiple times to test the various
interplays between options.
Reviewed-by: Eric Blake <eblake@redhat.com>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org
[PATCH 3/3] qapi: provide a friendly string representation of QAPI classes, Daniel P . Berrangé, 2021/03/02