diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/DecoderVideoRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/DecoderVideoRenderer.java index f263d19d20..330d35a1ec 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/DecoderVideoRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/DecoderVideoRenderer.java @@ -15,6 +15,7 @@ */ package androidx.media3.exoplayer.video; +import static androidx.media3.common.util.Util.msToUs; import static androidx.media3.exoplayer.DecoderReuseEvaluation.DISCARD_REASON_DRM_SESSION_CHANGED; import static androidx.media3.exoplayer.DecoderReuseEvaluation.DISCARD_REASON_REUSE_NOT_IMPLEMENTED; import static androidx.media3.exoplayer.DecoderReuseEvaluation.REUSE_RESULT_NO; @@ -38,7 +39,6 @@ import androidx.media3.common.util.Log; import androidx.media3.common.util.TimedValueQueue; import androidx.media3.common.util.TraceUtil; import androidx.media3.common.util.UnstableApi; -import androidx.media3.common.util.Util; import androidx.media3.decoder.CryptoConfig; import androidx.media3.decoder.Decoder; import androidx.media3.decoder.DecoderException; @@ -307,7 +307,7 @@ public abstract class DecoderVideoRenderer extends BaseRenderer { protected void onStarted() { droppedFrames = 0; droppedFrameAccumulationStartTimeMs = SystemClock.elapsedRealtime(); - lastRenderTimeUs = SystemClock.elapsedRealtime() * 1000; + lastRenderTimeUs = msToUs(SystemClock.elapsedRealtime()); } @Override @@ -580,7 +580,7 @@ public abstract class DecoderVideoRenderer extends BaseRenderer { frameMetadataListener.onVideoFrameAboutToBeRendered( presentationTimeUs, getClock().nanoTime(), outputFormat, /* mediaFormat= */ null); } - lastRenderTimeUs = Util.msToUs(SystemClock.elapsedRealtime() * 1000); + lastRenderTimeUs = msToUs(SystemClock.elapsedRealtime()); int bufferMode = outputBuffer.mode; boolean renderSurface = bufferMode == C.VIDEO_OUTPUT_MODE_SURFACE_YUV && outputSurface != null; boolean renderYuv = bufferMode == C.VIDEO_OUTPUT_MODE_YUV && outputBufferRenderer != null; @@ -854,7 +854,7 @@ public abstract class DecoderVideoRenderer extends BaseRenderer { outputFormat = format; } - long elapsedRealtimeNowUs = SystemClock.elapsedRealtime() * 1000; + long elapsedRealtimeNowUs = msToUs(SystemClock.elapsedRealtime()); long elapsedSinceLastRenderUs = elapsedRealtimeNowUs - lastRenderTimeUs; boolean isStarted = getState() == STATE_STARTED; boolean shouldRenderFirstFrame =