diff options
author | 2019-12-10 17:47:39 +0000 | |
---|---|---|
committer | 2019-12-10 17:47:39 +0000 | |
commit | 14167948ed25b4af6a88a8f79c3615feb85cbd74 (patch) | |
tree | 35d8a174d8e839945db70b7012509c1318d15537 | |
parent | 3e59f30c2deac6930f8f4c5deed7c9deb00503c2 (diff) |
Make MediaParser.SeekMap a final class
This will allow future extensiblity.
Bug: 132153067
Bug: 134057371
Test: Pending.
Change-Id: Ib86f80aa84db7835add8eb7148873ad7d54b9ad9
-rw-r--r-- | api/current.txt | 2 | ||||
-rw-r--r-- | media/apex/java/android/media/MediaParser.java | 51 |
2 files changed, 20 insertions, 33 deletions
diff --git a/api/current.txt b/api/current.txt index 472c516e2d68..98a429995188 100644 --- a/api/current.txt +++ b/api/current.txt @@ -25646,7 +25646,7 @@ package android.media { method public void onTracksFound(int); } - public static interface MediaParser.SeekMap { + public static final class 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(); diff --git a/media/apex/java/android/media/MediaParser.java b/media/apex/java/android/media/MediaParser.java index 8824269ea0c0..b83f44540955 100644 --- a/media/apex/java/android/media/MediaParser.java +++ b/media/apex/java/android/media/MediaParser.java @@ -156,19 +156,29 @@ public final class MediaParser { * <p>A {@link SeekPoint} is a position in the stream from which a player may successfully start * playing media samples. */ - public interface SeekMap { + public static final class SeekMap { /** Returned by {@link #getDurationUs()} when the duration is unknown. */ - int UNKNOWN_DURATION = Integer.MIN_VALUE; + public static final int UNKNOWN_DURATION = Integer.MIN_VALUE; + + private final com.google.android.exoplayer2.extractor.SeekMap mExoPlayerSeekMap; + + private SeekMap(com.google.android.exoplayer2.extractor.SeekMap exoplayerSeekMap) { + mExoPlayerSeekMap = exoplayerSeekMap; + } /** Returns whether seeking is supported. */ - boolean isSeekable(); + public boolean isSeekable() { + return mExoPlayerSeekMap.isSeekable(); + } /** * Returns the duration of the stream in microseconds or {@link #UNKNOWN_DURATION} if the * duration is unknown. */ - long getDurationUs(); + public long getDurationUs() { + return mExoPlayerSeekMap.getDurationUs(); + } /** * Obtains {@link SeekPoint SeekPoints} for the specified seek time in microseconds. @@ -184,7 +194,10 @@ public final class MediaParser { * @return The corresponding {@link SeekPoint SeekPoints}. */ @NonNull - Pair<SeekPoint, SeekPoint> getSeekPoints(long timeUs); + public Pair<SeekPoint, SeekPoint> getSeekPoints(long timeUs) { + SeekPoints seekPoints = mExoPlayerSeekMap.getSeekPoints(timeUs); + return new Pair<>(toSeekPoint(seekPoints.first), toSeekPoint(seekPoints.second)); + } } /** Defines a seek point in a media stream. */ @@ -647,7 +660,7 @@ public final class MediaParser { @Override public void seekMap(com.google.android.exoplayer2.extractor.SeekMap exoplayerSeekMap) { - mOutputConsumer.onSeekMap(new ExoToMediaParserSeekMapAdapter(exoplayerSeekMap)); + mOutputConsumer.onSeekMap(new SeekMap(exoplayerSeekMap)); } } @@ -764,32 +777,6 @@ public final class MediaParser { Extractor createInstance(); } - private static class ExoToMediaParserSeekMapAdapter implements SeekMap { - - private final com.google.android.exoplayer2.extractor.SeekMap mExoPlayerSeekMap; - - private ExoToMediaParserSeekMapAdapter( - com.google.android.exoplayer2.extractor.SeekMap exoplayerSeekMap) { - mExoPlayerSeekMap = exoplayerSeekMap; - } - - @Override - public boolean isSeekable() { - return mExoPlayerSeekMap.isSeekable(); - } - - @Override - public long getDurationUs() { - return mExoPlayerSeekMap.getDurationUs(); - } - - @Override - public Pair<SeekPoint, SeekPoint> getSeekPoints(long timeUs) { - SeekPoints seekPoints = mExoPlayerSeekMap.getSeekPoints(timeUs); - return new Pair<>(toSeekPoint(seekPoints.first), toSeekPoint(seekPoints.second)); - } - } - // Private static methods. private static MediaFormat toMediaFormat(Format format) { |