diff options
author | Andy Hung <hunga@google.com> | 2015-09-09 14:39:02 -0700 |
---|---|---|
committer | Glenn Kasten <gkasten@google.com> | 2015-10-13 15:48:31 -0700 |
commit | 954ca45ac30539a49f179580b667b0ab1056d113 (patch) | |
tree | 33adc92ecf3ea0bbafa97882e61381e3a8bf1204 /media/libmedia | |
parent | e5200ea76c5d180b53087ae7825326ec61cc4687 (diff) | |
download | frameworks_av-954ca45ac30539a49f179580b667b0ab1056d113.zip frameworks_av-954ca45ac30539a49f179580b667b0ab1056d113.tar.gz frameworks_av-954ca45ac30539a49f179580b667b0ab1056d113.tar.bz2 |
For static obtainBuffer(), do not set mUnreleased if acknowledging flush.
static audio tracks use obtainBuffer() to update position in start().
Bug: 22938515
Change-Id: I8ae32f6cce4d122386d2cf8982e158049b04ba9a
Diffstat (limited to 'media/libmedia')
-rw-r--r-- | media/libmedia/AudioTrackShared.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/media/libmedia/AudioTrackShared.cpp b/media/libmedia/AudioTrackShared.cpp index 6a51a76..caa84fb 100644 --- a/media/libmedia/AudioTrackShared.cpp +++ b/media/libmedia/AudioTrackShared.cpp @@ -932,7 +932,7 @@ ssize_t StaticAudioTrackServerProxy::pollPosition() return (ssize_t) mState.mPosition; } -status_t StaticAudioTrackServerProxy::obtainBuffer(Buffer* buffer, bool ackFlush __unused) +status_t StaticAudioTrackServerProxy::obtainBuffer(Buffer* buffer, bool ackFlush) { if (mIsShutdown) { buffer->mFrameCount = 0; @@ -970,7 +970,9 @@ status_t StaticAudioTrackServerProxy::obtainBuffer(Buffer* buffer, bool ackFlush // it is always larger or equal to avail. LOG_ALWAYS_FATAL_IF(mFramesReady < (int64_t) avail); buffer->mNonContig = mFramesReady == INT64_MAX ? SIZE_MAX : clampToSize(mFramesReady - avail); - mUnreleased = avail; + if (!ackFlush) { + mUnreleased = avail; + } return NO_ERROR; } |