summaryrefslogtreecommitdiffstats
path: root/media/libmedia
diff options
context:
space:
mode:
authorAndy Hung <hunga@google.com>2015-09-09 14:39:02 -0700
committerGlenn Kasten <gkasten@google.com>2015-10-13 15:48:31 -0700
commit954ca45ac30539a49f179580b667b0ab1056d113 (patch)
tree33adc92ecf3ea0bbafa97882e61381e3a8bf1204 /media/libmedia
parente5200ea76c5d180b53087ae7825326ec61cc4687 (diff)
downloadframeworks_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.cpp6
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;
}