Patch "audio: change naming scheme of FLOAT_CONV macros" and patch "audio: consistency changes" should have been a review for ed2a4a7941 "audio: proper support for float samples in mixeng", but I was too slow.
Patch "audio: change mixing engine float range to [-1.f, 1.f]" definitely needs to be tested by macOS users. I verified PulseAudio, SDL2 and ALSA (actually libasound) work, but I don't want to introduce a regression for CoreAudio. I spent some time on https://developer.apple.com but I couldn't find the answer if CoreAudio uses the [-1.f, 1.f] range too. The results from my favorite search engine suggest the answer is yes. @Howard: I need your help once again. Can you please test if you can hear (or see) clipping with my patches? Don't forget to set all volume controls in the guest and on the host to 100% or 0dB to get a reliable result. Compared to qemu without these patches I expect the playback volume is a bit louder, but there's still no clipping. Volker Rümelin (5): qapi/audio: add documentation for AudioFormat audio: change naming scheme of FLOAT_CONV macros audio: consistency changes audio: change mixing engine float range to [-1.f, 1.f] audio: fix saturation nonlinearity in clip_* functions audio/mixeng.c | 26 +++++++++++++------------- audio/mixeng_template.h | 22 ++++++++++------------ qapi/audio.json | 14 ++++++++++++++ 3 files changed, 37 insertions(+), 25 deletions(-) -- 2.16.4