Sergei Heifetz <[email protected]> writes:

> D-Bus display can be used even when QEMU is configured with
> `--disable-audio`. In that case, audio interface will not be available
> on `/org/qemu/Display1/Audio`.
>
> (The current handling of the situation when audio is enabled but
> no D-Bus-compatible audio backend is available is different and
> hasn’t been changed.)
>
> Signed-off-by: Sergei Heifetz <[email protected]>
> ---
>  qapi/ui.json    | 2 +-
>  qemu-options.hx | 4 ++++
>  ui/dbus.c       | 8 ++++++++
>  3 files changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/qapi/ui.json b/qapi/ui.json
> index e3da77632a8..62eb05c6091 100644
> --- a/qapi/ui.json
> +++ b/qapi/ui.json
> @@ -1385,7 +1385,7 @@
>    'data'    : { '*rendernode' : 'str',
>                  '*addr': 'str',
>                  '*p2p': 'bool',
> -                '*audiodev': 'str' } }
> +                '*audiodev': { 'type': 'str', 'if': 'CONFIG_AUDIO' } } }

Is this a compatibility break?

DisplayDBus is only used in DisplayOptions, which is only used as return
type of query-display-options in the QAPI schema.  However, vl.c also
uses it to parse -display.

Removing parameter @audiodev from -display is technically a
compatibility break.  However, we're removing an optional paramater that
would always be rejected when present: it has no valid value, because
there are no audiodevs.

Removal from query-display-options is similar: it could not be present.

Removal affects introspection, which could conceivably confuse client.
I don't expect such trouble here, because @audiodev always existed, i.e.
there's no real reason to look for it in introspection.

I think we're okay.  I'm cc'ing the libvirt list just in case.

Do we need a release note?

Do we need an entry in docs/about/removed-features.rst?  Feels a bit
odd; we're not removing a feature, we're adding one, namely "can compile
out audio".

>  
>  ##
>  # @DisplayGLMode:
> diff --git a/qemu-options.hx b/qemu-options.hx
> index 29dc865820a..20d15c0004f 100644
> --- a/qemu-options.hx
> +++ b/qemu-options.hx
> @@ -2232,6 +2232,10 @@ SRST
>          If no audio backend is specified and the dbus display backend is
>          specified, the dbus audio backend is used by default.
>  
> +        (If audio is disabled at compile time via the ``--disable-audio`` 
> option,
> +        no audio backend is used, and none of the audio-related D-Bus 
> interfaces
> +        are exported.)
> +

Well, audio is either compiled in or it isn't.

If it's compiled in, then why tell the user how things behave when it's
not?

If it's not compiled in, then why document stuff that doesn't work?  How
much of -audiodev still works then?  -audiodev none?  Anything else?

>          The connection is registered with the "org.qemu" name (and queued 
> when
>          already owned).
>  

[...]


Reply via email to