summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer
diff options
context:
space:
mode:
authorRonghua Wu <ronghuawu@google.com>2014-08-19 18:31:33 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-08-18 21:31:41 +0000
commit1593dc575cf4a83be9f4d04b24ecc402ee4e2519 (patch)
tree394d2373229a8e625fcd26c1f7cf06d9aa91b54e /media/libmediaplayerservice/nuplayer
parentaf11287b39b6420c8a05a5c8c9b72f7e4ddc82f7 (diff)
parent3e5efb37308aa1f54c2a72cd8a7a73d2d7921a90 (diff)
downloadframeworks_av-1593dc575cf4a83be9f4d04b24ecc402ee4e2519.zip
frameworks_av-1593dc575cf4a83be9f4d04b24ecc402ee4e2519.tar.gz
frameworks_av-1593dc575cf4a83be9f4d04b24ecc402ee4e2519.tar.bz2
Merge "NuPlayerRenderer: only query audio sink for position for the first entry." into lmp-dev
Diffstat (limited to 'media/libmediaplayerservice/nuplayer')
-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);