diff options
author | Eric Laurent <elaurent@google.com> | 2015-01-10 01:13:38 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-01-10 01:13:38 +0000 |
commit | 5b16836d6733170167f00d216ed149e07e3e1c28 (patch) | |
tree | a2a5bce9763ddd060cbdb402a9fdef8adc8f5014 /modules | |
parent | 31844086a611a5cad4520f87303660c7137d05cc (diff) | |
parent | e64994292cb02fae66f04002e1121d29979503d1 (diff) | |
download | hardware_libhardware-5b16836d6733170167f00d216ed149e07e3e1c28.zip hardware_libhardware-5b16836d6733170167f00d216ed149e07e3e1c28.tar.gz hardware_libhardware-5b16836d6733170167f00d216ed149e07e3e1c28.tar.bz2 |
am e6499429: Merge commit \'83b47a68\' into manualmerge
* commit 'e64994292cb02fae66f04002e1121d29979503d1':
usb audio: Fix incorrect bytes returned for recording
Diffstat (limited to 'modules')
-rw-r--r-- | modules/usbaudio/audio_hw.c | 6 |
1 files changed, 4 insertions, 2 deletions
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 @@ static ssize_t in_read(struct audio_stream_in *stream, void* buffer, size_t byte 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 @@ static ssize_t in_read(struct audio_stream_in *stream, void* buffer, size_t byte 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 @@ static ssize_t in_read(struct audio_stream_in *stream, void* buffer, size_t byte 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: |