Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1593dc57 authored by Ronghua Wu's avatar Ronghua Wu Committed by Android (Google) Code Review
Browse files

Merge "NuPlayerRenderer: only query audio sink for position for the first entry." into lmp-dev

parents af11287b 3e5efb37
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -318,6 +318,7 @@ size_t NuPlayer::Renderer::fillAudioBuffer(void *buffer, size_t size) {
    bool hasEOS = false;
    bool hasEOS = false;


    size_t sizeCopied = 0;
    size_t sizeCopied = 0;
    bool firstEntry = true;
    while (sizeCopied < size && !mAudioQueue.empty()) {
    while (sizeCopied < size && !mAudioQueue.empty()) {
        QueueEntry *entry = &*mAudioQueue.begin();
        QueueEntry *entry = &*mAudioQueue.begin();


@@ -328,14 +329,14 @@ size_t NuPlayer::Renderer::fillAudioBuffer(void *buffer, size_t size) {
            break;
            break;
        }
        }


        if (entry->mOffset == 0) {
        if (firstEntry && entry->mOffset == 0) {
            firstEntry = false;
            int64_t mediaTimeUs;
            int64_t mediaTimeUs;
            CHECK(entry->mBuffer->meta()->findInt64("timeUs", &mediaTimeUs));
            CHECK(entry->mBuffer->meta()->findInt64("timeUs", &mediaTimeUs));
            ALOGV("rendering audio at media time %.2f secs", mediaTimeUs / 1E6);
            ALOGV("rendering audio at media time %.2f secs", mediaTimeUs / 1E6);
            if (mFirstAudioTimeUs == -1) {
            if (mFirstAudioTimeUs == -1) {
                mFirstAudioTimeUs = mediaTimeUs;
                mFirstAudioTimeUs = mediaTimeUs;
            }
            }
            mAnchorTimeMediaUs = mediaTimeUs;


            uint32_t numFramesPlayed;
            uint32_t numFramesPlayed;
            CHECK_EQ(mAudioSink->getPosition(&numFramesPlayed), (status_t)OK);
            CHECK_EQ(mAudioSink->getPosition(&numFramesPlayed), (status_t)OK);