This patch series adds support to more than two channels of audio (5.1, 7.1, etc.). Currently only usb-audio frontend and alsa and pa backends are updated. Using more than two channels requires turning off mixeng (-audiodev backend,id=foo,out.mixeng=off,...).
For backward compatibility reasons, you have to specify multi=on when creating the usb-audio device: -device usb-audio,id=foo,multi=on,... Please review. Kővágó, Zoltán (9): 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 audio/alsaaudio.c | 17 +- audio/audio.c | 176 +++++++++++++------ audio/audio.h | 10 ++ audio/audio_int.h | 7 +- audio/audio_template.h | 22 ++- audio/coreaudio.c | 4 +- audio/dsound_template.h | 10 +- audio/dsoundaudio.c | 4 +- audio/noaudio.c | 2 +- audio/ossaudio.c | 14 +- audio/paaudio.c | 121 +++++++++++-- audio/spiceaudio.c | 19 ++- audio/wavaudio.c | 6 +- hw/usb/dev-audio.c | 446 +++++++++++++++++++++++++++++++++++++++++------- qapi/audio.json | 10 +- qemu-options.hx | 15 ++ 16 files changed, 703 insertions(+), 180 deletions(-) -- 2.5.0