From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=49931 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PZt4f-0003CE-K3 for qemu-devel@nongnu.org; Mon, 03 Jan 2011 17:40:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PZt4d-0004ga-RR for qemu-devel@nongnu.org; Mon, 03 Jan 2011 17:40:21 -0500 Received: from mail.serverraum.org ([78.47.150.89]:44144) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PZt4d-0004fS-Ko for qemu-devel@nongnu.org; Mon, 03 Jan 2011 17:40:19 -0500 From: Michael Walle Date: Mon, 3 Jan 2011 23:40:04 +0100 Message-Id: <1294094404-20397-1-git-send-email-michael@walle.cc> Subject: [Qemu-devel] [PATCH] noaudio: use audio_pcm_sw_read() in no_read() List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Michael Walle Instead of returning a self-calculated empty buffer use the proper method supplied by the audio subsystem. This will fix the return value of the no_read() function which otherwise returns too many samples because total_hw_samples_acquired isn't correctly accounted. Signed-off-by: Michael Walle --- audio/noaudio.c | 6 +----- 1 files changed, 1 insertions(+), 5 deletions(-) diff --git a/audio/noaudio.c b/audio/noaudio.c index 8015858..e720327 100644 --- a/audio/noaudio.c +++ b/audio/noaudio.c @@ -117,11 +117,7 @@ static int no_run_in (HWVoiceIn *hw) static int no_read (SWVoiceIn *sw, void *buf, int size) { - int samples = size >> sw->info.shift; - int total = sw->hw->total_samples_captured - sw->total_hw_samples_acquired; - int to_clear = audio_MIN (samples, total); - audio_pcm_info_clear_buf (&sw->info, buf, to_clear); - return to_clear << sw->info.shift; + return audio_pcm_sw_read (sw, buf, size); } static int no_ctl_in (HWVoiceIn *hw, int cmd, ...) -- 1.7.2.3