# DefaultTrackSelector.Parameters.Builder

Artifact: [androidx.media3:media3-exoplayer](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/exoplayer/trackselection/DefaultTrackSelector.java+class:androidx.media3.exoplayer.trackselection.DefaultTrackSelector.Parameters.Builder)

*** ** * ** ***


```
public final class DefaultTrackSelector.Parameters.Builder extends TrackSelectionParameters.Builder
```

<br />

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) |||
| ↳ | [androidx.media3.common.TrackSelectionParameters.Builder](https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.Builder) ||
|   | ↳ | [androidx.media3.exoplayer.trackselection.DefaultTrackSelector.Parameters.Builder](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`. See the `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters` documentation for explanations of the parameters that can be configured using this builder.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#Builder()()` Creates a builder with default initial values. |
| `@https://checkerframework.org/api/com/google/errorprone/annotations/InlineMe.html(replacement = "this()") [Builder](https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#Builder(android.content.Context))(https://developer.android.com/reference/android/content/Context.html context)` **This method is deprecated.** Use `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#Builder()` instead. <br /> |

| ### Public methods |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#addOverride(androidx.media3.common.TrackSelectionOverride)(https://developer.android.com/reference/androidx/media3/common/TrackSelectionOverride override)` Adds an override, replacing any override for the same `https://developer.android.com/reference/androidx/media3/common/TrackGroup`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#build()()` Builds a `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters` instance with the selected values. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#clearOverride(androidx.media3.common.TrackGroup)(https://developer.android.com/reference/androidx/media3/common/TrackGroup trackGroup)` Removes the override for the provided media `https://developer.android.com/reference/androidx/media3/common/TrackGroup`, if there is one. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#clearOverrides()()` Removes all overrides. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#clearOverridesOfType(int)(@https://developer.android.com/reference/androidx/media3/common/C.TrackType int trackType)` Removes all overrides of the provided track type. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html [clearSelectionOverride](https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#clearSelectionOverride(int,androidx.media3.exoplayer.source.TrackGroupArray))(int rendererIndex, https://developer.android.com/reference/androidx/media3/exoplayer/source/TrackGroupArray groups)` **This method is deprecated.** Use `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.Builder#clearOverride(androidx.media3.common.TrackGroup)`. <br /> |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html [clearSelectionOverrides](https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#clearSelectionOverrides())()` **This method is deprecated.** Use `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.Builder#clearOverrides()`. <br /> |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html [clearSelectionOverrides](https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#clearSelectionOverrides(int))(int rendererIndex)` **This method is deprecated.** Use `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.Builder#clearOverridesOfType(int)`. <br /> |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#clearVideoSizeConstraints()()` Equivalent to `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.Builder#setMaxVideoSize(int,int)`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#clearViewportSizeConstraints()()` Equivalent to `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.Builder#setViewportSize(int,int,boolean)`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setAllowAudioMixedChannelCountAdaptiveness(boolean)( boolean allowAudioMixedChannelCountAdaptiveness )` Sets whether to allow adaptive audio selections containing mixed channel counts. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setAllowAudioMixedDecoderSupportAdaptiveness(boolean)( boolean allowAudioMixedDecoderSupportAdaptiveness )` Sets whether to allow adaptive audio selections with mixed levels of `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport` and `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setAllowAudioMixedMimeTypeAdaptiveness(boolean)( boolean allowAudioMixedMimeTypeAdaptiveness )` Sets whether to allow adaptive audio selections containing mixed MIME types. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setAllowAudioMixedSampleRateAdaptiveness(boolean)( boolean allowAudioMixedSampleRateAdaptiveness )` Sets whether to allow adaptive audio selections containing mixed sample rates. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setAllowAudioNonSeamlessAdaptiveness(boolean)( boolean allowAudioNonSeamlessAdaptiveness )` Sets whether to allow adaptive audio selections where adaptation may not be completely seamless. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setAllowInvalidateSelectionsOnRendererCapabilitiesChange(boolean)( boolean allowInvalidateSelectionsOnRendererCapabilitiesChange )` Sets whether to allow to invalidate selections on renderer capabilities change. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setAllowMultipleAdaptiveSelections(boolean)( boolean allowMultipleAdaptiveSelections )` Sets whether multiple adaptive selections with more than one track are allowed. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setAllowVideoMixedDecoderSupportAdaptiveness(boolean)( boolean allowVideoMixedDecoderSupportAdaptiveness )` Sets whether to allow adaptive video selections with mixed levels of `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport` and `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setAllowVideoMixedMimeTypeAdaptiveness(boolean)( boolean allowVideoMixedMimeTypeAdaptiveness )` Sets whether to allow adaptive video selections containing mixed MIME types. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setAllowVideoNonSeamlessAdaptiveness(boolean)( boolean allowVideoNonSeamlessAdaptiveness )` Sets whether to allow adaptive video selections where adaptation may not be completely seamless. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setAudioOffloadPreferences(androidx.media3.common.TrackSelectionParameters.AudioOffloadPreferences)( https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.AudioOffloadPreferences audioOffloadPreferences )` Sets the audio offload mode preferences. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setConstrainAudioChannelCountToDeviceCapabilities(boolean)(boolean enabled)` Whether to only select audio tracks with channel counts that don't exceed the device's output capabilities. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html [setDisabledTextTrackSelectionFlags](https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setDisabledTextTrackSelectionFlags(int))( @https://developer.android.com/reference/androidx/media3/common/C.SelectionFlags int disabledTextTrackSelectionFlags )` **This method is deprecated.** Use `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setIgnoredTextSelectionFlags(int)`. <br /> |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setDisabledTrackTypes(java.util.Set<java.lang.Integer>)(https://developer.android.com/reference/java/util/Set.html<@https://developer.android.com/reference/androidx/media3/common/C.TrackType https://developer.android.com/reference/java/lang/Integer.html> disabledTrackTypes)` Sets the disabled track types, preventing all tracks of those types from being selected for playback. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setExceedAudioConstraintsIfNecessary(boolean)( boolean exceedAudioConstraintsIfNecessary )` Sets whether to exceed the `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setMaxAudioChannelCount(int)` and `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setMaxAudioBitrate(int)` constraints when no selection can be made otherwise. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setExceedRendererCapabilitiesIfNecessary(boolean)( boolean exceedRendererCapabilitiesIfNecessary )` Sets whether to exceed renderer capabilities when no selection can be made otherwise. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setExceedVideoConstraintsIfNecessary(boolean)( boolean exceedVideoConstraintsIfNecessary )` Sets whether to exceed the `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setMaxVideoBitrate(int)`, `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setMaxVideoSize(int,int)` and `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setMaxVideoFrameRate(int)` constraints when no selection can be made otherwise. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setForceHighestSupportedBitrate(boolean)(boolean forceHighestSupportedBitrate)` Sets whether to force selection of the highest bitrate audio and video tracks that comply with all other constraints. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setForceLowestBitrate(boolean)(boolean forceLowestBitrate)` Sets whether to force selection of the single lowest bitrate audio and video tracks that comply with all other constraints. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setIgnoredTextSelectionFlags(int)( @https://developer.android.com/reference/androidx/media3/common/C.SelectionFlags int ignoredTextSelectionFlags )` Sets a bitmask of selection flags that are ignored for text track selections. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setMaxAudioBitrate(int)(int maxAudioBitrate)` Sets the maximum allowed audio bitrate. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setMaxAudioChannelCount(int)(int maxAudioChannelCount)` Sets the maximum allowed audio channel count. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setMaxVideoBitrate(int)(int maxVideoBitrate)` Sets the maximum allowed video bitrate. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setMaxVideoFrameRate(int)(int maxVideoFrameRate)` Sets the maximum allowed video frame rate. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setMaxVideoSize(int,int)(int maxVideoWidth, int maxVideoHeight)` Sets the maximum allowed video width and height. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setMaxVideoSizeSd()()` Equivalent to `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.Builder#setMaxVideoSize(int,int)`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setMinVideoBitrate(int)(int minVideoBitrate)` Sets the minimum allowed video bitrate. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setMinVideoFrameRate(int)(int minVideoFrameRate)` Sets the minimum allowed video frame rate. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setMinVideoSize(int,int)(int minVideoWidth, int minVideoHeight)` Sets the minimum allowed video width and height. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setOverrideForType(androidx.media3.common.TrackSelectionOverride)(https://developer.android.com/reference/androidx/media3/common/TrackSelectionOverride override)` Sets an override, replacing all existing overrides with the same track type. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setPreferredAudioLabels(java.lang.String...)(String[] preferredAudioLabels)` Sets the preferred labels for audio tracks. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setPreferredAudioLanguage(java.lang.String)(@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html preferredAudioLanguage)` Sets the preferred language for audio and forced text tracks. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setPreferredAudioLanguages(java.lang.String...)(String[] preferredAudioLanguages)` Sets the preferred languages for audio and forced text tracks. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setPreferredAudioMimeType(java.lang.String)(@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html mimeType)` Sets the preferred sample MIME type for audio tracks. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setPreferredAudioMimeTypes(java.lang.String...)(String[] mimeTypes)` Sets the preferred sample MIME types for audio tracks. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setPreferredAudioRoleFlags(int)(@https://developer.android.com/reference/androidx/media3/common/C.RoleFlags int preferredAudioRoleFlags)` Sets the preferred `https://developer.android.com/reference/androidx/media3/common/C.RoleFlags` for audio tracks. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setPreferredTextLabels(java.lang.String...)(String[] preferredTextLabels)` Sets the preferred labels for text tracks. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setPreferredTextLanguage(java.lang.String)(@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html preferredTextLanguage)` Sets the preferred language for text tracks. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings()()` Sets whether the preferred languages and the preferred role flags for text tracks should be set according the `https://developer.android.com/reference/android/view/accessibility/CaptioningManager.html` preferences, if enabled in the system settings and no other explicit language or role flag preferences are specified. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html [setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings](https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings(android.content.Context))( https://developer.android.com/reference/android/content/Context.html context )` **This method is deprecated.** Use `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings()` instead. <br /> |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setPreferredTextLanguages(java.lang.String...)(String[] preferredTextLanguages)` Sets the preferred languages for text tracks. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setPreferredTextRoleFlags(int)(@https://developer.android.com/reference/androidx/media3/common/C.RoleFlags int preferredTextRoleFlags)` Sets the preferred `https://developer.android.com/reference/androidx/media3/common/C.RoleFlags` for text tracks. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setPreferredVideoLabels(java.lang.String...)(String[] preferredVideoLabels)` Sets the preferred labels for video tracks. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setPreferredVideoLanguage(java.lang.String)(@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html preferredVideoLanguage)` Sets the preferred language for video tracks. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setPreferredVideoLanguages(java.lang.String...)(String[] preferredVideoLanguages)` Sets the preferred languages for video tracks. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setPreferredVideoMimeType(java.lang.String)(@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html mimeType)` Sets the preferred sample MIME type for video tracks. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setPreferredVideoMimeTypes(java.lang.String...)(String[] mimeTypes)` Sets the preferred sample MIME types for video tracks. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setPreferredVideoRoleFlags(int)(@https://developer.android.com/reference/androidx/media3/common/C.RoleFlags int preferredVideoRoleFlags)` Sets the preferred `https://developer.android.com/reference/androidx/media3/common/C.RoleFlags` for video tracks. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setPrioritizeImageOverVideoEnabled(boolean)( boolean isPrioritizeImageOverVideoEnabled )` Sets whether an image track would be selected over a video track if both are available. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setRendererDisabled(int,boolean)(int rendererIndex, boolean disabled)` Sets whether the renderer at the specified index is disabled. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setSelectTextByDefault(boolean)(boolean selectTextByDefault)` Sets whether to prefer to select any text track by default. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setSelectUndeterminedTextLanguage(boolean)( boolean selectUndeterminedTextLanguage )` Sets whether a text track with undetermined language should be selected if no track with `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredTextLanguages(java.lang.String...)` is available, or if the preferred language is unset. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html [setSelectionOverride](https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setSelectionOverride(int,androidx.media3.exoplayer.source.TrackGroupArray,androidx.media3.exoplayer.trackselection.DefaultTrackSelector.SelectionOverride))( int rendererIndex, https://developer.android.com/reference/androidx/media3/exoplayer/source/TrackGroupArray groups, @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.SelectionOverride override )` **This method is deprecated.** Use `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.Builder#addOverride(androidx.media3.common.TrackSelectionOverride)`. <br /> |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setTrackTypeDisabled(int,boolean)(@https://developer.android.com/reference/androidx/media3/common/C.TrackType int trackType, boolean disabled)` Sets whether a track type is disabled. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setTunnelingEnabled(boolean)(boolean tunnelingEnabled)` Sets whether to enable tunneling if possible. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setViewportSize(int,int,boolean)( int viewportWidth, int viewportHeight, boolean viewportOrientationMayChange )` Sets the viewport size to constrain adaptive video selections so that only tracks suitable for the viewport are selected. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setViewportSizeToPhysicalDisplaySize(boolean)( boolean viewportOrientationMayChange )` Sets whether the viewport size should be assumed to the physical display size if no other specific viewport size constraint is specified. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html [setViewportSizeToPhysicalDisplaySize](https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setViewportSizeToPhysicalDisplaySize(android.content.Context,boolean))( https://developer.android.com/reference/android/content/Context.html context, boolean viewportOrientationMayChange )` **This method is deprecated.** Use `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.Builder#setViewportSizeToPhysicalDisplaySize(boolean)` instead. <br /> |

| ### Protected methods |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#set(androidx.media3.common.TrackSelectionParameters)(https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters parameters)` Overrides the value of the builder with the value of `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters`. |

## Public constructors

### Builder

```
public Builder()
```

Creates a builder with default initial values.

### Builder

```
@InlineMe(replacement = "this()")
public [Builder](https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#Builder(android.content.Context))(Context context)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#Builder()` instead.

## Public methods

### addOverride

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder addOverride(TrackSelectionOverride override)
```

Adds an override, replacing any override for the same `https://developer.android.com/reference/androidx/media3/common/TrackGroup`.

### build

```
public DefaultTrackSelector.Parameters build()
```

Builds a `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters` instance with the selected values.

### clearOverride

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder clearOverride(TrackGroup trackGroup)
```

Removes the override for the provided media `https://developer.android.com/reference/androidx/media3/common/TrackGroup`, if there is one.

### clearOverrides

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder clearOverrides()
```

Removes all overrides.

### clearOverridesOfType

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder clearOverridesOfType(@C.TrackType int trackType)
```

Removes all overrides of the provided track type.

### clearSelectionOverride

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder [clearSelectionOverride](https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#clearSelectionOverride(int,androidx.media3.exoplayer.source.TrackGroupArray))(int rendererIndex, TrackGroupArray groups)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.Builder#clearOverride(androidx.media3.common.TrackGroup)`.

Clears a track selection override for the specified renderer and `https://developer.android.com/reference/androidx/media3/exoplayer/source/TrackGroupArray`.

| Parameters |
|---|---|
| `int rendererIndex` | The renderer index. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/TrackGroupArray groups` | The `https://developer.android.com/reference/androidx/media3/exoplayer/source/TrackGroupArray` for which the override should be cleared. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### clearSelectionOverrides

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder [clearSelectionOverrides](https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#clearSelectionOverrides())()
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.Builder#clearOverrides()`.

Clears all track selection overrides for all renderers.

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### clearSelectionOverrides

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder [clearSelectionOverrides](https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#clearSelectionOverrides(int))(int rendererIndex)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.Builder#clearOverridesOfType(int)`.

Clears all track selection overrides for the specified renderer.

| Parameters |
|---|---|
| `int rendererIndex` | The renderer index. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### clearVideoSizeConstraints

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder clearVideoSizeConstraints()
```

Equivalent to `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.Builder#setMaxVideoSize(int,int)`.

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### clearViewportSizeConstraints

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder clearViewportSizeConstraints()
```

Equivalent to `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.Builder#setViewportSize(int,int,boolean)`.

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setAllowAudioMixedChannelCountAdaptiveness

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setAllowAudioMixedChannelCountAdaptiveness(
    boolean allowAudioMixedChannelCountAdaptiveness
)
```

Sets whether to allow adaptive audio selections containing mixed channel counts.

Adaptations between different channel counts may not be completely seamless.

| Parameters |
|---|---|
| `boolean allowAudioMixedChannelCountAdaptiveness` | Whether to allow adaptive audio selections containing mixed channel counts. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setAllowAudioMixedDecoderSupportAdaptiveness

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setAllowAudioMixedDecoderSupportAdaptiveness(
    boolean allowAudioMixedDecoderSupportAdaptiveness
)
```

Sets whether to allow adaptive audio selections with mixed levels of `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport` and `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport`.

| Parameters |
|---|---|
| `boolean allowAudioMixedDecoderSupportAdaptiveness` | Whether to allow adaptive audio selections with mixed levels of decoder and hardware acceleration support. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setAllowAudioMixedMimeTypeAdaptiveness

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setAllowAudioMixedMimeTypeAdaptiveness(
    boolean allowAudioMixedMimeTypeAdaptiveness
)
```

Sets whether to allow adaptive audio selections containing mixed MIME types.

Adaptations between different MIME types may not be completely seamless, in which case `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setAllowAudioNonSeamlessAdaptiveness(boolean)` also needs to be `true` for mixed MIME type selections to be made.

| Parameters |
|---|---|
| `boolean allowAudioMixedMimeTypeAdaptiveness` | Whether to allow adaptive audio selections containing mixed MIME types. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setAllowAudioMixedSampleRateAdaptiveness

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setAllowAudioMixedSampleRateAdaptiveness(
    boolean allowAudioMixedSampleRateAdaptiveness
)
```

Sets whether to allow adaptive audio selections containing mixed sample rates.

Adaptations between different sample rates may not be completely seamless.

| Parameters |
|---|---|
| `boolean allowAudioMixedSampleRateAdaptiveness` | Whether to allow adaptive audio selections containing mixed sample rates. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setAllowAudioNonSeamlessAdaptiveness

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setAllowAudioNonSeamlessAdaptiveness(
    boolean allowAudioNonSeamlessAdaptiveness
)
```

Sets whether to allow adaptive audio selections where adaptation may not be completely seamless.

| Parameters |
|---|---|
| `boolean allowAudioNonSeamlessAdaptiveness` | Whether to allow adaptive audio selections where adaptation may not be completely seamless. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setAllowInvalidateSelectionsOnRendererCapabilitiesChange

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setAllowInvalidateSelectionsOnRendererCapabilitiesChange(
    boolean allowInvalidateSelectionsOnRendererCapabilitiesChange
)
```

Sets whether to allow to invalidate selections on renderer capabilities change.

| Parameters |
|---|---|
| `boolean allowInvalidateSelectionsOnRendererCapabilitiesChange` | Whether to allow to invalidate selections. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setAllowMultipleAdaptiveSelections

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setAllowMultipleAdaptiveSelections(
    boolean allowMultipleAdaptiveSelections
)
```

Sets whether multiple adaptive selections with more than one track are allowed.

| Parameters |
|---|---|
| `boolean allowMultipleAdaptiveSelections` | Whether multiple adaptive selections are allowed. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setAllowVideoMixedDecoderSupportAdaptiveness

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setAllowVideoMixedDecoderSupportAdaptiveness(
    boolean allowVideoMixedDecoderSupportAdaptiveness
)
```

Sets whether to allow adaptive video selections with mixed levels of `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport` and `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport`.

| Parameters |
|---|---|
| `boolean allowVideoMixedDecoderSupportAdaptiveness` | Whether to allow adaptive video selections with mixed levels of decoder and hardware acceleration support. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setAllowVideoMixedMimeTypeAdaptiveness

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setAllowVideoMixedMimeTypeAdaptiveness(
    boolean allowVideoMixedMimeTypeAdaptiveness
)
```

Sets whether to allow adaptive video selections containing mixed MIME types.

Adaptations between different MIME types may not be completely seamless, in which case `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setAllowVideoNonSeamlessAdaptiveness(boolean)` also needs to be `true` for mixed MIME type selections to be made.

| Parameters |
|---|---|
| `boolean allowVideoMixedMimeTypeAdaptiveness` | Whether to allow adaptive video selections containing mixed MIME types. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setAllowVideoNonSeamlessAdaptiveness

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setAllowVideoNonSeamlessAdaptiveness(
    boolean allowVideoNonSeamlessAdaptiveness
)
```

Sets whether to allow adaptive video selections where adaptation may not be completely seamless.

| Parameters |
|---|---|
| `boolean allowVideoNonSeamlessAdaptiveness` | Whether to allow adaptive video selections where adaptation may not be completely seamless. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setAudioOffloadPreferences

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setAudioOffloadPreferences(
    TrackSelectionParameters.AudioOffloadPreferences audioOffloadPreferences
)
```

Sets the audio offload mode preferences. This includes whether to enable/disable offload as well as to set requirements like if the device must support gapless transitions or speed change during offload.

### setConstrainAudioChannelCountToDeviceCapabilities

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setConstrainAudioChannelCountToDeviceCapabilities(boolean enabled)
```

Whether to only select audio tracks with channel counts that don't exceed the device's output capabilities. The default value is `true`.

When enabled, the track selector will prefer stereo/mono audio tracks over multichannel if the audio cannot be spatialized or the device is outputting stereo audio. For example, on a mobile device that outputs non-spatialized audio to its speakers. Dolby surround sound formats are excluded from these constraints because some Dolby decoders are known to spatialize multichannel audio on Android OS versions that don't support the `https://developer.android.com/reference/android/media/Spatializer.html` API.

For devices with Android 12L+ that support `https://developer.android.com/reference/android/media/Spatializer.html`, when this is enabled the track selector will trigger a new track selection everytime a change in `https://developer.android.com/reference/android/media/Spatializer.OnSpatializerStateChangedListener.html` is detected.

The constraints do not apply on devices with [`
television` UI mode](https://developer.android.com/guide/topics/resources/providing-resources#UiModeQualifier).

The constraints do not apply when the track selector is created without a reference to a `https://developer.android.com/reference/android/content/Context.html` via the deprecated `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector#DefaultTrackSelector(androidx.media3.common.TrackSelectionParameters,androidx.media3.exoplayer.trackselection.ExoTrackSelection.Factory)` constructor.

### setDisabledTextTrackSelectionFlags

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder [setDisabledTextTrackSelectionFlags](https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setDisabledTextTrackSelectionFlags(int))(
    @C.SelectionFlags int disabledTextTrackSelectionFlags
)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setIgnoredTextSelectionFlags(int)`.

### setDisabledTrackTypes

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setDisabledTrackTypes(Set<@C.TrackType Integer> disabledTrackTypes)
```

Sets the disabled track types, preventing all tracks of those types from being selected for playback. Any previously disabled track types are cleared.

| Parameters |
|---|---|
| `https://developer.android.com/reference/java/util/Set.html<@https://developer.android.com/reference/androidx/media3/common/C.TrackType https://developer.android.com/reference/java/lang/Integer.html> disabledTrackTypes` | The track types to disable. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setExceedAudioConstraintsIfNecessary

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setExceedAudioConstraintsIfNecessary(
    boolean exceedAudioConstraintsIfNecessary
)
```

Sets whether to exceed the `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setMaxAudioChannelCount(int)` and `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setMaxAudioBitrate(int)` constraints when no selection can be made otherwise.

| Parameters |
|---|---|
| `boolean exceedAudioConstraintsIfNecessary` | Whether to exceed audio constraints when no selection can be made otherwise. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setExceedRendererCapabilitiesIfNecessary

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setExceedRendererCapabilitiesIfNecessary(
    boolean exceedRendererCapabilitiesIfNecessary
)
```

Sets whether to exceed renderer capabilities when no selection can be made otherwise.

This parameter applies when all of the tracks available for a renderer exceed the renderer's reported capabilities. If the parameter is `true` then the lowest quality track will still be selected. Playback may succeed if the renderer has under-reported its true capabilities. If `false` then no track will be selected.

| Parameters |
|---|---|
| `boolean exceedRendererCapabilitiesIfNecessary` | Whether to exceed renderer capabilities when no selection can be made otherwise. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setExceedVideoConstraintsIfNecessary

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setExceedVideoConstraintsIfNecessary(
    boolean exceedVideoConstraintsIfNecessary
)
```

Sets whether to exceed the `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setMaxVideoBitrate(int)`, `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setMaxVideoSize(int,int)` and `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setMaxVideoFrameRate(int)` constraints when no selection can be made otherwise.

| Parameters |
|---|---|
| `boolean exceedVideoConstraintsIfNecessary` | Whether to exceed video constraints when no selection can be made otherwise. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setForceHighestSupportedBitrate

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setForceHighestSupportedBitrate(boolean forceHighestSupportedBitrate)
```

Sets whether to force selection of the highest bitrate audio and video tracks that comply with all other constraints.

| Parameters |
|---|---|
| `boolean forceHighestSupportedBitrate` | Whether to force selection of the highest bitrate audio and video tracks. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setForceLowestBitrate

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setForceLowestBitrate(boolean forceLowestBitrate)
```

Sets whether to force selection of the single lowest bitrate audio and video tracks that comply with all other constraints.

| Parameters |
|---|---|
| `boolean forceLowestBitrate` | Whether to force selection of the single lowest bitrate audio and video tracks. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setIgnoredTextSelectionFlags

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setIgnoredTextSelectionFlags(
    @C.SelectionFlags int ignoredTextSelectionFlags
)
```

Sets a bitmask of selection flags that are ignored for text track selections.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/media3/common/C.SelectionFlags int ignoredTextSelectionFlags` | A bitmask of `https://developer.android.com/reference/androidx/media3/common/C.SelectionFlags` that are ignored for text track selections. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setMaxAudioBitrate

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setMaxAudioBitrate(int maxAudioBitrate)
```

Sets the maximum allowed audio bitrate.

| Parameters |
|---|---|
| `int maxAudioBitrate` | Maximum allowed audio bitrate in bits per second. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setMaxAudioChannelCount

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setMaxAudioChannelCount(int maxAudioChannelCount)
```

Sets the maximum allowed audio channel count.

| Parameters |
|---|---|
| `int maxAudioChannelCount` | Maximum allowed audio channel count. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setMaxVideoBitrate

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setMaxVideoBitrate(int maxVideoBitrate)
```

Sets the maximum allowed video bitrate.

| Parameters |
|---|---|
| `int maxVideoBitrate` | Maximum allowed video bitrate in bits per second. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setMaxVideoFrameRate

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setMaxVideoFrameRate(int maxVideoFrameRate)
```

Sets the maximum allowed video frame rate.

| Parameters |
|---|---|
| `int maxVideoFrameRate` | Maximum allowed video frame rate in hertz. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setMaxVideoSize

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setMaxVideoSize(int maxVideoWidth, int maxVideoHeight)
```

Sets the maximum allowed video width and height.

| Parameters |
|---|---|
| `int maxVideoWidth` | Maximum allowed video width in pixels. |
| `int maxVideoHeight` | Maximum allowed video height in pixels. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setMaxVideoSizeSd

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setMaxVideoSizeSd()
```

Equivalent to `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.Builder#setMaxVideoSize(int,int)`.

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setMinVideoBitrate

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setMinVideoBitrate(int minVideoBitrate)
```

Sets the minimum allowed video bitrate.

| Parameters |
|---|---|
| `int minVideoBitrate` | Minimum allowed video bitrate in bits per second. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setMinVideoFrameRate

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setMinVideoFrameRate(int minVideoFrameRate)
```

Sets the minimum allowed video frame rate.

| Parameters |
|---|---|
| `int minVideoFrameRate` | Minimum allowed video frame rate in hertz. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setMinVideoSize

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setMinVideoSize(int minVideoWidth, int minVideoHeight)
```

Sets the minimum allowed video width and height.

| Parameters |
|---|---|
| `int minVideoWidth` | Minimum allowed video width in pixels. |
| `int minVideoHeight` | Minimum allowed video height in pixels. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setOverrideForType

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setOverrideForType(TrackSelectionOverride override)
```

Sets an override, replacing all existing overrides with the same track type.

### setPreferredAudioLabels

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setPreferredAudioLabels(String[] preferredAudioLabels)
```

Sets the preferred labels for audio tracks.

| Parameters |
|---|---|
| `String[] preferredAudioLabels` | Preferred audio labels in order of preference, or an empty array to express no label preference for audio track selection. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setPreferredAudioLanguage

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setPreferredAudioLanguage(@Nullable String preferredAudioLanguage)
```

Sets the preferred language for audio and forced text tracks.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html preferredAudioLanguage` | Preferred audio language as an IETF BCP 47 conformant tag, or `null` to select the default track, or the first track if there's no default. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setPreferredAudioLanguages

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setPreferredAudioLanguages(String[] preferredAudioLanguages)
```

Sets the preferred languages for audio and forced text tracks.

| Parameters |
|---|---|
| `String[] preferredAudioLanguages` | Preferred audio languages as IETF BCP 47 conformant tags in order of preference, or an empty array to select the default track, or the first track if there's no default. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setPreferredAudioMimeType

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setPreferredAudioMimeType(@Nullable String mimeType)
```

Sets the preferred sample MIME type for audio tracks.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html mimeType` | The preferred MIME type for audio tracks, or `null` to clear a previously set preference. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setPreferredAudioMimeTypes

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setPreferredAudioMimeTypes(String[] mimeTypes)
```

Sets the preferred sample MIME types for audio tracks.

| Parameters |
|---|---|
| `String[] mimeTypes` | The preferred MIME types for audio tracks in order of preference, or an empty list for no preference. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setPreferredAudioRoleFlags

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setPreferredAudioRoleFlags(@C.RoleFlags int preferredAudioRoleFlags)
```

Sets the preferred `https://developer.android.com/reference/androidx/media3/common/C.RoleFlags` for audio tracks.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/media3/common/C.RoleFlags int preferredAudioRoleFlags` | Preferred audio role flags. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setPreferredTextLabels

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setPreferredTextLabels(String[] preferredTextLabels)
```

Sets the preferred labels for text tracks.

| Parameters |
|---|---|
| `String[] preferredTextLabels` | Preferred text labels in order of preference, or an empty array to express no label preference for text track selection. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setPreferredTextLanguage

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setPreferredTextLanguage(@Nullable String preferredTextLanguage)
```

Sets the preferred language for text tracks.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html preferredTextLanguage` | Preferred text language as an IETF BCP 47 conformant tag, or `null` to select the default track if there is one, or no track otherwise. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings()
```

Sets whether the preferred languages and the preferred role flags for text tracks should be set according the `https://developer.android.com/reference/android/view/accessibility/CaptioningManager.html` preferences, if enabled in the system settings and no other explicit language or role flag preferences are specified.

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder [setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings](https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings(android.content.Context))(
    Context context
)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings()` instead.

### setPreferredTextLanguages

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setPreferredTextLanguages(String[] preferredTextLanguages)
```

Sets the preferred languages for text tracks.

| Parameters |
|---|---|
| `String[] preferredTextLanguages` | Preferred text languages as IETF BCP 47 conformant tags in order of preference, or an empty array to select the default track if there is one, or no track otherwise. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setPreferredTextRoleFlags

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setPreferredTextRoleFlags(@C.RoleFlags int preferredTextRoleFlags)
```

Sets the preferred `https://developer.android.com/reference/androidx/media3/common/C.RoleFlags` for text tracks.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/media3/common/C.RoleFlags int preferredTextRoleFlags` | Preferred text role flags. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setPreferredVideoLabels

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setPreferredVideoLabels(String[] preferredVideoLabels)
```

Sets the preferred labels for video tracks.

| Parameters |
|---|---|
| `String[] preferredVideoLabels` | Preferred video labels in order of preference, or an empty array to express no label preference for video track selection. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setPreferredVideoLanguage

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setPreferredVideoLanguage(@Nullable String preferredVideoLanguage)
```

Sets the preferred language for video tracks.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html preferredVideoLanguage` | Preferred video language as an IETF BCP 47 conformant tag, or `null` to express no language preference for video track selection. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setPreferredVideoLanguages

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setPreferredVideoLanguages(String[] preferredVideoLanguages)
```

Sets the preferred languages for video tracks.

| Parameters |
|---|---|
| `String[] preferredVideoLanguages` | Preferred video languages as IETF BCP 47 conformant tags in order of preference, or an empty array to express no language preference for video track selection. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setPreferredVideoMimeType

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setPreferredVideoMimeType(@Nullable String mimeType)
```

Sets the preferred sample MIME type for video tracks.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html mimeType` | The preferred MIME type for video tracks, or `null` to clear a previously set preference. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setPreferredVideoMimeTypes

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setPreferredVideoMimeTypes(String[] mimeTypes)
```

Sets the preferred sample MIME types for video tracks.

| Parameters |
|---|---|
| `String[] mimeTypes` | The preferred MIME types for video tracks in order of preference, or an empty list for no preference. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setPreferredVideoRoleFlags

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setPreferredVideoRoleFlags(@C.RoleFlags int preferredVideoRoleFlags)
```

Sets the preferred `https://developer.android.com/reference/androidx/media3/common/C.RoleFlags` for video tracks.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/media3/common/C.RoleFlags int preferredVideoRoleFlags` | Preferred video role flags. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setPrioritizeImageOverVideoEnabled

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setPrioritizeImageOverVideoEnabled(
    boolean isPrioritizeImageOverVideoEnabled
)
```

Sets whether an image track would be selected over a video track if both are available.

| Parameters |
|---|---|
| `boolean isPrioritizeImageOverVideoEnabled` | Whether an image track would be selected over a video track if both are available. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setRendererDisabled

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setRendererDisabled(int rendererIndex, boolean disabled)
```

Sets whether the renderer at the specified index is disabled. Disabling a renderer prevents the selector from selecting any tracks for it.

| Parameters |
|---|---|
| `int rendererIndex` | The renderer index. |
| `boolean disabled` | Whether the renderer is disabled. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setSelectTextByDefault

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setSelectTextByDefault(boolean selectTextByDefault)
```

Sets whether to prefer to select any text track by default.

If `false`, text tracks are only selected if they match any of the other preference settings.

| Parameters |
|---|---|
| `boolean selectTextByDefault` | Whether to prefer to select any text track by default. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setSelectUndeterminedTextLanguage

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setSelectUndeterminedTextLanguage(
    boolean selectUndeterminedTextLanguage
)
```

Sets whether a text track with undetermined language should be selected if no track with `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredTextLanguages(java.lang.String...)` is available, or if the preferred language is unset.

| Parameters |
|---|---|
| `boolean selectUndeterminedTextLanguage` | Whether a text track with undetermined language should be selected if no preferred language track is available. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setSelectionOverride

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder [setSelectionOverride](https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setSelectionOverride(int,androidx.media3.exoplayer.source.TrackGroupArray,androidx.media3.exoplayer.trackselection.DefaultTrackSelector.SelectionOverride))(
    int rendererIndex,
    TrackGroupArray groups,
    @Nullable DefaultTrackSelector.SelectionOverride override
)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.Builder#addOverride(androidx.media3.common.TrackSelectionOverride)`.

Overrides the track selection for the renderer at the specified index.

When the `https://developer.android.com/reference/androidx/media3/exoplayer/source/TrackGroupArray` mapped to the renderer matches the one provided, the override is applied. When the `https://developer.android.com/reference/androidx/media3/exoplayer/source/TrackGroupArray` does not match, the override has no effect. The override replaces any previous override for the specified `https://developer.android.com/reference/androidx/media3/exoplayer/source/TrackGroupArray` for the specified `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer`.

Passing a `null` override will cause the renderer to be disabled when the `https://developer.android.com/reference/androidx/media3/exoplayer/source/TrackGroupArray` mapped to it matches the one provided. When the `https://developer.android.com/reference/androidx/media3/exoplayer/source/TrackGroupArray` does not match a `null` override has no effect. Hence a `null` override differs from disabling the renderer using `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setRendererDisabled(int,boolean)` because the renderer is disabled conditionally on the `https://developer.android.com/reference/androidx/media3/exoplayer/source/TrackGroupArray` mapped to it, where-as `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setRendererDisabled(int,boolean)` disables the renderer unconditionally.

To remove overrides use `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#clearSelectionOverride(int,androidx.media3.exoplayer.source.TrackGroupArray)`, `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#clearSelectionOverrides(int)` or `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#clearSelectionOverrides()`.

| Parameters |
|---|---|
| `int rendererIndex` | The renderer index. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/TrackGroupArray groups` | The `https://developer.android.com/reference/androidx/media3/exoplayer/source/TrackGroupArray` for which the override should be applied. |
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.SelectionOverride override` | The override. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setTrackTypeDisabled

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setTrackTypeDisabled(@C.TrackType int trackType, boolean disabled)
```

Sets whether a track type is disabled. If disabled, no tracks of the specified type will be selected for playback.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/media3/common/C.TrackType int trackType` | The track type. |
| `boolean disabled` | Whether the track type should be disabled. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setTunnelingEnabled

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setTunnelingEnabled(boolean tunnelingEnabled)
```

Sets whether to enable tunneling if possible. Tunneling will only be enabled if it's supported by the audio and video renderers for the selected tracks.

Tunneling is known to have many device specific issues and limitations. Manual testing is strongly recommended to check that the media plays correctly when this option is enabled. See:

- [google/ExoPlayer#9661](https://github.com/google/ExoPlayer/issues/9661)
- [google/ExoPlayer#9133](https://github.com/google/ExoPlayer/issues/9133)
- [google/ExoPlayer#9317](https://github.com/google/ExoPlayer/issues/9317)
- [google/ExoPlayer#9502](https://github.com/google/ExoPlayer/issues/9502)

| Parameters |
|---|---|
| `boolean tunnelingEnabled` | Whether to enable tunneling if possible. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setViewportSize

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setViewportSize(
    int viewportWidth,
    int viewportHeight,
    boolean viewportOrientationMayChange
)
```

Sets the viewport size to constrain adaptive video selections so that only tracks suitable for the viewport are selected.

| Parameters |
|---|---|
| `int viewportWidth` | Viewport width in pixels. |
| `int viewportHeight` | Viewport height in pixels. |
| `boolean viewportOrientationMayChange` | Whether the viewport orientation may change during playback. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setViewportSizeToPhysicalDisplaySize

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder setViewportSizeToPhysicalDisplaySize(
    boolean viewportOrientationMayChange
)
```

Sets whether the viewport size should be assumed to the physical display size if no other specific viewport size constraint is specified. Constrains video track selections for adaptive content so that only tracks suitable for the viewport are selected.

| Parameters |
|---|---|
| `boolean viewportOrientationMayChange` | Whether the viewport orientation may change during playback. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | This builder. |

### setViewportSizeToPhysicalDisplaySize

```
@CanIgnoreReturnValue
public DefaultTrackSelector.Parameters.Builder [setViewportSizeToPhysicalDisplaySize](https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder#setViewportSizeToPhysicalDisplaySize(android.content.Context,boolean))(
    Context context,
    boolean viewportOrientationMayChange
)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.Builder#setViewportSizeToPhysicalDisplaySize(boolean)` instead.

## Protected methods

### set

```
@CanIgnoreReturnValue
protected DefaultTrackSelector.Parameters.Builder set(TrackSelectionParameters parameters)
```

Overrides the value of the builder with the value of `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters`.