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

Commit 630eb916 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

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

parents a8fb9121 130bbc45
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;
}
@@ -1261,7 +1263,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);
@@ -1299,6 +1301,7 @@ void NuPlayer::Renderer::onNewAudioMediaTime(int64_t mediaTimeUs) {
        }
    }
    mAnchorNumFramesWritten = mNumFramesWritten;
    mAudioAnchorTimeMediaUs = mediaTimeUs;
    mAnchorTimeMediaUs = mediaTimeUs;
}

+3 −0
Original line number Diff line number Diff line
@@ -177,6 +177,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;