diff options
author | Glenn Kasten <gkasten@google.com> | 2014-01-17 17:10:46 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-01-17 17:10:47 +0000 |
commit | 6d88aaf9cd810d96a4888dff8bd33d44cd01ccaa (patch) | |
tree | 4d40dd6357b17be74765038f349e1f917d499baf /media/libmedia/AudioRecord.cpp | |
parent | 6a507298357c9ff869b97db57a890e58bd6bdec0 (diff) | |
parent | 5e1f79baa5c7355effbd2c9183787d6604487908 (diff) | |
download | frameworks_av-6d88aaf9cd810d96a4888dff8bd33d44cd01ccaa.zip frameworks_av-6d88aaf9cd810d96a4888dff8bd33d44cd01ccaa.tar.gz frameworks_av-6d88aaf9cd810d96a4888dff8bd33d44cd01ccaa.tar.bz2 |
Merge "AudioRecord: fix unwanted overrun when restarting"
Diffstat (limited to 'media/libmedia/AudioRecord.cpp')
-rw-r--r-- | media/libmedia/AudioRecord.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/media/libmedia/AudioRecord.cpp b/media/libmedia/AudioRecord.cpp index da513c8..7183193 100644 --- a/media/libmedia/AudioRecord.cpp +++ b/media/libmedia/AudioRecord.cpp @@ -289,6 +289,9 @@ status_t AudioRecord::start(AudioSystem::sync_event_t event, int triggerSession) // reset current position as seen by client to 0 mProxy->setEpoch(mProxy->getEpoch() - mProxy->getPosition()); + // force refresh of remaining frames by processAudioBuffer() as last + // read before stop could be partial. + mRefreshRemaining = true; mNewPosition = mProxy->getPosition() + mUpdatePeriod; int32_t flags = android_atomic_acquire_load(&mCblk->mFlags); |