summaryrefslogtreecommitdiffstats
path: root/media/libmedia/AudioRecord.cpp
diff options
context:
space:
mode:
authorGlenn Kasten <gkasten@google.com>2015-03-24 20:41:37 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-03-24 20:41:38 +0000
commit957af4cef721c1eec1606850e77ad2ef1fd0eb0a (patch)
tree3c05978c8a584181355db31052116afcda8db5f4 /media/libmedia/AudioRecord.cpp
parent343dad3c1ffdd780bbf247ceebb1f2fd344a5d51 (diff)
parent3622cdff65f34a99d2f55936a895387ad41510ce (diff)
downloadframeworks_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.cpp5
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;