public class DefaultTrackSelector extends MappingTrackSelector
MappingTrackSelector that allows configuration of common parameters. It is safe to call
the methods of this class from the application thread. See Parameters#Parameters() for
default selection parameters.| Modifier and Type | Class and Description |
|---|---|
static class |
DefaultTrackSelector.Parameters
Holder for available configurations for the
DefaultTrackSelector. |
MappingTrackSelector.MappedTrackInfo, MappingTrackSelector.SelectionOverrideTrackSelector.InvalidationListener| Constructor and Description |
|---|
DefaultTrackSelector()
Constructs an instance that does not support adaptive track selection.
|
DefaultTrackSelector(BandwidthMeter bandwidthMeter)
Constructs an instance that supports adaptive track selection.
|
DefaultTrackSelector(TrackSelection.Factory adaptiveTrackSelectionFactory)
Constructs an instance that uses a factory to create adaptive track selections.
|
| Modifier and Type | Method and Description |
|---|---|
protected static boolean |
formatHasLanguage(Format format,
java.lang.String language) |
DefaultTrackSelector.Parameters |
getParameters()
Gets the current selection parameters.
|
protected static boolean |
isSupported(int formatSupport,
boolean allowExceedsCapabilities) |
protected TrackSelection |
selectAudioTrack(TrackGroupArray groups,
int[][] formatSupport,
java.lang.String preferredAudioLanguage,
boolean exceedRendererCapabilitiesIfNecessary,
boolean allowMixedMimeAdaptiveness,
TrackSelection.Factory adaptiveTrackSelectionFactory) |
protected TrackSelection |
selectOtherTrack(int trackType,
TrackGroupArray groups,
int[][] formatSupport,
boolean exceedRendererCapabilitiesIfNecessary) |
protected TrackSelection |
selectTextTrack(TrackGroupArray groups,
int[][] formatSupport,
java.lang.String preferredTextLanguage,
java.lang.String preferredAudioLanguage,
boolean exceedRendererCapabilitiesIfNecessary) |
protected TrackSelection[] |
selectTracks(RendererCapabilities[] rendererCapabilities,
TrackGroupArray[] rendererTrackGroupArrays,
int[][][] rendererFormatSupports)
Given an array of renderers and a set of
TrackGroups mapped to each of them, provides a
TrackSelection per renderer. |
protected TrackSelection |
selectVideoTrack(RendererCapabilities rendererCapabilities,
TrackGroupArray groups,
int[][] formatSupport,
int maxVideoWidth,
int maxVideoHeight,
int maxVideoBitrate,
boolean allowNonSeamlessAdaptiveness,
boolean allowMixedMimeAdaptiveness,
int viewportWidth,
int viewportHeight,
boolean orientationMayChange,
TrackSelection.Factory adaptiveTrackSelectionFactory,
boolean exceedConstraintsIfNecessary,
boolean exceedRendererCapabilitiesIfNecessary) |
void |
setParameters(DefaultTrackSelector.Parameters params)
Atomically sets the provided parameters for track selection.
|
clearSelectionOverride, clearSelectionOverrides, clearSelectionOverrides, getCurrentMappedTrackInfo, getRendererDisabled, getSelectionOverride, hasSelectionOverride, onSelectionActivated, selectTracks, setRendererDisabled, setSelectionOverride, setTunnelingAudioSessionIdinit, invalidatepublic DefaultTrackSelector()
public DefaultTrackSelector(BandwidthMeter bandwidthMeter)
BandwidthMeter to determine which individual track should be used during
playback.bandwidthMeter - The BandwidthMeter.public DefaultTrackSelector(TrackSelection.Factory adaptiveTrackSelectionFactory)
adaptiveTrackSelectionFactory - A factory for adaptive TrackSelections, or null if
the selector should not support adaptive tracks.public void setParameters(DefaultTrackSelector.Parameters params)
params - The parameters for track selection.public DefaultTrackSelector.Parameters getParameters()
protected TrackSelection[] selectTracks(RendererCapabilities[] rendererCapabilities, TrackGroupArray[] rendererTrackGroupArrays, int[][][] rendererFormatSupports) throws ExoPlaybackException
MappingTrackSelectorTrackGroups mapped to each of them, provides a
TrackSelection per renderer.selectTracks in class MappingTrackSelectorrendererCapabilities - The RendererCapabilities of the renderers for which
TrackSelections are to be generated.rendererTrackGroupArrays - An array of TrackGroupArrays where each entry
corresponds to the renderer of equal index in renderers.rendererFormatSupports - Maps every available track to a specific level of support as
defined by the renderer FORMAT_* constants.ExoPlaybackException - If an error occurs while selecting the tracks.protected TrackSelection selectVideoTrack(RendererCapabilities rendererCapabilities, TrackGroupArray groups, int[][] formatSupport, int maxVideoWidth, int maxVideoHeight, int maxVideoBitrate, boolean allowNonSeamlessAdaptiveness, boolean allowMixedMimeAdaptiveness, int viewportWidth, int viewportHeight, boolean orientationMayChange, TrackSelection.Factory adaptiveTrackSelectionFactory, boolean exceedConstraintsIfNecessary, boolean exceedRendererCapabilitiesIfNecessary) throws ExoPlaybackException
ExoPlaybackExceptionprotected TrackSelection selectAudioTrack(TrackGroupArray groups, int[][] formatSupport, java.lang.String preferredAudioLanguage, boolean exceedRendererCapabilitiesIfNecessary, boolean allowMixedMimeAdaptiveness, TrackSelection.Factory adaptiveTrackSelectionFactory)
protected TrackSelection selectTextTrack(TrackGroupArray groups, int[][] formatSupport, java.lang.String preferredTextLanguage, java.lang.String preferredAudioLanguage, boolean exceedRendererCapabilitiesIfNecessary)
protected TrackSelection selectOtherTrack(int trackType, TrackGroupArray groups, int[][] formatSupport, boolean exceedRendererCapabilitiesIfNecessary)
protected static boolean isSupported(int formatSupport,
boolean allowExceedsCapabilities)
protected static boolean formatHasLanguage(Format format, java.lang.String language)