From e0366d0b2fc9bb232efbe3672e2ae883dea9451c Mon Sep 17 00:00:00 2001 From: Eric Laurent <> Date: Tue, 24 Mar 2009 18:56:19 -0700 Subject: [PATCH] Automated import from //branches/cupcake/...@142064,142064 --- media/libmedia/AudioRecord.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/media/libmedia/AudioRecord.cpp b/media/libmedia/AudioRecord.cpp index 5c800c3efb2e8..986f88ee100cd 100644 --- a/media/libmedia/AudioRecord.cpp +++ b/media/libmedia/AudioRecord.cpp @@ -532,7 +532,14 @@ bool AudioRecord::processAudioBuffer(const sp& 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;