From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48742) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZNPtt-0007nT-WC for qemu-devel@nongnu.org; Thu, 06 Aug 2015 14:28:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZNPtp-0000oe-Q8 for qemu-devel@nongnu.org; Thu, 06 Aug 2015 14:28:21 -0400 Received: from mail-wi0-x22a.google.com ([2a00:1450:400c:c05::22a]:36027) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZNPtp-0000m7-Ex for qemu-devel@nongnu.org; Thu, 06 Aug 2015 14:28:17 -0400 Received: by wicgj17 with SMTP id gj17so33343711wic.1 for ; Thu, 06 Aug 2015 11:28:16 -0700 (PDT) From: "=?UTF-8?q?K=C5=91v=C3=A1g=C3=B3=2C=20Zolt=C3=A1n?=" Date: Thu, 6 Aug 2015 20:28:12 +0200 Message-Id: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [Qemu-devel] [PATCH 00/25] audio: -audiodev option, multiple options List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Gerd Hoffmann , Eduardo Habkost This patch series adds support to multiple audio backends. The first part of the series (until -audiodev command line option) was submitted multiple times, see http://lists.nongnu.org/archive/html/qemu-devel/2015-06/msg05037.html and http://lists.nongnu.org/archive/html/qemu-devel/2015-07/msg00920.html Afterwards I add support to multiple backends. Audio fronteds gain a new audiodev option to specify the id of the audiodev to use. The audiodev= option is required, unless you use the old environment variable based configuration, in that case it must not used (and you can't use multiple backends). Finally I also make mixeng usage optional, it can save us some useless format converting when not needed. Also makes easier to support formats currently not supported by qemu (as only the backend has to support it, not the mixeng). For easier testing pull https://github.com/DirtYiCE/qemu.git tag audio-multi-v1. Please review. Kővágó, Zoltán (25): qapi: support implicit structs in OptsVisitor qapi: convert NumaOptions into a flat union net: remove NetLegacy struct net: use Netdev instead of NetClientOptions in client init qapi: change Netdev into a flat union qapi: reorder NetdevBase and Netdev qapi: qapi for audio backends qapi: support nested structs in OptsVisitor audio: use qapi AudioFormat instead of audfmt_e audio: -audiodev command line option audio: reduce glob_audio_state usage audio: basic support for multi backend audio audio: add audiodev properties to frontends audio: audiodev= parameters no longer optional when -audiodev present paaudio: do not create multiple connections to the same server paaudio: properly disconnect streams in fini_* audio: remove gcc specific audio_MIN, audio_MAX audio: do not run each backend in audio_run paaudio: fix playback glitches audio: remove mixeng specific code from backends audio: common rate control code for timer based outputs audio: add mixeng option (documentation) audio: make mixeng optional paaudio: get/put_buffer functions audio: split ctl_* functions into enable_* and volume_* Makefile | 4 +- audio/Makefile.objs | 3 +- audio/alsaaudio.c | 739 +++++----------- audio/audio.c | 1436 +++++++++++++++---------------- audio/audio.h | 67 +- audio/audio_int.h | 121 +-- audio/audio_legacy.c | 328 +++++++ audio/audio_pt_int.c | 173 ---- audio/audio_pt_int.h | 22 - audio/audio_template.h | 99 +-- audio/audio_win_int.c | 18 +- audio/coreaudio.c | 198 ++--- audio/dsound_template.h | 59 +- audio/dsoundaudio.c | 444 +++------- audio/mixeng.h | 11 +- audio/noaudio.c | 98 +-- audio/ossaudio.c | 589 +++++-------- audio/paaudio.c | 860 ++++++++---------- audio/rate_template.h | 2 +- audio/sdlaudio.c | 183 ++-- audio/spiceaudio.c | 283 ++---- audio/wavaudio.c | 156 +--- audio/wavcapture.c | 8 +- configure | 5 - hmp-commands.hx | 11 +- hw/arm/musicpal.c | 2 +- hw/arm/omap2.c | 2 +- hw/audio/ac97.c | 3 +- hw/audio/adlib.c | 3 +- hw/audio/cs4231a.c | 7 +- hw/audio/es1370.c | 11 +- hw/audio/gus.c | 3 +- hw/audio/hda-codec.c | 19 +- hw/audio/lm4549.c | 6 +- hw/audio/milkymist-ac97.c | 8 +- hw/audio/pcspk.c | 3 +- hw/audio/pl041.c | 1 + hw/audio/sb16.c | 15 +- hw/audio/wm8750.c | 10 +- hw/core/qdev-properties-system.c | 59 +- hw/input/tsc210x.c | 2 +- hw/net/allwinner_emac.c | 2 +- hw/net/cadence_gem.c | 2 +- hw/net/dp8393x.c | 2 +- hw/net/e1000.c | 2 +- hw/net/eepro100.c | 2 +- hw/net/etraxfs_eth.c | 2 +- hw/net/fsl_etsec/etsec.c | 2 +- hw/net/lan9118.c | 2 +- hw/net/lance.c | 2 +- hw/net/mcf_fec.c | 2 +- hw/net/milkymist-minimac2.c | 2 +- hw/net/mipsnet.c | 2 +- hw/net/ne2000-isa.c | 2 +- hw/net/ne2000.c | 2 +- hw/net/opencores_eth.c | 2 +- hw/net/pcnet-pci.c | 2 +- hw/net/rocker/rocker_fp.c | 2 +- hw/net/rtl8139.c | 2 +- hw/net/smc91c111.c | 2 +- hw/net/spapr_llan.c | 2 +- hw/net/stellaris_enet.c | 2 +- hw/net/vhost_net.c | 18 +- hw/net/virtio-net.c | 6 +- hw/net/vmxnet3.c | 2 +- hw/net/xen_nic.c | 2 +- hw/net/xgmac.c | 2 +- hw/net/xilinx_axienet.c | 2 +- hw/net/xilinx_ethlite.c | 2 +- hw/usb/dev-audio.c | 3 +- hw/usb/dev-network.c | 2 +- include/hw/qdev-properties.h | 3 + include/net/net.h | 4 +- monitor.c | 26 +- net/clients.h | 20 +- net/dump.c | 8 +- net/hub.c | 24 +- net/l2tpv3.c | 8 +- net/net.c | 129 ++- net/netmap.c | 6 +- net/slirp.c | 8 +- net/socket.c | 10 +- net/tap-win32.c | 8 +- net/tap.c | 28 +- net/vde.c | 8 +- net/vhost-user.c | 14 +- numa.c | 2 +- qapi-schema.json | 132 +-- qapi/audio.json | 268 ++++++ qapi/opts-visitor.c | 129 ++- qemu-options.hx | 237 ++++- tests/qapi-schema/qapi-schema-test.json | 9 +- tests/test-opts-visitor.c | 34 + ui/vnc.c | 29 +- ui/vnc.h | 2 + vl.c | 11 +- 96 files changed, 3553 insertions(+), 3756 deletions(-) create mode 100644 audio/audio_legacy.c delete mode 100644 audio/audio_pt_int.c delete mode 100644 audio/audio_pt_int.h create mode 100644 qapi/audio.json -- 2.4.5