From 91a491ea31703262f33cb7a0e26c2ad6e3dcab90 Mon Sep 17 00:00:00 2001 From: bachinger Date: Fri, 11 Sep 2020 21:27:43 +0100 Subject: [PATCH] Add getMediaItemCount() and getMediaItemAt(int) PiperOrigin-RevId: 331211708 --- RELEASENOTES.md | 2 ++ .../java/com/google/android/exoplayer2/BasePlayer.java | 10 ++++++++++ .../java/com/google/android/exoplayer2/Player.java | 6 ++++++ 3 files changed, 18 insertions(+) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 0e5ec04ac1..d725efb591 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -2,6 +2,8 @@ ### dev-v2 (not yet released) +* `Player`: + * add `getMediaItemCount()` and `getMediaItemAt(int)`. * Track selection: * Add option to specify multiple preferred audio or text languages. * Data sources: diff --git a/library/core/src/main/java/com/google/android/exoplayer2/BasePlayer.java b/library/core/src/main/java/com/google/android/exoplayer2/BasePlayer.java index 893c512bd7..9d7af2dce6 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/BasePlayer.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/BasePlayer.java @@ -185,6 +185,16 @@ public abstract class BasePlayer implements Player { : timeline.getWindow(getCurrentWindowIndex(), window).mediaItem; } + @Override + public int getMediaItemCount() { + return getCurrentTimeline().getWindowCount(); + } + + @Override + public MediaItem getMediaItemAt(int index) { + return getCurrentTimeline().getWindow(index, window).mediaItem; + } + @Override @Nullable public final Object getCurrentManifest() { diff --git a/library/core/src/main/java/com/google/android/exoplayer2/Player.java b/library/core/src/main/java/com/google/android/exoplayer2/Player.java index 9d9d9cdc2d..7a52aae738 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/Player.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/Player.java @@ -1284,6 +1284,12 @@ public interface Player { @Nullable MediaItem getCurrentMediaItem(); + /** Returns the number of {@link MediaItem media items} in the playlist. */ + int getMediaItemCount(); + + /** Returns the {@link MediaItem} at the given index. */ + MediaItem getMediaItemAt(int index); + /** * Returns the duration of the current content window or ad in milliseconds, or {@link * C#TIME_UNSET} if the duration is not known.