diff options
author | Ronghua Wu <ronghuawu@google.com> | 2014-08-19 18:31:33 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-08-18 21:31:41 +0000 |
commit | 1593dc575cf4a83be9f4d04b24ecc402ee4e2519 (patch) | |
tree | 394d2373229a8e625fcd26c1f7cf06d9aa91b54e | |
parent | af11287b39b6420c8a05a5c8c9b72f7e4ddc82f7 (diff) | |
parent | 3e5efb37308aa1f54c2a72cd8a7a73d2d7921a90 (diff) | |
download | frameworks_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
-rw-r--r-- | media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp | 5 |
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); |