Makefile.objs | 6 +- audio/Makefile.objs | 3 +- audio/alsaaudio.c | 755 ++++------- audio/audio.c | 1561 ++++++++++++----------- audio/audio.h | 78 +- audio/audio_int.h | 131 +- audio/audio_legacy.c | 342 +++++ audio/audio_pt_int.c | 174 --- audio/audio_pt_int.h | 22 - audio/audio_template.h | 112 +- 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 | 594 ++++----- audio/paaudio.c | 881 ++++++------- audio/rate_template.h | 2 +- audio/sdlaudio.c | 218 ++-- audio/spiceaudio.c | 286 ++--- audio/wavaudio.c | 158 +-- audio/wavcapture.c | 8 +- configure | 5 - hmp-commands.hx | 11 +- 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 | 35 +- 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/display/xlnx_dp.c | 2 +- hw/input/tsc210x.c | 2 +- hw/usb/dev-audio.c | 460 ++++++- include/hw/qdev-properties.h | 3 + include/qapi/opts-visitor.h | 9 +- include/sysemu/replay.h | 4 +- monitor.c | 12 +- net/net.c | 2 +- numa.c | 2 +- qapi/audio.json | 261 ++++ qapi/opts-visitor.c | 145 ++- qapi/qapi-schema.json | 1 + qemu-options.hx | 242 +++- qom/object_interfaces.c | 2 +- replay/replay-audio.c | 16 +- tests/qapi-schema/qapi-schema-test.json | 9 +- tests/qapi-schema/qapi-schema-test.out | 4 + tests/test-opts-visitor.c | 43 +- ui/vnc.c | 41 +- ui/vnc.h | 2 + vl.c | 11 +- 61 files changed, 3921 insertions(+), 3748 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