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

Commit 887c5d2a authored by Marco Nelissen's avatar Marco Nelissen Committed by Android (Google) Code Review
Browse files

Merge "Improve AudioPlayer position reporting"

parents 5aaeb0d6 e7d0c712
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -437,8 +437,11 @@ size_t AudioPlayer::fillBuffer(void *data, size_t size) {
                        kKeyTime, &mPositionTimeMediaUs));

            mPositionTimeRealUs =
                ((mNumFramesPlayed + size_done / mFrameSize) * 1000000)
                -mLatencyUs + ((mNumFramesPlayed + size_done / mFrameSize) * 1000000)
                    / mSampleRate;
            if (mPositionTimeRealUs < 0) {
                mPositionTimeRealUs = 0;
            }

            ALOGV("buffer->size() = %d, "
                 "mPositionTimeMediaUs=%.2f mPositionTimeRealUs=%.2f",
@@ -493,7 +496,9 @@ int64_t AudioPlayer::getRealTimeUs() {
int64_t AudioPlayer::getRealTimeUsLocked() const {
    CHECK(mStarted);
    CHECK_NE(mSampleRate, 0);
    return -mLatencyUs + (mNumFramesPlayed * 1000000) / mSampleRate;
    int64_t t = -mLatencyUs + (mNumFramesPlayed * 1000000) / mSampleRate;
    if (t < 0) return 0;
    return t;
}

int64_t AudioPlayer::getMediaTimeUs() {