From cb2e8d8ed0320f6d4c173f78249991e823435367 Mon Sep 17 00:00:00 2001 From: Santiago Seifert Date: Fri, 13 Mar 2020 12:23:28 +0000 Subject: [PATCH] Wrap exoplayer ParserException Bug: 150855305 Test: CTS. Change-Id: Ied68cfa1fb6a687c76626d36828594b6c69d7ebc --- .../framework/java/android/media/MediaParser.java | 11 +++++++++++ api/current.txt | 3 +++ 2 files changed, 14 insertions(+) diff --git a/apex/media/framework/java/android/media/MediaParser.java b/apex/media/framework/java/android/media/MediaParser.java index 29c48adb999d1..0d9cbf0edf034 100644 --- a/apex/media/framework/java/android/media/MediaParser.java +++ b/apex/media/framework/java/android/media/MediaParser.java @@ -25,6 +25,7 @@ import android.util.SparseArray; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.Format; +import com.google.android.exoplayer2.ParserException; import com.google.android.exoplayer2.extractor.DefaultExtractorInput; import com.google.android.exoplayer2.extractor.Extractor; import com.google.android.exoplayer2.extractor.ExtractorInput; @@ -431,6 +432,14 @@ public final class MediaParser { } } + /** Thrown when an error occurs while parsing a media stream. */ + public static final class ParsingException extends IOException { + + private ParsingException(ParserException cause) { + super(cause); + } + } + // Public constants. /** @@ -768,6 +777,8 @@ public final class MediaParser { int result = 0; try { result = mExtractor.read(mExtractorInput, mPositionHolder); + } catch (ParserException e) { + throw new ParsingException(e); } catch (InterruptedException e) { // TODO: Remove this exception replacement once we update the ExoPlayer version. throw new InterruptedIOException(); diff --git a/api/current.txt b/api/current.txt index a85d632e0f314..b9b49d4a12b5f 100644 --- a/api/current.txt +++ b/api/current.txt @@ -26456,6 +26456,9 @@ package android.media { method public void onTrackDataFound(int, @NonNull android.media.MediaParser.TrackData); } + public static final class MediaParser.ParsingException extends java.io.IOException { + } + public static final class MediaParser.SeekMap { method public long getDurationMicros(); method @NonNull public android.util.Pair getSeekPoints(long);