public abstract class TrackSelector<T> extends Object
Modifier and Type | Class and Description |
---|---|
static interface |
TrackSelector.EventListener<T>
Listener of
TrackSelector events. |
static interface |
TrackSelector.InvalidationListener
Notified when previous selections by a
TrackSelector are no longer valid. |
Constructor and Description |
---|
TrackSelector(Handler eventHandler) |
Modifier and Type | Method and Description |
---|---|
void |
addListener(TrackSelector.EventListener<? super T> listener)
Registers a listener to receive events from the selector.
|
TrackSelections<T> |
getCurrentSelections()
Returns the current track selections.
|
void |
init(TrackSelector.InvalidationListener listener)
Initializes the selector.
|
protected void |
invalidate()
Invalidates all previously generated track selections.
|
void |
onSelectionActivated(TrackSelections<T> activeSelections)
Called when
TrackSelections previously generated by selectTracks(RendererCapabilities[], TrackGroupArray) are activated. |
void |
removeListener(TrackSelector.EventListener<? super T> listener)
Unregister a listener.
|
abstract TrackSelections<T> |
selectTracks(RendererCapabilities[] rendererCapabilities,
TrackGroupArray trackGroups)
Generates
TrackSelections for the renderers. |
public TrackSelector(Handler eventHandler)
eventHandler
- A handler to use when delivering events to listeners added via addListener(EventListener)
.public final void addListener(TrackSelector.EventListener<? super T> listener)
Handler
that was passed to the constructor.listener
- The listener to register.public final void removeListener(TrackSelector.EventListener<? super T> listener)
listener
- The listener to unregister.public final TrackSelections<T> getCurrentSelections()
public final void init(TrackSelector.InvalidationListener listener)
listener
- A listener for the selector.public abstract TrackSelections<T> selectTracks(RendererCapabilities[] rendererCapabilities, TrackGroupArray trackGroups) throws ExoPlaybackException
TrackSelections
for the renderers.rendererCapabilities
- The RendererCapabilities
of the renderers for which TrackSelection
s are to be generated.trackGroups
- The available track groups.ExoPlaybackException
- If an error occurs selecting tracks.public final void onSelectionActivated(TrackSelections<T> activeSelections)
TrackSelections
previously generated by selectTracks(RendererCapabilities[], TrackGroupArray)
are activated.activeSelections
- The activated TrackSelections
.protected final void invalidate()