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

Commit bea4e3cf authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix vorbis-specific workaround to only compare audio timestamps" into...

Merge "Fix vorbis-specific workaround to only compare audio timestamps" into main am: 630eb916 am: b89c7d18

Original change: https://android-review.googlesource.com/c/platform/frameworks/av/+/2700283



Change-Id: I7f4e8aa5d7e43d05dc449be797c514f09b9627ff
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 8cc984d6 b89c7d18
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -132,6 +132,7 @@ NuPlayer::Renderer::Renderer(
      mMediaClock(mediaClock),
      mPlaybackSettings(AUDIO_PLAYBACK_RATE_DEFAULT),
      mAudioFirstAnchorTimeMediaUs(-1),
      mAudioAnchorTimeMediaUs(-1),
      mAnchorTimeMediaUs(-1),
      mAnchorNumFramesWritten(-1),
      mVideoLateByUs(0LL),
@@ -433,6 +434,7 @@ void NuPlayer::Renderer::setAudioFirstAnchorTimeIfNeeded_l(int64_t mediaUs) {
// Called on renderer looper.
void NuPlayer::Renderer::clearAnchorTime() {
    mMediaClock->clearAnchor();
    mAudioAnchorTimeMediaUs = -1;
    mAnchorTimeMediaUs = -1;
    mAnchorNumFramesWritten = -1;
}
@@ -1286,7 +1288,7 @@ void NuPlayer::Renderer::onNewAudioMediaTime(int64_t mediaTimeUs) {
    Mutex::Autolock autoLock(mLock);
    // TRICKY: vorbis decoder generates multiple frames with the same
    // timestamp, so only update on the first frame with a given timestamp
    if (mediaTimeUs == mAnchorTimeMediaUs) {
    if (mediaTimeUs == mAudioAnchorTimeMediaUs) {
        return;
    }
    setAudioFirstAnchorTimeIfNeeded_l(mediaTimeUs);
@@ -1324,6 +1326,7 @@ void NuPlayer::Renderer::onNewAudioMediaTime(int64_t mediaTimeUs) {
        }
    }
    mAnchorNumFramesWritten = mNumFramesWritten;
    mAudioAnchorTimeMediaUs = mediaTimeUs;
    mAnchorTimeMediaUs = mediaTimeUs;
}

+3 −0
Original line number Diff line number Diff line
@@ -179,6 +179,9 @@ private:
    float mVideoFpsHint;

    int64_t mAudioFirstAnchorTimeMediaUs;
    // previous audio anchor timestamp, in media time base.
    int64_t mAudioAnchorTimeMediaUs;
    // previous anchor timestamp (audio or video), in media time base.
    int64_t mAnchorTimeMediaUs;
    int64_t mAnchorNumFramesWritten;
    int64_t mVideoLateByUs;