From dd7846ee1cbeb48ddb5495858a71517858df0554 Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Thu, 1 Feb 2024 09:27:37 -0800 Subject: [PATCH] Effect: Use element instead of peek, when throwing if null. If nullness should result in an exception, we should throw as soon as possible, so that stack traces are easier to follow. Did a quick scan of media3.effect+transformer and this covers all uses of peek that immediately throw there. PiperOrigin-RevId: 603393366 --- .../main/java/androidx/media3/effect/BitmapTextureManager.java | 2 +- .../java/androidx/media3/effect/ExternalTextureManager.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/effect/src/main/java/androidx/media3/effect/BitmapTextureManager.java b/libraries/effect/src/main/java/androidx/media3/effect/BitmapTextureManager.java index 220bc4d9cf..8ebec19dca 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/BitmapTextureManager.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/BitmapTextureManager.java @@ -158,7 +158,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; return; } - BitmapFrameSequenceInfo currentBitmapInfo = checkNotNull(pendingBitmaps.peek()); + BitmapFrameSequenceInfo currentBitmapInfo = pendingBitmaps.element(); FrameInfo currentFrameInfo = currentBitmapInfo.frameInfo; TimestampIterator inStreamOffsetsUs = currentBitmapInfo.inStreamOffsetsUs; checkState(currentBitmapInfo.inStreamOffsetsUs.hasNext()); diff --git a/libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureManager.java b/libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureManager.java index 876ff2ed12..e0048d5494 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureManager.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureManager.java @@ -299,7 +299,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; surfaceTexture.updateTexImage(); availableFrameCount--; - this.currentFrame = pendingFrames.peek(); + this.currentFrame = pendingFrames.element(); FrameInfo currentFrame = checkStateNotNull(this.currentFrame); externalShaderProgramInputCapacity.decrementAndGet();