From f7fbbe993e90ffe60c6a3ec151529bd32bf8bd55 Mon Sep 17 00:00:00 2001 From: eguven Date: Fri, 10 Feb 2017 09:49:15 -0800 Subject: [PATCH] Fix ArrayIndexOutOfBoundsException while reading SEI NAL unit ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=147165453 --- .../exoplayer2/extractor/mp4/FragmentedMp4Extractor.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/library/src/main/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.java b/library/src/main/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.java index d72eb62509..6c3b86c19b 100644 --- a/library/src/main/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.java +++ b/library/src/main/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.java @@ -1087,12 +1087,12 @@ public final class FragmentedMp4Extractor implements Extractor { sampleBytesWritten += 4; sampleSize += nalUnitLengthFieldLengthDiff; if (cea608TrackOutput != null) { - byte[] nalPayloadData = nalPayload.data; // Peek the NAL unit type byte. - input.peekFully(nalPayloadData, 0, 1); - if ((nalPayloadData[0] & 0x1F) == NAL_UNIT_TYPE_SEI) { + input.peekFully(nalPayload.data, 0, 1); + if ((nalPayload.data[0] & 0x1F) == NAL_UNIT_TYPE_SEI) { // Read the whole SEI NAL unit into nalWrapper, including the NAL unit type byte. nalPayload.reset(sampleCurrentNalBytesRemaining); + byte[] nalPayloadData = nalPayload.data; input.readFully(nalPayloadData, 0, sampleCurrentNalBytesRemaining); // Write the SEI unit straight to the output. output.sampleData(nalPayload, sampleCurrentNalBytesRemaining);