From 9ee45fc9381a5268fb00459d40c3e4d87801920d Mon Sep 17 00:00:00 2001 From: ibaker Date: Wed, 30 Aug 2023 04:06:55 -0700 Subject: [PATCH] Add `TrackOutput` field in `PngExtractor` Also re-jig some `checkNotNull` calls to satisfy the nullness checker (remove an unneeded one, and add a new one). Follow-up to discussion in https://github.com/androidx/media/commit/bb214b19f90b3f507905a1a06ed788c571a73c91 PiperOrigin-RevId: 561295724 --- .../java/androidx/media3/extractor/png/PngExtractor.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/png/PngExtractor.java b/libraries/extractor/src/main/java/androidx/media3/extractor/png/PngExtractor.java index 8046f35660..afc645362d 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/png/PngExtractor.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/png/PngExtractor.java @@ -66,6 +66,7 @@ public final class PngExtractor implements Extractor { private int size; private @State int state; private @MonotonicNonNull ExtractorOutput extractorOutput; + private @MonotonicNonNull TrackOutput trackOutput; /** Creates an instance. */ public PngExtractor() { @@ -100,9 +101,8 @@ public final class PngExtractor implements Extractor { } private void readSegment(ExtractorInput input) throws IOException { - TrackOutput trackOutput = - checkNotNull(extractorOutput).track(IMAGE_TRACK_ID, C.TRACK_TYPE_IMAGE); - int result = trackOutput.sampleData(input, FIXED_READ_LENGTH, /* allowEndOfInput= */ true); + int result = + checkNotNull(trackOutput).sampleData(input, FIXED_READ_LENGTH, /* allowEndOfInput= */ true); if (result == C.RESULT_END_OF_INPUT) { state = STATE_ENDED; @C.BufferFlags int flags = BUFFER_FLAG_KEY_FRAME; @@ -116,8 +116,7 @@ public final class PngExtractor implements Extractor { @RequiresNonNull("this.extractorOutput") private void outputImageTrackAndSeekMap() { - TrackOutput trackOutput = - checkNotNull(extractorOutput).track(IMAGE_TRACK_ID, C.TRACK_TYPE_IMAGE); + trackOutput = extractorOutput.track(IMAGE_TRACK_ID, C.TRACK_TYPE_IMAGE); trackOutput.format( new Format.Builder() .setContainerMimeType(MimeTypes.IMAGE_PNG)