From: Gerd Hoffmann Date: Fri, 9 Nov 2018 14:20:32 +0000 (+0100) Subject: pulseaudio: process audio data in smaller chunks X-Git-Tag: qemu-xen-4.13.0-rc1~553^2~1 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=6cdc2d189cb60a9d13e2d975b3fdb12eb00885cc;p=qemu-xen.git pulseaudio: process audio data in smaller chunks The rate of pulseaudio absorbing the audio stream is used to control the the rate of the guests audio stream. When the emulated hardware uses small chunks (like intel-hda does) we need small chunks on the audio backend side too, otherwise that feedback loop doesn't work very well. Cc: Max Ehrlich Cc: Martin Schrodt Buglink: https://bugs.launchpad.net/bugs/1795527 Signed-off-by: Gerd Hoffmann Reviewed-by: Philippe Mathieu-Daudé Message-id: 20181109142032.1628-1-kraxel@redhat.com --- diff --git a/audio/paaudio.c b/audio/paaudio.c index 949769774d..4c100bc318 100644 --- a/audio/paaudio.c +++ b/audio/paaudio.c @@ -227,7 +227,7 @@ static void *qpa_thread_out (void *arg) } } - decr = to_mix = audio_MIN (pa->live, pa->g->conf.samples >> 2); + decr = to_mix = audio_MIN(pa->live, pa->g->conf.samples >> 5); rpos = pa->rpos; if (audio_pt_unlock(&pa->pt, __func__)) { @@ -319,7 +319,7 @@ static void *qpa_thread_in (void *arg) } } - incr = to_grab = audio_MIN (pa->dead, pa->g->conf.samples >> 2); + incr = to_grab = audio_MIN(pa->dead, pa->g->conf.samples >> 5); wpos = pa->wpos; if (audio_pt_unlock(&pa->pt, __func__)) {