# androidx.media3.exoplayer.trackselection

*** ** * ** ***

## Annotations

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.SelectionEligibility` | The extent to which tracks are eligible for selection. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo.RendererSupport` | Levels of renderer support. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelection.Type` | Represents a type track selection. |

## Interfaces

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/ExoTrackSelection` | A `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelection` that can change the individually selected track as a result of calling `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/ExoTrackSelection#updateSelectedTrack(long,long,long,java.util.List<? extends androidx.media3.exoplayer.source.chunk.MediaChunk>,androidx.media3.exoplayer.source.chunk.MediaChunkIterator[])` or `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/ExoTrackSelection#evaluateQueueSize(long,java.util.List<? extends androidx.media3.exoplayer.source.chunk.MediaChunk>)`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/ExoTrackSelection.Factory` | Factory for `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/ExoTrackSelection` instances. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelection` | A track selection consisting of a static subset of selected tracks belonging to a `https://developer.android.com/reference/androidx/media3/common/TrackGroup`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelectionUtil.AdaptiveTrackSelectionFactory` | Functional interface to create a single adaptive track selection. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelector.Factory` | Factory for creating `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelector` from `https://developer.android.com/reference/android/content/Context.html`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelector.InvalidationListener` | Notified when selections previously made by a `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelector` are no longer valid. |

## Classes

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/AdaptiveTrackSelection` | A bandwidth based adaptive `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/ExoTrackSelection`, whose selected track is updated to be the highest priority track given the current network conditions and the state of the buffer. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/AdaptiveTrackSelection.AdaptationCheckpoint` | Checkpoint to determine allocated bandwidth. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/AdaptiveTrackSelection.Factory` | Factory for `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/AdaptiveTrackSelection` instances. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/BaseTrackSelection` | An abstract base class suitable for most `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/ExoTrackSelection` implementations. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector` | A default `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelector` suitable for most use cases. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters` | Extends `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters` by adding fields that are specific to `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.ParametersBuilder` | **This class is deprecated.** Use `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` instead. <br /> |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.SelectionOverride` | A track selection override. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/ExoTrackSelection.Definition` | Contains of a subset of selected tracks belonging to a `https://developer.android.com/reference/androidx/media3/common/TrackGroup`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/FixedTrackSelection` | A `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelection` consisting of a single track. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/ForwardingTrackSelection` | An `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/ExoTrackSelection` forwarding all calls to a wrapped instance. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector` | Base class for `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelector`s that first establish a mapping between `https://developer.android.com/reference/androidx/media3/common/TrackGroup`s and `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer`s, and then from that mapping create a `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/ExoTrackSelection` for each renderer. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo` | Provides mapped track information for each renderer. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/RandomTrackSelection` | An `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/ExoTrackSelection` whose selected track is updated randomly. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/RandomTrackSelection.Factory` | Factory for `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/RandomTrackSelection` instances. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelectionArray` | An array of `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelection`s. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelectionUtil` | Track selection related utility methods. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelector` | The component of an `https://developer.android.com/reference/androidx/media3/exoplayer/ExoPlayer` responsible for selecting tracks to be consumed by each of the player's `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer`s. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelectorResult` | The result of a `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelector` operation. |