From 6796b179a6a0be7e85a9237bed7806e6d059b489 Mon Sep 17 00:00:00 2001 From: aquilescanta Date: Wed, 10 Jul 2019 22:11:55 +0100 Subject: [PATCH] Make onInputFormatChanged methods in Renderers take FormatHolders PiperOrigin-RevId: 257478434 --- .../exoplayer2/ext/vp9/LibvpxVideoRenderer.java | 14 +++++++------- .../audio/SimpleDecoderAudioRenderer.java | 16 ++++++++-------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/extensions/vp9/src/main/java/com/google/android/exoplayer2/ext/vp9/LibvpxVideoRenderer.java b/extensions/vp9/src/main/java/com/google/android/exoplayer2/ext/vp9/LibvpxVideoRenderer.java index b4db4971cc..56f5fd2d09 100644 --- a/extensions/vp9/src/main/java/com/google/android/exoplayer2/ext/vp9/LibvpxVideoRenderer.java +++ b/extensions/vp9/src/main/java/com/google/android/exoplayer2/ext/vp9/LibvpxVideoRenderer.java @@ -307,7 +307,7 @@ public class LibvpxVideoRenderer extends BaseRenderer { flagsOnlyBuffer.clear(); int result = readSource(formatHolder, flagsOnlyBuffer, true); if (result == C.RESULT_FORMAT_READ) { - onInputFormatChanged(formatHolder.format); + onInputFormatChanged(formatHolder); } else if (result == C.RESULT_BUFFER_READ) { // End of stream read having not read a format. Assertions.checkState(flagsOnlyBuffer.isEndOfStream()); @@ -491,15 +491,15 @@ public class LibvpxVideoRenderer extends BaseRenderer { /** * Called when a new format is read from the upstream source. * - * @param newFormat The new format. + * @param formatHolder A {@link FormatHolder} that holds the new {@link Format}. * @throws ExoPlaybackException If an error occurs (re-)initializing the decoder. */ @CallSuper @SuppressWarnings("unchecked") - protected void onInputFormatChanged(Format newFormat) throws ExoPlaybackException { + protected void onInputFormatChanged(FormatHolder formatHolder) throws ExoPlaybackException { Format oldFormat = format; - format = newFormat; - pendingFormat = newFormat; + format = formatHolder.format; + pendingFormat = format; boolean drmInitDataChanged = !Util.areEqual(format.drmInitData, oldFormat == null ? null : oldFormat.drmInitData); @@ -513,7 +513,7 @@ public class LibvpxVideoRenderer extends BaseRenderer { new IllegalStateException("Media requires a DrmSessionManager"), getIndex()); } DrmSession session = - drmSessionManager.acquireSession(Looper.myLooper(), newFormat.drmInitData); + drmSessionManager.acquireSession(Looper.myLooper(), format.drmInitData); if (sourceDrmSession != null) { sourceDrmSession.releaseReference(); } @@ -826,7 +826,7 @@ public class LibvpxVideoRenderer extends BaseRenderer { return false; } if (result == C.RESULT_FORMAT_READ) { - onInputFormatChanged(formatHolder.format); + onInputFormatChanged(formatHolder); return true; } if (inputBuffer.isEndOfStream()) { diff --git a/library/core/src/main/java/com/google/android/exoplayer2/audio/SimpleDecoderAudioRenderer.java b/library/core/src/main/java/com/google/android/exoplayer2/audio/SimpleDecoderAudioRenderer.java index 93c60f2917..ef0207517a 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/audio/SimpleDecoderAudioRenderer.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/audio/SimpleDecoderAudioRenderer.java @@ -274,7 +274,7 @@ public abstract class SimpleDecoderAudioRenderer extends BaseRenderer implements flagsOnlyBuffer.clear(); int result = readSource(formatHolder, flagsOnlyBuffer, true); if (result == C.RESULT_FORMAT_READ) { - onInputFormatChanged(formatHolder.format); + onInputFormatChanged(formatHolder); } else if (result == C.RESULT_BUFFER_READ) { // End of stream read having not read a format. Assertions.checkState(flagsOnlyBuffer.isEndOfStream()); @@ -438,7 +438,7 @@ public abstract class SimpleDecoderAudioRenderer extends BaseRenderer implements return false; } if (result == C.RESULT_FORMAT_READ) { - onInputFormatChanged(formatHolder.format); + onInputFormatChanged(formatHolder); return true; } if (inputBuffer.isEndOfStream()) { @@ -656,9 +656,9 @@ public abstract class SimpleDecoderAudioRenderer extends BaseRenderer implements } @SuppressWarnings("unchecked") - private void onInputFormatChanged(Format newFormat) throws ExoPlaybackException { + private void onInputFormatChanged(FormatHolder formatHolder) throws ExoPlaybackException { Format oldFormat = inputFormat; - inputFormat = newFormat; + inputFormat = formatHolder.format; boolean drmInitDataChanged = !Util.areEqual(inputFormat.drmInitData, oldFormat == null ? null : oldFormat.drmInitData); @@ -673,7 +673,7 @@ public abstract class SimpleDecoderAudioRenderer extends BaseRenderer implements new IllegalStateException("Media requires a DrmSessionManager"), getIndex()); } DrmSession session = - drmSessionManager.acquireSession(Looper.myLooper(), newFormat.drmInitData); + drmSessionManager.acquireSession(Looper.myLooper(), inputFormat.drmInitData); if (sourceDrmSession != null) { sourceDrmSession.releaseReference(); } @@ -694,10 +694,10 @@ public abstract class SimpleDecoderAudioRenderer extends BaseRenderer implements audioTrackNeedsConfigure = true; } - encoderDelay = newFormat.encoderDelay; - encoderPadding = newFormat.encoderPadding; + encoderDelay = inputFormat.encoderDelay; + encoderPadding = inputFormat.encoderPadding; - eventDispatcher.inputFormatChanged(newFormat); + eventDispatcher.inputFormatChanged(inputFormat); } private void onQueueInputBuffer(DecoderInputBuffer buffer) {