diff mbox series

[PULL,1/3] audio: fix audio recording

Message ID 20191121101618.29289-2-kraxel@redhat.com (mailing list archive)
State New, archived
Headers show
Series [PULL,1/3] audio: fix audio recording | expand

Commit Message

Gerd Hoffmann Nov. 21, 2019, 10:16 a.m. UTC
From: Volker Rümelin <vr_qemu@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_qemu@t-online.de>
Reviewed-by: Zoltán Kővágó <DirtY.iCE.hu@gmail.com>
Message-id: 2fc947cf-7b42-de68-3f11-cbcf1c096be9@t-online.de
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 audio/audio.c | 1 +
 1 file changed, 1 insertion(+)
diff mbox series

Patch

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;
         }