Commit 2e1ea379 by olly Committed by Oliver Woodman

Fix IndexOutOfBounds when there are no available codecs

PiperOrigin-RevId: 249610014
parent cf93b8e7
...@@ -53,7 +53,6 @@ import java.lang.annotation.RetentionPolicy; ...@@ -53,7 +53,6 @@ import java.lang.annotation.RetentionPolicy;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.util.ArrayDeque; import java.util.ArrayDeque;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.List; import java.util.List;
/** /**
...@@ -742,11 +741,11 @@ public abstract class MediaCodecRenderer extends BaseRenderer { ...@@ -742,11 +741,11 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
try { try {
List<MediaCodecInfo> allAvailableCodecInfos = List<MediaCodecInfo> allAvailableCodecInfos =
getAvailableCodecInfos(mediaCryptoRequiresSecureDecoder); getAvailableCodecInfos(mediaCryptoRequiresSecureDecoder);
availableCodecInfos = new ArrayDeque<>();
if (enableDecoderFallback) { if (enableDecoderFallback) {
availableCodecInfos = new ArrayDeque<>(allAvailableCodecInfos); availableCodecInfos.addAll(allAvailableCodecInfos);
} else { } else if (!allAvailableCodecInfos.isEmpty()) {
availableCodecInfos = availableCodecInfos.add(allAvailableCodecInfos.get(0));
new ArrayDeque<>(Collections.singletonList(allAvailableCodecInfos.get(0)));
} }
preferredDecoderInitializationException = null; preferredDecoderInitializationException = null;
} catch (DecoderQueryException e) { } catch (DecoderQueryException e) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment