From 13eb9c59087f499b54526976cce1017818ae7674 Mon Sep 17 00:00:00 2001 From: Marksss Date: Wed, 1 Dec 2021 16:56:42 +0800 Subject: [PATCH 1/2] fix ArrayIndexOutOfBoundsException when playing flv --- .../exoplayer2/extractor/flv/ScriptTagPayloadReader.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/flv/ScriptTagPayloadReader.java b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/flv/ScriptTagPayloadReader.java index 696b38c8a5..0c402b9bbe 100644 --- a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/flv/ScriptTagPayloadReader.java +++ b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/flv/ScriptTagPayloadReader.java @@ -89,6 +89,9 @@ import java.util.Map; // We're only interested in metadata. return false; } + if (data.getData().length <= data.getPosition()) { + return false; + } int type = readAmfType(data); if (type != AMF_TYPE_ECMA_ARRAY) { // We're not interested in this metadata. From c8fa51c7c8d953f690647f2bc880a9c90e44357a Mon Sep 17 00:00:00 2001 From: shenxl Date: Tue, 7 Dec 2021 10:03:00 +0800 Subject: [PATCH 2/2] length->bytesLeft --- .../exoplayer2/extractor/flv/ScriptTagPayloadReader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/flv/ScriptTagPayloadReader.java b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/flv/ScriptTagPayloadReader.java index 0c402b9bbe..5b8068203b 100644 --- a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/flv/ScriptTagPayloadReader.java +++ b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/flv/ScriptTagPayloadReader.java @@ -89,7 +89,7 @@ import java.util.Map; // We're only interested in metadata. return false; } - if (data.getData().length <= data.getPosition()) { + if (data.bytesLeft() == 0) { return false; } int type = readAmfType(data);