diff options
author | Eric Laurent <> | 2009-03-24 21:23:54 -0700 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-24 21:23:54 -0700 |
commit | 272beb63834e213ee35a83741a5e2ae1279999d5 (patch) | |
tree | bf76b111ae71c8192666f98b1a3e4d468a686b0b /media/libmedia | |
parent | db028c8894c7665fc393b2fc1be57a56eb7dc150 (diff) | |
download | frameworks_base-272beb63834e213ee35a83741a5e2ae1279999d5.zip frameworks_base-272beb63834e213ee35a83741a5e2ae1279999d5.tar.gz frameworks_base-272beb63834e213ee35a83741a5e2ae1279999d5.tar.bz2 |
Automated import from //branches/donutburger/...@142065,142065
Diffstat (limited to 'media/libmedia')
-rw-r--r-- | media/libmedia/AudioRecord.cpp | 9 |
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; |