From 83758577e3b6bc0c6cca62d42efbc1df9817cb7c Mon Sep 17 00:00:00 2001 From: samrobinson Date: Mon, 8 Jun 2020 20:57:04 +0100 Subject: [PATCH] Temporary fix for gapless regression for MP3. PiperOrigin-RevId: 315334491 --- .../exoplayer2/mediacodec/MediaCodecRenderer.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.java b/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.java index c6fb5c2a0d..53875b6018 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.java @@ -1391,8 +1391,15 @@ public abstract class MediaCodecRenderer extends BaseRenderer { formatQueue.add(presentationTimeUs, inputFormat); waitingForFirstSampleInFormat = false; } - largestQueuedPresentationTimeUs = Math.max(largestQueuedPresentationTimeUs, presentationTimeUs); + // TODO(b/158483277): Find the root cause of why a gap is introduced in MP3 playback when using + // presentationTimeUs from the c2Mp3TimestampTracker. + if (c2Mp3TimestampTracker != null) { + largestQueuedPresentationTimeUs = Math.max(largestQueuedPresentationTimeUs, buffer.timeUs); + } else { + largestQueuedPresentationTimeUs = + Math.max(largestQueuedPresentationTimeUs, presentationTimeUs); + } buffer.flip(); if (buffer.hasSupplementalData()) { handleInputBufferSupplementalData(buffer);