Hi, Sorry guys, I've disappeared for a while... But anyways, I've updated my 5.1 audio patches to git master.
About qapi flattening. That didn't really work last time, so now I've modified OptsVisitor to support both the old way of operation (ignoring structs) and the new way (requiring fully qualified paths for members inside structs). Not sure if qapi people would like the idea though... Otherwise I just updated it to work with master. Haven't really tested on any OS beside Linux. Please review. Kővágó, Zoltán (51): qapi: support implicit structs in OptsVisitor qapi: support nested structs in OptsVisitor qapi: qapi for audio backends audio: use qapi AudioFormat instead of audfmt_e audio: -audiodev command line option: documentation audio: -audiodev command line option basic implementation alsaaudio: port to -audiodev config coreaudio: port to -audiodev config dsoundaudio: port to -audiodev config noaudio: port to -audiodev config ossaudio: port to -audiodev config paaudio: port to -audiodev config sdlaudio: port to -audiodev config spiceaudio: port to -audiodev config wavaudio: port to -audiodev config audio: -audiodev command line option: cleanup 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 move stream when sink/source name is specified paaudio: properly disconnect streams in fini_* audio: remove audio_MIN, audio_MAX audio: do not run each backend in audio_run paaudio: fix playback glitches audio: remove read and write pcm_ops audio: use size_t where makes sense audio: api for mixeng code free backends alsaaudio: port to the new audio backend api coreaudio: port to the new audio backend api noaudio: port to the new audio backend api ossaudio: port to the new audio backend api paaudio: port to the new audio backend api sdlaudio: port to the new audio backend api spiceaudio: port to the new audio backend api wavaudio: port to the new audio backend api audio: remove remains of the old backend api audio: unify input and output mixeng buffer management audio: remove hw->samples, buffer_size_in/out pcm_ops audio: common rate control code for timer based outputs audio: split ctl_* functions into enable_* and volume_* audio: add mixeng option (documentation) audio: make mixeng optional paaudio: get/put_buffer functions audio: support more than two channels in volume setting audio: replace shift in audio_pcm_info with bytes_per_frame audio: basic support for multichannel audio paaudio: channel-map option usb-audio: do not count on avail bytes actually available usb-audio: support more than two channels of audio usbaudio: change playback counters to 64 bit Makefile | 6 +- audio/Makefile.objs | 3 +- audio/alsaaudio.c | 751 +++++---------- audio/audio.c | 1518 ++++++++++++++++--------------- audio/audio.h | 76 +- audio/audio_int.h | 124 +-- audio/audio_legacy.c | 333 +++++++ 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 | 63 +- audio/dsoundaudio.c | 449 +++------ audio/mixeng.h | 11 +- audio/noaudio.c | 98 +- audio/ossaudio.c | 596 +++++------- audio/paaudio.c | 881 ++++++++---------- audio/rate_template.h | 2 +- audio/sdlaudio.c | 183 ++-- audio/spiceaudio.c | 286 ++---- audio/wavaudio.c | 158 +--- audio/wavcapture.c | 8 +- configure | 5 - hmp-commands.hx | 11 +- hmp.c | 2 +- hw/acpi/core.c | 2 +- hw/arm/omap2.c | 2 +- hw/audio/ac97.c | 13 +- hw/audio/adlib.c | 7 +- hw/audio/cs4231a.c | 11 +- hw/audio/es1370.c | 17 +- hw/audio/gus.c | 9 +- hw/audio/hda-codec.c | 19 +- hw/audio/lm4549.c | 6 +- hw/audio/milkymist-ac97.c | 16 +- hw/audio/pcspk.c | 5 +- hw/audio/pl041.c | 1 + hw/audio/sb16.c | 17 +- hw/audio/wm8750.c | 14 +- hw/core/qdev-properties-system.c | 57 ++ hw/input/tsc210x.c | 2 +- hw/usb/dev-audio.c | 460 ++++++++-- include/hw/qdev-properties.h | 3 + include/qapi/opts-visitor.h | 2 +- monitor.c | 12 +- net/net.c | 2 +- numa.c | 2 +- qapi-schema.json | 3 + qapi/audio.json | 271 ++++++ qapi/opts-visitor.c | 147 ++- qemu-options.hx | 242 ++++- tests/qapi-schema/qapi-schema-test.json | 9 +- tests/qapi-schema/qapi-schema-test.out | 4 + tests/test-opts-visitor.c | 36 +- ui/vnc.c | 29 +- ui/vnc.h | 2 + vl.c | 13 +- 58 files changed, 3835 insertions(+), 3674 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.7.0