summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice
diff options
context:
space:
mode:
authorWei Jia <wjia@google.com>2015-10-13 10:58:07 -0700
committerWei Jia <wjia@google.com>2015-10-13 21:19:11 +0000
commit492ccd6f03f83a72dcde6aa1674cc22fd45fc06e (patch)
tree4945f7454ac413220b1b0a630831af6761e84dd9 /media/libmediaplayerservice
parentc4c68f63192ae7af09a6158b2e72ca7a1a7f4364 (diff)
downloadframeworks_av-492ccd6f03f83a72dcde6aa1674cc22fd45fc06e.zip
frameworks_av-492ccd6f03f83a72dcde6aa1674cc22fd45fc06e.tar.gz
frameworks_av-492ccd6f03f83a72dcde6aa1674cc22fd45fc06e.tar.bz2
NuPlayerRenderer: always update MediaClock with max media duration.
Bug: 24345295 Change-Id: I868c9c44ea22de98a083432262e485d0f134203f (cherry picked from commit d005c5ddb4842369979df7b76f1d0f5f1380fcd9)
Diffstat (limited to 'media/libmediaplayerservice')
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp16
1 files changed, 7 insertions, 9 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
index 776dba8..8053245 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
@@ -910,6 +910,13 @@ bool NuPlayer::Renderer::onDrainAudioQueue() {
{
Mutex::Autolock autoLock(mLock);
+ int64_t maxTimeMedia;
+ maxTimeMedia =
+ mAnchorTimeMediaUs +
+ (int64_t)(max((long long)mNumFramesWritten - mAnchorNumFramesWritten, 0LL)
+ * 1000LL * mAudioSink->msecsPerFrame());
+ mMediaClock->updateMaxTimeMedia(maxTimeMedia);
+
notifyIfMediaRenderingStarted_l();
}
@@ -936,15 +943,6 @@ bool NuPlayer::Renderer::onDrainAudioQueue() {
break;
}
}
- int64_t maxTimeMedia;
- {
- Mutex::Autolock autoLock(mLock);
- maxTimeMedia =
- mAnchorTimeMediaUs +
- (int64_t)(max((long long)mNumFramesWritten - mAnchorNumFramesWritten, 0LL)
- * 1000LL * mAudioSink->msecsPerFrame());
- }
- mMediaClock->updateMaxTimeMedia(maxTimeMedia);
// calculate whether we need to reschedule another write.
bool reschedule = !mAudioQueue.empty()