summaryrefslogtreecommitdiffstats
path: root/media/libmedia/AudioRecord.cpp
diff options
context:
space:
mode:
authorEric Laurent <>2009-03-24 21:23:54 -0700
committerThe Android Open Source Project <initial-contribution@android.com>2009-03-24 21:23:54 -0700
commitcd6725a333395ffeac3215ea4bf834a95aaa8def (patch)
tree5b91684d034bdf44cbd297f04d2066e78190b119 /media/libmedia/AudioRecord.cpp
parent4003bf5e4cd948fe7732c16b2a683acdbfa8c44d (diff)
downloadframeworks_av-cd6725a333395ffeac3215ea4bf834a95aaa8def.zip
frameworks_av-cd6725a333395ffeac3215ea4bf834a95aaa8def.tar.gz
frameworks_av-cd6725a333395ffeac3215ea4bf834a95aaa8def.tar.bz2
Automated import from //branches/donutburger/...@142065,142065
Diffstat (limited to 'media/libmedia/AudioRecord.cpp')
-rw-r--r--media/libmedia/AudioRecord.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/media/libmedia/AudioRecord.cpp b/media/libmedia/AudioRecord.cpp
index 5c800c3..986f88e 100644
--- a/media/libmedia/AudioRecord.cpp
+++ b/media/libmedia/AudioRecord.cpp
@@ -532,7 +532,14 @@ bool AudioRecord::processAudioBuffer(const sp<ClientRecordThread>& thread)
readSize = audioBuffer.size;
// Sanity check on returned size
- if (ssize_t(readSize) <= 0) break;
+ if (ssize_t(readSize) <= 0) {
+ // The callback is done filling buffers
+ // Keep this thread going to handle timed events and
+ // still try to get more data in intervals of WAIT_PERIOD_MS
+ // but don't just loop and block the CPU, so wait
+ usleep(WAIT_PERIOD_MS*1000);
+ break;
+ }
if (readSize > reqSize) readSize = reqSize;
audioBuffer.size = readSize;