From fb7df2c355aad453f1978207e4116b2d4a61f34b Mon Sep 17 00:00:00 2001 From: Andy Hung Date: Fri, 13 Mar 2015 15:55:18 -0700 Subject: Fix periodic notification timing error for AudioRecord Change-Id: I768d8a30c6845372ad7c306ed1bc0ec030ae1804 --- media/libmedia/AudioRecord.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'media/libmedia/AudioRecord.cpp') diff --git a/media/libmedia/AudioRecord.cpp b/media/libmedia/AudioRecord.cpp index 07ca14f..48abb96 100644 --- a/media/libmedia/AudioRecord.cpp +++ b/media/libmedia/AudioRecord.cpp @@ -863,8 +863,11 @@ nsecs_t AudioRecord::processAudioBuffer() if (!markerReached && position < markerPosition) { minFrames = markerPosition - position; } - if (updatePeriod > 0 && updatePeriod < minFrames) { - minFrames = updatePeriod; + if (updatePeriod > 0) { + uint32_t remaining = newPosition - position; + if (remaining < minFrames) { + minFrames = remaining; + } } // If > 0, poll periodically to recover from a stuck server. A good value is 2. -- cgit v1.1