From patchwork Tue Nov 19 06:58:49 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Volker_R=C3=BCmelin?= X-Patchwork-Id: 11250955 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7CBA513A4 for ; Tue, 19 Nov 2019 06:59:56 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id EFCFC208CC for ; Tue, 19 Nov 2019 06:59:55 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EFCFC208CC Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=t-online.de Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:42132 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iWxUQ-0007Bt-TG for patchwork-qemu-devel@patchwork.kernel.org; Tue, 19 Nov 2019 01:59:54 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:38512) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iWxTa-0006Zl-Rk for qemu-devel@nongnu.org; Tue, 19 Nov 2019 01:59:03 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iWxTZ-0000kX-QX for qemu-devel@nongnu.org; Tue, 19 Nov 2019 01:59:02 -0500 Received: from mailout10.t-online.de ([194.25.134.21]:57538) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iWxTZ-0000jX-G5 for qemu-devel@nongnu.org; Tue, 19 Nov 2019 01:59:01 -0500 Received: from fwd22.aul.t-online.de (fwd22.aul.t-online.de [172.20.26.127]) by mailout10.t-online.de (Postfix) with SMTP id 14F5A41D7029; Tue, 19 Nov 2019 07:58:58 +0100 (CET) Received: from [192.168.211.101] (VOcBk-ZEYhrR15P8gXfBXy982L1bOT5cKE+R-5oHwekIa1qieEwkYqn+c2oJHbWQM1@[46.86.57.145]) by fwd22.t-online.de with (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384 encrypted) esmtp id 1iWxTO-10MFdY0; Tue, 19 Nov 2019 07:58:50 +0100 To: Gerd Hoffmann , qemu-devel@nongnu.org From: =?utf-8?q?Volker_R=C3=BCmelin?= Subject: [PATCH] audio: fix audio recording Message-ID: <2fc947cf-7b42-de68-3f11-cbcf1c096be9@t-online.de> Date: Tue, 19 Nov 2019 07:58:49 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.1 MIME-Version: 1.0 Content-Language: en-US X-ID: VOcBk-ZEYhrR15P8gXfBXy982L1bOT5cKE+R-5oHwekIa1qieEwkYqn+c2oJHbWQM1 X-TOI-MSGID: e5905e3c-b204-49f7-83f6-affbfef475fe X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 194.25.134.21 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" 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 Reviewed-by: Zoltán Kővágó --- audio/audio.c | 1 + 1 file changed, 1 insertion(+) diff --git a/audio/audio.c b/audio/audio.c index 7fc3aa9d16..56fae55047 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; }