From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51154) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z5BUs-00016p-8f for qemu-devel@nongnu.org; Wed, 17 Jun 2015 07:27:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z5BUm-0005kD-Dp for qemu-devel@nongnu.org; Wed, 17 Jun 2015 07:27:10 -0400 Received: from mail-wg0-x233.google.com ([2a00:1450:400c:c00::233]:33749) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z5BUm-0005k5-4S for qemu-devel@nongnu.org; Wed, 17 Jun 2015 07:27:04 -0400 Received: by wgez8 with SMTP id z8so34257273wge.0 for ; Wed, 17 Jun 2015 04:27:03 -0700 (PDT) From: "=?UTF-8?B?S8WRdsOhZ8OzIFpvbHTDoW4=?=" Message-ID: <5581579B.2020402@gmail.com> Date: Wed, 17 Jun 2015 13:18:51 +0200 MIME-Version: 1.0 References: <34d6db2f41b9101490b3f3549a9f1c5a85be03c8.1434458391.git.DirtY.iCE.hu@gmail.com> <874mm6g3b8.fsf@blackfin.pond.sub.org> In-Reply-To: <874mm6g3b8.fsf@blackfin.pond.sub.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH v2 6/6] audio: -audiodev command line option List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster Cc: Paolo Bonzini , qemu-devel@nongnu.org, Gerd Hoffmann 2015-06-17 10:13 keltezéssel, Markus Armbruster írta: > "Kővágó, Zoltán" writes: > >> This patch adds an -audiodev command line option, and deprecates the QEMU_* >> environment variables for audio backend configuration. It's syntax is similar to >> existing options (-netdev, -device, etc): >> -audiodev driver_name,property=value,... > > Sounds really good. > > Please wrap your commit message lines a bit earlier, around column 70. > >> Audio drivers now get an Audiodev * as config paramters, instead of the global >> audio_option structs. There is some code in audio/audio_legacy.c that converts >> the old environment variables to audiodev options (this way backends do not have >> to worry about legacy options, also print out them with -audio-help, to ease >> migrating to -audiodev). > > The parenthesis isn't as clear as the rest of your message, probably > because it deals with two separate things. Suggest to move out the bit > about help into its own paragraph. > >> Although now it's possible to specify multiple -audiodev options on command >> line, multiple audio backends are not supported yet. > > What happens when I specify multiple -audiodev? You get an error and qemu terminates. > How should the command line look like when multiple audio backends are > supported? There's an id property of audiodev, so you can identify them: -audiodev alsa,id=foo,... -audiodev pa,id=bar,... and audio devices should get an extra parameter, like audiodev or something like that: -device usb-audio,audiodev=foo -device usb-audio,audiodev=bar And you have two cards, one connected to the alsa device and the other connected to pulseaudio. > > Do we have a clear backward-compatible path from here to there? Currently if you specify an -audiodev option, the environment variables are completely ignored, and it will create an audio backend using the specified options. If you do not provide an -audiodev, it will initialize the audio subsystem using the old environment variables when you add the first sound card (so no -audiodev and no sound device means no audio subsystem, just like the old times). About multiple backends: if the user does not specify the id of the backend when creating the sound card, just use the first -audiodev specified on the command line (or the legacy config, if there's no -audiodev). This way we stay backward-compatible (there won't be multiple -audiodevs in legacy configs). > > [...] >> 18 files changed, 994 insertions(+), 1083 deletions(-) >> create mode 100644 audio/audio_legacy.c > > Very nice delta, but the size is a bit intimidating :) > > [...] >