summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorRonghua Wu <ronghuawu@google.com>2014-08-18 16:27:08 -0700
committerRonghua Wu <ronghuawu@google.com>2014-08-19 10:05:45 -0700
commit3e5efb37308aa1f54c2a72cd8a7a73d2d7921a90 (patch)
treee574d7fb45d5b7e06032d58afbbde44e61fde8a1 /media
parentf2575571d88cd42508407e98957a19a875dcf926 (diff)
downloadframeworks_av-3e5efb37308aa1f54c2a72cd8a7a73d2d7921a90.zip
frameworks_av-3e5efb37308aa1f54c2a72cd8a7a73d2d7921a90.tar.gz
frameworks_av-3e5efb37308aa1f54c2a72cd8a7a73d2d7921a90.tar.bz2
NuPlayerRenderer: only query audio sink for position for the first entry.
Bug: 17035257 Change-Id: I472ec4610e1174c59986f42d72fe55f90e93731e
Diffstat (limited to 'media')
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
index 3640038..3777f64 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
@@ -318,6 +318,7 @@ size_t NuPlayer::Renderer::fillAudioBuffer(void *buffer, size_t size) {
bool hasEOS = false;
size_t sizeCopied = 0;
+ bool firstEntry = true;
while (sizeCopied < size && !mAudioQueue.empty()) {
QueueEntry *entry = &*mAudioQueue.begin();
@@ -328,14 +329,14 @@ size_t NuPlayer::Renderer::fillAudioBuffer(void *buffer, size_t size) {
break;
}
- if (entry->mOffset == 0) {
+ if (firstEntry && entry->mOffset == 0) {
+ firstEntry = false;
int64_t mediaTimeUs;
CHECK(entry->mBuffer->meta()->findInt64("timeUs", &mediaTimeUs));
ALOGV("rendering audio at media time %.2f secs", mediaTimeUs / 1E6);
if (mFirstAudioTimeUs == -1) {
mFirstAudioTimeUs = mediaTimeUs;
}
- mAnchorTimeMediaUs = mediaTimeUs;
uint32_t numFramesPlayed;
CHECK_EQ(mAudioSink->getPosition(&numFramesPlayed), (status_t)OK);