am e6499429: Merge commit \'83b47a68\' into manualmerge
* commit 'e64994292cb02fae66f04002e1121d29979503d1':
usb audio: Fix incorrect bytes returned for recording
diff --git a/modules/usbaudio/audio_hw.c b/modules/usbaudio/audio_hw.c
index 7f6d8bd..f391b10 100644
--- a/modules/usbaudio/audio_hw.c
+++ b/modules/usbaudio/audio_hw.c
@@ -793,6 +793,7 @@
size_t num_read_buff_bytes = 0;
void * read_buff = buffer;
void * out_buff = buffer;
+ int ret = 0;
struct stream_in * in = (struct stream_in *)stream;
@@ -842,7 +843,8 @@
read_buff = in->conversion_buffer;
}
- if (proxy_read(&in->proxy, read_buff, num_read_buff_bytes) == 0) {
+ ret = proxy_read(&in->proxy, read_buff, num_read_buff_bytes);
+ if (ret == 0) {
/*
* Do any conversions necessary to send the data in the format specified to/by the HAL
* (but different from the ALSA format), such as 24bit ->16bit, or 4chan -> 2chan.
@@ -886,7 +888,7 @@
if (num_read_buff_bytes > 0 && in->dev->mic_muted)
memset(buffer, 0, num_read_buff_bytes);
} else {
- num_read_buff_bytes = 0;
+ num_read_buff_bytes = 0; // reset the value after USB headset is unplugged
}
err: