On 07/03/2018 09:19 AM, Gerd Hoffmann wrote:
> 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>
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
> audio/paaudio.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> 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);
Same pattern/value: can we have a #define?
I looked at the PA intel-hda code and couldn't find the chunk size,
anyway this change looks sane.
> wpos = pa->wpos;
>
> if (audio_pt_unlock(&pa->pt, __func__)) {
>