From 81c542b6a738af9c33b48e34ad029812828706aa Mon Sep 17 00:00:00 2001 From: aquilescanta Date: Mon, 21 Jun 2021 19:28:07 +0100 Subject: [PATCH] Remove deprecated ParserException constructor And replace it with factory method which includes more context for error code assignment. PiperOrigin-RevId: 380624625 --- .../android/exoplayer2/ParserException.java | 15 --------------- .../google/android/exoplayer2/audio/AacUtil.java | 4 ++-- .../DefaultLoadErrorHandlingPolicyTest.java | 5 ++++- .../exoplayer2/extractor/FlacFrameReader.java | 2 +- .../exoplayer2/extractor/mp4/SefReader.java | 2 +- .../exoplayer2/extractor/ts/LatmReader.java | 14 ++++++++------ 6 files changed, 16 insertions(+), 26 deletions(-) diff --git a/library/common/src/main/java/com/google/android/exoplayer2/ParserException.java b/library/common/src/main/java/com/google/android/exoplayer2/ParserException.java index 23e1985e3e..1d305c5454 100644 --- a/library/common/src/main/java/com/google/android/exoplayer2/ParserException.java +++ b/library/common/src/main/java/com/google/android/exoplayer2/ParserException.java @@ -96,21 +96,6 @@ public class ParserException extends IOException { /** The {@link DataType data type} of the parsed bitstream. */ public final int dataType; - /** - * Creates a new instance. - * - * @deprecated Use a factory method which initializes {@link #contentIsMalformed}, and {@link - * #dataType} instead. - */ - @Deprecated - public ParserException() { - this( - /* message= */ null, - /* cause= */ null, - /* contentIsMalformed= */ true, - C.DATA_TYPE_UNKNOWN); - } - /** * Creates a new instance. * diff --git a/library/common/src/main/java/com/google/android/exoplayer2/audio/AacUtil.java b/library/common/src/main/java/com/google/android/exoplayer2/audio/AacUtil.java index c97893b428..d28f8baa08 100644 --- a/library/common/src/main/java/com/google/android/exoplayer2/audio/AacUtil.java +++ b/library/common/src/main/java/com/google/android/exoplayer2/audio/AacUtil.java @@ -250,7 +250,7 @@ public final class AacUtil { // For supported containers, bits_to_decode() is always 0. int channelCount = AUDIO_SPECIFIC_CONFIG_CHANNEL_COUNT_TABLE[channelConfiguration]; if (channelCount == AUDIO_SPECIFIC_CONFIG_CHANNEL_CONFIGURATION_INVALID) { - throw new ParserException(); + throw ParserException.createForMalformedContainer(/* message= */ null, /* cause= */ null); } return new Config(sampleRateHz, channelCount, codecs); } @@ -349,7 +349,7 @@ public final class AacUtil { } else if (frequencyIndex < 13) { samplingFrequency = AUDIO_SPECIFIC_CONFIG_SAMPLING_RATE_TABLE[frequencyIndex]; } else { - throw new ParserException(); + throw ParserException.createForMalformedContainer(/* message= */ null, /* cause= */ null); } return samplingFrequency; } diff --git a/library/core/src/test/java/com/google/android/exoplayer2/upstream/DefaultLoadErrorHandlingPolicyTest.java b/library/core/src/test/java/com/google/android/exoplayer2/upstream/DefaultLoadErrorHandlingPolicyTest.java index 02a7210683..8cf4e92075 100644 --- a/library/core/src/test/java/com/google/android/exoplayer2/upstream/DefaultLoadErrorHandlingPolicyTest.java +++ b/library/core/src/test/java/com/google/android/exoplayer2/upstream/DefaultLoadErrorHandlingPolicyTest.java @@ -98,7 +98,10 @@ public final class DefaultLoadErrorHandlingPolicyTest { @Test public void getRetryDelayMsFor_dontRetryParserException() { - assertThat(getDefaultPolicyRetryDelayOutputFor(new ParserException(), 1)) + assertThat( + getDefaultPolicyRetryDelayOutputFor( + ParserException.createForMalformedContainer(/* message= */ null, /* cause= */ null), + 1)) .isEqualTo(C.TIME_UNSET); } diff --git a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/FlacFrameReader.java b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/FlacFrameReader.java index fc1b121326..846dd05f14 100644 --- a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/FlacFrameReader.java +++ b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/FlacFrameReader.java @@ -153,7 +153,7 @@ public final class FlacFrameReader { SampleNumberHolder sampleNumberHolder = new SampleNumberHolder(); if (!checkAndReadFirstSampleNumber( scratch, flacStreamMetadata, isBlockSizeVariable, sampleNumberHolder)) { - throw new ParserException(); + throw ParserException.createForMalformedContainer(/* message= */ null, /* cause= */ null); } return sampleNumberHolder.sampleNumber; diff --git a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/SefReader.java b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/SefReader.java index a3a71ac3f2..0c980c1e5b 100644 --- a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/SefReader.java +++ b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/SefReader.java @@ -231,7 +231,7 @@ import java.util.List; for (int i = 0; i < segmentStrings.size(); i++) { List values = COLON_SPLITTER.splitToList(segmentStrings.get(i)); if (values.size() != 3) { - throw new ParserException(); + throw ParserException.createForMalformedContainer(/* message= */ null, /* cause= */ null); } try { long startTimeMs = Long.parseLong(values.get(0)); diff --git a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/ts/LatmReader.java b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/ts/LatmReader.java index c9520fa55f..8cd33f2851 100644 --- a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/ts/LatmReader.java +++ b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/ts/LatmReader.java @@ -164,7 +164,7 @@ public final class LatmReader implements ElementaryStreamReader { if (audioMuxVersionA == 0) { if (numSubframes != 0) { - throw new ParserException(); + throw ParserException.createForMalformedContainer(/* message= */ null, /* cause= */ null); } int muxSlotLengthBytes = parsePayloadLengthInfo(data); parsePayloadMux(data, muxSlotLengthBytes); @@ -172,7 +172,8 @@ public final class LatmReader implements ElementaryStreamReader { data.skipBits((int) otherDataLenBits); } } else { - throw new ParserException(); // Not defined by ISO/IEC 14496-3:2009. + // Not defined by ISO/IEC 14496-3:2009. + throw ParserException.createForMalformedContainer(/* message= */ null, /* cause= */ null); } } @@ -186,13 +187,13 @@ public final class LatmReader implements ElementaryStreamReader { latmGetValue(data); // Skip taraBufferFullness. } if (!data.readBit()) { - throw new ParserException(); + throw ParserException.createForMalformedContainer(/* message= */ null, /* cause= */ null); } numSubframes = data.readBits(6); int numProgram = data.readBits(4); int numLayer = data.readBits(3); if (numProgram != 0 || numLayer != 0) { - throw new ParserException(); + throw ParserException.createForMalformedContainer(/* message= */ null, /* cause= */ null); } if (audioMuxVersion == 0) { int startPosition = data.getPosition(); @@ -239,7 +240,8 @@ public final class LatmReader implements ElementaryStreamReader { data.skipBits(8); // crcCheckSum. } } else { - throw new ParserException(); // This is not defined by ISO/IEC 14496-3:2009. + // This is not defined by ISO/IEC 14496-3:2009. + throw ParserException.createForMalformedContainer(/* message= */ null, /* cause= */ null); } } @@ -286,7 +288,7 @@ public final class LatmReader implements ElementaryStreamReader { } while (tmp == 255); return muxSlotLengthBytes; } else { - throw new ParserException(); + throw ParserException.createForMalformedContainer(/* message= */ null, /* cause= */ null); } }