From: Volker Rümelin <vr_q...@t-online.de> With current code audio recording with all audio backends except PulseAudio and DirectSound is broken. The generic audio recording buffer management forgot to update the current read position after a read.
Fixes: ff095e5231 "audio: api for mixeng code free backends" Signed-off-by: Volker Rümelin <vr_q...@t-online.de> Reviewed-by: Zoltán Kővágó <dirty.ice...@gmail.com> Message-id: 2fc947cf-7b42-de68-3f11-cbcf1c096...@t-online.de Signed-off-by: Gerd Hoffmann <kra...@redhat.com> --- audio/audio.c | 1 + 1 file changed, 1 insertion(+) diff --git a/audio/audio.c b/audio/audio.c index 7fc3aa9d1637..56fae5504710 100644 --- a/audio/audio.c +++ b/audio/audio.c @@ -1390,6 +1390,7 @@ void *audio_generic_get_buffer_in(HWVoiceIn *hw, size_t *size) size_t read = hw->pcm_ops->read(hw, hw->buf_emul + hw->pos_emul, read_len); hw->pending_emul += read; + hw->pos_emul = (hw->pos_emul + read) % hw->size_emul; if (read < read_len) { break; } -- 2.18.1