This patch series reduces the playback latency for audio backends, in some cases significantly. For PulseAudio, the audio buffer is also moved from the QEMU side to the PulseAudio server side. This improves the drop-out safety for PulseAudio.
Volker Rümelin (15): audio: replace open-coded buffer arithmetic audio: move function audio_pcm_hw_clip_out() audio: add function audio_pcm_hw_conv_in() audio: inline function audio_pcm_sw_get_rpos_in() paaudio: increase default latency to 46ms jackaudio: use more jack audio buffers audio: copy playback stream in sequential order audio: add pcm_ops function table for capture backend audio: revert tests for pcm_ops table audio: restore mixing-engine playback buffer size paaudio: reduce effective playback buffer size dsoundaudio: reduce effective playback buffer size ossaudio: reduce effective playback buffer size paaudio: fix samples vs. frames mix-up sdlaudio: fix samples vs. frames mix-up audio/alsaaudio.c | 1 + audio/audio.c | 194 ++++++++++++++++++++++++-------------------- audio/audio_int.h | 9 +- audio/coreaudio.c | 13 +-- audio/dsoundaudio.c | 30 ++++--- audio/jackaudio.c | 5 +- audio/noaudio.c | 1 + audio/ossaudio.c | 17 +++- audio/paaudio.c | 49 ++++++----- audio/sdlaudio.c | 21 +++-- audio/wavaudio.c | 1 + 11 files changed, 199 insertions(+), 142 deletions(-)
I used the wrong mail address to send these patches. I'll wait a few days for reviews before I send a version 2 series with the correct address.
With best regards, Volker