diff options
author | Glenn Kasten <gkasten@google.com> | 2015-03-24 20:41:37 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-03-24 20:41:38 +0000 |
commit | 957af4cef721c1eec1606850e77ad2ef1fd0eb0a (patch) | |
tree | 3c05978c8a584181355db31052116afcda8db5f4 /media/libmedia/AudioRecord.cpp | |
parent | 343dad3c1ffdd780bbf247ceebb1f2fd344a5d51 (diff) | |
parent | 3622cdff65f34a99d2f55936a895387ad41510ce (diff) | |
download | frameworks_av-957af4cef721c1eec1606850e77ad2ef1fd0eb0a.zip frameworks_av-957af4cef721c1eec1606850e77ad2ef1fd0eb0a.tar.gz frameworks_av-957af4cef721c1eec1606850e77ad2ef1fd0eb0a.tar.bz2 |
Merge "AudioRecord::read() can be non-blocking to match AudioTrack"
Diffstat (limited to 'media/libmedia/AudioRecord.cpp')
-rw-r--r-- | media/libmedia/AudioRecord.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/media/libmedia/AudioRecord.cpp b/media/libmedia/AudioRecord.cpp index 7decafd..43554e6 100644 --- a/media/libmedia/AudioRecord.cpp +++ b/media/libmedia/AudioRecord.cpp @@ -721,7 +721,7 @@ audio_io_handle_t AudioRecord::getInputPrivate() const // ------------------------------------------------------------------------- -ssize_t AudioRecord::read(void* buffer, size_t userSize) +ssize_t AudioRecord::read(void* buffer, size_t userSize, bool blocking) { if (mTransfer != TRANSFER_SYNC) { return INVALID_OPERATION; @@ -740,7 +740,8 @@ ssize_t AudioRecord::read(void* buffer, size_t userSize) while (userSize >= mFrameSize) { audioBuffer.frameCount = userSize / mFrameSize; - status_t err = obtainBuffer(&audioBuffer, &ClientProxy::kForever); + status_t err = obtainBuffer(&audioBuffer, + blocking ? &ClientProxy::kForever : &ClientProxy::kNonBlocking); if (err < 0) { if (read > 0) { break; |