From 2b9c7f8392d3c39cbd9bb4f6c8d2091d02cadab7 Mon Sep 17 00:00:00 2001 From: Googler Date: Tue, 14 Jan 2025 11:13:51 -0800 Subject: [PATCH] Add minimum size for OpusDecoder's streamMap. PiperOrigin-RevId: 715453498 --- .../main/java/androidx/media3/decoder/opus/OpusDecoder.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libraries/decoder_opus/src/main/java/androidx/media3/decoder/opus/OpusDecoder.java b/libraries/decoder_opus/src/main/java/androidx/media3/decoder/opus/OpusDecoder.java index 3cfc9687fd..a4f4652ef8 100644 --- a/libraries/decoder_opus/src/main/java/androidx/media3/decoder/opus/OpusDecoder.java +++ b/libraries/decoder_opus/src/main/java/androidx/media3/decoder/opus/OpusDecoder.java @@ -16,6 +16,7 @@ package androidx.media3.decoder.opus; import static androidx.annotation.VisibleForTesting.PACKAGE_PRIVATE; +import static java.lang.Math.max; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; @@ -109,7 +110,7 @@ public final class OpusDecoder channelCount = getChannelCount(headerBytes); int gain = readSignedLittleEndian16(headerBytes, 16); - byte[] streamMap = new byte[channelCount]; + byte[] streamMap = new byte[max(channelCount, 8)]; int numStreams; int numCoupled; if (headerBytes[18] == 0) { // Channel mapping