From fc3f0968880add4a9e38444adfa12fbe10c53e7b Mon Sep 17 00:00:00 2001 From: andrewlewis Date: Mon, 9 Dec 2024 09:58:17 -0800 Subject: [PATCH] Fix handling of 'no chunk readers' in AVI Before this change the chunk readers array was accessed out of bounds in files for which no chunk readers are created. PiperOrigin-RevId: 704323919 --- .../java/androidx/media3/extractor/avi/AviExtractor.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/avi/AviExtractor.java b/libraries/extractor/src/main/java/androidx/media3/extractor/avi/AviExtractor.java index baf0cece6b..6b2e8358a2 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/avi/AviExtractor.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/avi/AviExtractor.java @@ -419,7 +419,11 @@ public final class AviExtractor implements Extractor { chunkReader.compactIndex(); } seekMapHasBeenOutput = true; - extractorOutput.seekMap(new AviSeekMap(durationUs)); + if (chunkReaders.length == 0) { + extractorOutput.seekMap(new SeekMap.Unseekable(durationUs)); + } else { + extractorOutput.seekMap(new AviSeekMap(durationUs)); + } } private long peekSeekOffset(ParsableByteArray idx1Body) {