Message ID | 20180703121924.11411-1-kraxel@redhat.com |
---|---|
State | New |
Headers | show |
Series | pulseaudio: process audio data in smaller chunks | expand |
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__)) { >
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__)) {
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(-)