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 9af46e839051d..756ec8434b1ac 100644 --- a/api/current.txt +++ b/api/current.txt @@ -26462,6 +26462,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);