Commit c7f2df0f by insun Committed by Oliver Woodman

Add Player#getTrackSelector()

PiperOrigin-RevId: 310242733
parent 535e14cb
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
### dev-v2 (not yet released) ### dev-v2 (not yet released)
* Core library: * Core library:
* Add `Player.getTrackSelector` to access track selector from UI module.
* Added `TextComponent.getCurrentCues` because the current cues are no * Added `TextComponent.getCurrentCues` because the current cues are no
longer forwarded to a new `TextOutput` in `SimpleExoPlayer` longer forwarded to a new `TextOutput` in `SimpleExoPlayer`
automatically. automatically.
......
...@@ -30,6 +30,7 @@ import com.google.android.exoplayer2.source.TrackGroupArray; ...@@ -30,6 +30,7 @@ import com.google.android.exoplayer2.source.TrackGroupArray;
import com.google.android.exoplayer2.trackselection.FixedTrackSelection; import com.google.android.exoplayer2.trackselection.FixedTrackSelection;
import com.google.android.exoplayer2.trackselection.TrackSelection; import com.google.android.exoplayer2.trackselection.TrackSelection;
import com.google.android.exoplayer2.trackselection.TrackSelectionArray; import com.google.android.exoplayer2.trackselection.TrackSelectionArray;
import com.google.android.exoplayer2.trackselection.TrackSelector;
import com.google.android.exoplayer2.util.Assertions; import com.google.android.exoplayer2.util.Assertions;
import com.google.android.exoplayer2.util.Log; import com.google.android.exoplayer2.util.Log;
import com.google.android.exoplayer2.util.MimeTypes; import com.google.android.exoplayer2.util.MimeTypes;
...@@ -514,6 +515,12 @@ public final class CastPlayer extends BasePlayer { ...@@ -514,6 +515,12 @@ public final class CastPlayer extends BasePlayer {
} }
@Override @Override
@Nullable
public TrackSelector getTrackSelector() {
throw new UnsupportedOperationException();
}
@Override
public void setRepeatMode(@RepeatMode int repeatMode) { public void setRepeatMode(@RepeatMode int repeatMode) {
if (remoteMediaClient == null) { if (remoteMediaClient == null) {
return; return;
......
../../proguard-rules.txt
\ No newline at end of file
...@@ -821,6 +821,12 @@ import java.util.concurrent.TimeoutException; ...@@ -821,6 +821,12 @@ import java.util.concurrent.TimeoutException;
} }
@Override @Override
@Nullable
public TrackSelector getTrackSelector() {
return trackSelector;
}
@Override
public TrackGroupArray getCurrentTrackGroups() { public TrackGroupArray getCurrentTrackGroups() {
return playbackInfo.trackGroups; return playbackInfo.trackGroups;
} }
......
...@@ -33,6 +33,7 @@ import com.google.android.exoplayer2.source.TrackGroupArray; ...@@ -33,6 +33,7 @@ import com.google.android.exoplayer2.source.TrackGroupArray;
import com.google.android.exoplayer2.text.Cue; import com.google.android.exoplayer2.text.Cue;
import com.google.android.exoplayer2.text.TextOutput; import com.google.android.exoplayer2.text.TextOutput;
import com.google.android.exoplayer2.trackselection.TrackSelectionArray; import com.google.android.exoplayer2.trackselection.TrackSelectionArray;
import com.google.android.exoplayer2.trackselection.TrackSelector;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
import com.google.android.exoplayer2.video.VideoDecoderOutputBufferRenderer; import com.google.android.exoplayer2.video.VideoDecoderOutputBufferRenderer;
import com.google.android.exoplayer2.video.VideoFrameMetadataListener; import com.google.android.exoplayer2.video.VideoFrameMetadataListener;
...@@ -1189,6 +1190,10 @@ public interface Player { ...@@ -1189,6 +1190,10 @@ public interface Player {
*/ */
int getRendererType(int index); int getRendererType(int index);
/** Returns the track selector that this player uses. */
@Nullable
TrackSelector getTrackSelector();
/** /**
* Returns the available track groups. * Returns the available track groups.
*/ */
...@@ -1202,7 +1207,8 @@ public interface Player { ...@@ -1202,7 +1207,8 @@ public interface Player {
/** /**
* Returns the current manifest. The type depends on the type of media being played. May be null. * Returns the current manifest. The type depends on the type of media being played. May be null.
*/ */
@Nullable Object getCurrentManifest(); @Nullable
Object getCurrentManifest();
/** /**
* Returns the current {@link Timeline}. Never null, but may be empty. * Returns the current {@link Timeline}. Never null, but may be empty.
......
...@@ -1558,6 +1558,13 @@ public class SimpleExoPlayer extends BasePlayer ...@@ -1558,6 +1558,13 @@ public class SimpleExoPlayer extends BasePlayer
} }
@Override @Override
@Nullable
public TrackSelector getTrackSelector() {
verifyApplicationThread();
return player.getTrackSelector();
}
@Override
public TrackGroupArray getCurrentTrackGroups() { public TrackGroupArray getCurrentTrackGroups() {
verifyApplicationThread(); verifyApplicationThread();
return player.getCurrentTrackGroups(); return player.getCurrentTrackGroups();
......
...@@ -30,6 +30,7 @@ import com.google.android.exoplayer2.source.MediaSource; ...@@ -30,6 +30,7 @@ import com.google.android.exoplayer2.source.MediaSource;
import com.google.android.exoplayer2.source.ShuffleOrder; import com.google.android.exoplayer2.source.ShuffleOrder;
import com.google.android.exoplayer2.source.TrackGroupArray; import com.google.android.exoplayer2.source.TrackGroupArray;
import com.google.android.exoplayer2.trackselection.TrackSelectionArray; import com.google.android.exoplayer2.trackselection.TrackSelectionArray;
import com.google.android.exoplayer2.trackselection.TrackSelector;
import java.util.List; import java.util.List;
/** /**
...@@ -375,6 +376,12 @@ public abstract class StubExoPlayer extends BasePlayer implements ExoPlayer { ...@@ -375,6 +376,12 @@ public abstract class StubExoPlayer extends BasePlayer implements ExoPlayer {
} }
@Override @Override
@Nullable
public TrackSelector getTrackSelector() {
throw new UnsupportedOperationException();
}
@Override
public TrackGroupArray getCurrentTrackGroups() { public TrackGroupArray getCurrentTrackGroups() {
throw new UnsupportedOperationException(); throw new UnsupportedOperationException();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment