Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6b65b40d authored by Santiago Seifert's avatar Santiago Seifert Committed by Android (Google) Code Review
Browse files

Merge "Add initial implementation of MediaParser"

parents 92b57232 a4be4662
Loading
Loading
Loading
Loading
+44 −0
Original line number Diff line number Diff line
@@ -25615,6 +25615,50 @@ package android.media {
    field public static final int MUXER_OUTPUT_WEBM = 1; // 0x1
  }
  public final class MediaParser {
    method public boolean advance(@NonNull android.media.MediaParser.SeekableInputReader) throws java.io.IOException, java.lang.InterruptedException;
    method @NonNull public static android.media.MediaParser create(@NonNull android.media.MediaParser.OutputConsumer, @NonNull java.lang.String...);
    method @NonNull public static android.media.MediaParser createByName(@NonNull String, @NonNull android.media.MediaParser.OutputConsumer);
    method @Nullable public String getExtractorName();
    method @NonNull public static java.util.List<java.lang.String> getExtractorNames(@NonNull android.media.MediaFormat);
    method public void release();
    method public void seek(@NonNull android.media.MediaParser.SeekPoint);
  }
  public static interface MediaParser.InputReader {
    method public long getLength();
    method public long getPosition();
    method public int read(@NonNull byte[], int, int) throws java.io.IOException, java.lang.InterruptedException;
  }
  public static interface MediaParser.OutputConsumer {
    method public void onFormat(int, @NonNull android.media.MediaFormat);
    method public void onSampleCompleted(int, long, int, int, int, @Nullable android.media.MediaCodec.CryptoInfo);
    method public void onSampleData(int, @NonNull android.media.MediaParser.InputReader) throws java.io.IOException, java.lang.InterruptedException;
    method public void onSeekMap(@NonNull android.media.MediaParser.SeekMap);
    method public void onTracksFound(int);
  }
  public static interface MediaParser.SeekMap {
    method public long getDurationUs();
    method @NonNull public android.util.Pair<android.media.MediaParser.SeekPoint,android.media.MediaParser.SeekPoint> getSeekPoints(long);
    method public boolean isSeekable();
    field public static final int UNKNOWN_DURATION = -2147483648; // 0x80000000
  }
  public static final class MediaParser.SeekPoint {
    field @NonNull public static final android.media.MediaParser.SeekPoint START;
    field public final long position;
    field public final long timeUs;
  }
  public static interface MediaParser.SeekableInputReader extends android.media.MediaParser.InputReader {
    method public void seekToPosition(long);
  }
  public static final class MediaParser.UnrecognizedInputFormatException extends java.io.IOException {
  }
  public class MediaPlayer implements android.media.AudioRouting android.media.VolumeAutomation {
    ctor public MediaPlayer();
    method public void addOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler);
+202 −198

File changed.

Preview size limit exceeded, changes collapsed.

+3 −2
Original line number Diff line number Diff line
@@ -45,8 +45,8 @@ java_library {
filegroup {
    name: "updatable-media-srcs",
    srcs: [
        ":mediasession2-srcs",
        ":mediaparser-srcs",
        ":mediasession2-srcs",
    ],
}

@@ -73,7 +73,8 @@ filegroup {
    name: "mediaparser-srcs",
    srcs: [
        "apex/java/android/media/MediaParser.java"
    ]
    ],
    path: "apex/java"
}

metalava_updatable_media_args = " --error UnhiddenSystemApi " +
+629 −114

File changed.

Preview size limit exceeded, changes collapsed.