Commit 6cdc2d18 authored by Gerd Hoffmann's avatar Gerd Hoffmann
Browse files

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 <maxehr@umiacs.umd.edu>
Cc: Martin Schrodt <martin@schrodt.org>
Buglink: https://bugs.launchpad.net/bugs/1795527


Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
Message-id: 20181109142032.1628-1-kraxel@redhat.com
parent 627c865d
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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__)) {