From ecaff24e465ad02649c054be5aaf001aadda1b9c 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 (cherry picked from commit dd7846ee1cbeb48ddb5495858a71517858df0554) --- .../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();