# DefaultTrackSelector.Parameters

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)

*** ** * ** ***

<br />

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

<br />

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) |||
| ↳ | [androidx.media3.common.TrackSelectionParameters](https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters) ||
|   | ↳ | [androidx.media3.exoplayer.trackselection.DefaultTrackSelector.Parameters](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`.

## Summary

| ### Nested types |
|---|
| `public final class https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder extends https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.Builder` A builder for `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters`. |

| ### Constants |
|---|---|
| `static final https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#DEFAULT()` An instance with default values. |
| `static final https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#DEFAULT_WITHOUT_CONTEXT()` **This field is deprecated.** Use `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#DEFAULT()` instead. <br /> |

| ### Public fields |
|---|---|
| `final boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#allowAudioMixedChannelCountAdaptiveness()` Whether to allow adaptive audio selections containing mixed channel counts. |
| `final boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#allowAudioMixedDecoderSupportAdaptiveness()` 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`. |
| `final boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#allowAudioMixedMimeTypeAdaptiveness()` Whether to allow adaptive audio selections containing mixed MIME types. |
| `final boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#allowAudioMixedSampleRateAdaptiveness()` Whether to allow adaptive audio selections containing mixed sample rates. |
| `final boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#allowAudioNonSeamlessAdaptiveness()` Whether to allow adaptive audio selections where adaptation may not be completely seamless. |
| `final boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#allowInvalidateSelectionsOnRendererCapabilitiesChange()` Whether to allow to invalidate selections on renderer capabilities change. |
| `final boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#allowMultipleAdaptiveSelections()` Whether multiple adaptive selections with more than one track are allowed. |
| `final boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#allowVideoMixedDecoderSupportAdaptiveness()` 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`. |
| `final boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#allowVideoMixedMimeTypeAdaptiveness()` Whether to allow adaptive video selections containing mixed MIME types. |
| `final boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#allowVideoNonSeamlessAdaptiveness()` Whether to allow adaptive video selections where adaptation may not be completely seamless. |
| `final boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#constrainAudioChannelCountToDeviceCapabilities()` Whether to constrain audio track selection so that the selected track's channel count does not exceed the device's output capabilities. |
| `final boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#exceedAudioConstraintsIfNecessary()` Whether to exceed the `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#maxAudioChannelCount()` and `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#maxAudioBitrate()` constraints when no selection can be made otherwise. |
| `final boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#exceedRendererCapabilitiesIfNecessary()` Whether to exceed renderer capabilities when no selection can be made otherwise. |
| `final boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#exceedVideoConstraintsIfNecessary()` Whether to exceed the `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#maxVideoWidth()`, `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#maxVideoHeight()` and `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#maxVideoBitrate()` constraints when no selection can be made otherwise. |
| `final boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#tunnelingEnabled()` Whether to enable tunneling if possible. |

| ### Public methods |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#buildUpon()()` Creates a new `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder`, copying the initial values from this instance. |
| `boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#equals(java.lang.Object)(@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/Object.html obj)` |
| `static https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#fromBundle(android.os.Bundle)(https://developer.android.com/reference/android/os/Bundle.html bundle)` Restores a `Parameters` from a `https://developer.android.com/reference/android/os/Bundle.html`. |
| `static https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters` | `[getDefaults](https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#getDefaults(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#DEFAULT()` instead. <br /> |
| `boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#getRendererDisabled(int)(int rendererIndex)` Returns whether the renderer is disabled. |
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.SelectionOverride` | `[getSelectionOverride](https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#getSelectionOverride(int,androidx.media3.exoplayer.source.TrackGroupArray))(int rendererIndex, https://developer.android.com/reference/androidx/media3/exoplayer/source/TrackGroupArray groups)` **This method is deprecated.** Only works to retrieve the overrides set with the deprecated `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)`. <br /> |
| `boolean` | `[hasSelectionOverride](https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#hasSelectionOverride(int,androidx.media3.exoplayer.source.TrackGroupArray))(int rendererIndex, https://developer.android.com/reference/androidx/media3/exoplayer/source/TrackGroupArray groups)` **This method is deprecated.** Only works to retrieve the overrides set with the deprecated `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)`. <br /> |
| `int` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#hashCode()()` |
| `https://developer.android.com/reference/android/os/Bundle.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters#toBundle()()` |

### Inherited Constants

From [androidx.media3.common.TrackSelectionParameters](https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters) `static final https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters` `@https://developer.android.com/reference/androidx/media3/common/util/UnstableApi
https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#DEFAULT()`

An instance with default parameters.
`static final https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters` `@https://developer.android.com/reference/androidx/media3/common/util/UnstableApi
https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#DEFAULT_WITHOUT_CONTEXT()`

**This field is deprecated.**

Use `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#DEFAULT()` instead.

<br />

`static final int` `@https://developer.android.com/reference/androidx/media3/common/util/UnstableApi
https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#FIELD_CUSTOM_ID_BASE() = 1000`

Defines a minimum field ID value for subclasses to use when implementing `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#toBundle()` and delegating to `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.Builder#Builder(android.os.Bundle)`.

### Inherited fields

From [androidx.media3.common.TrackSelectionParameters](https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters) `final https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.AudioOffloadPreferences` `@https://developer.android.com/reference/androidx/media3/common/util/UnstableApi
https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#audioOffloadPreferences()`

The preferred offload mode settings for audio playback.
`final https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableSet.html<@https://developer.android.com/reference/androidx/media3/common/C.TrackType https://developer.android.com/reference/java/lang/Integer.html>` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#disabledTrackTypes()`

The track types that are disabled.
`final boolean` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#forceHighestSupportedBitrate()`

Whether to force selection of the highest bitrate audio and video tracks that comply with all other constraints.
`final boolean` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#forceLowestBitrate()`

Whether to force selection of the single lowest bitrate audio and video tracks that comply with all other constraints.
`final int` `@https://developer.android.com/reference/androidx/media3/common/C.SelectionFlags
https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#ignoredTextSelectionFlags()`

Bitmask of selection flags that are ignored for text track selections.
`final boolean` `@https://developer.android.com/reference/androidx/media3/common/util/UnstableApi
https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#isPrioritizeImageOverVideoEnabled()`

Whether an image track will be selected over a video track if both are available.
`final boolean` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#isViewportSizeLimitedByPhysicalDisplaySize()`

Whether the viewport size should be assumed to the physical display size if no other specific viewport size constraint is specified.
`final int` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#maxAudioBitrate()`

Maximum allowed audio bitrate in bits per second.
`final int` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#maxAudioChannelCount()`

Maximum allowed audio channel count.
`final int` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#maxVideoBitrate()`

Maximum allowed video bitrate in bits per second.
`final int` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#maxVideoFrameRate()`

Maximum allowed video frame rate in hertz.
`final int` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#maxVideoHeight()`

Maximum allowed video height in pixels.
`final int` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#maxVideoWidth()`

Maximum allowed video width in pixels.
`final int` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#minVideoBitrate()`

Minimum allowed video bitrate in bits per second.
`final int` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#minVideoFrameRate()`

Minimum allowed video frame rate in hertz.
`final int` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#minVideoHeight()`

Minimum allowed video height in pixels.
`final int` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#minVideoWidth()`

Minimum allowed video width in pixels.
`final https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableMap.html<https://developer.android.com/reference/androidx/media3/common/TrackGroup, https://developer.android.com/reference/androidx/media3/common/TrackSelectionOverride>` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#overrides()`

Overrides to force selection of specific tracks.
`final https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/java/lang/String.html>` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#preferredAudioLabels()`

The preferred labels for audio tracks in order of preference, or an empty list for no preference.
`final https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/java/lang/String.html>` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#preferredAudioLanguages()`

The preferred languages for audio and forced text tracks as IETF BCP 47 conformant tags in order of preference.
`final https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/java/lang/String.html>` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#preferredAudioMimeTypes()`

The preferred sample MIME types for audio tracks in order of preference, or an empty list for no preference.
`final int` `@https://developer.android.com/reference/androidx/media3/common/C.RoleFlags
https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#preferredAudioRoleFlags()`

The preferred `https://developer.android.com/reference/androidx/media3/common/C.RoleFlags` for audio tracks.
`final https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/java/lang/String.html>` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#preferredTextLabels()`

The preferred labels for text tracks in order of preference, or an empty list for no preference.
`final https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/java/lang/String.html>` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#preferredTextLanguages()`

The preferred languages for text tracks as IETF BCP 47 conformant tags in order of preference.
`final int` `@https://developer.android.com/reference/androidx/media3/common/C.RoleFlags
https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#preferredTextRoleFlags()`

The preferred `https://developer.android.com/reference/androidx/media3/common/C.RoleFlags` for text tracks.
`final https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/java/lang/String.html>` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#preferredVideoLabels()`

The preferred labels for video tracks in order of preference, or an empty list for no preference.
`final https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/java/lang/String.html>` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#preferredVideoLanguages()`

The preferred languages for video tracks as IETF BCP 47 conformant tags in order of preference.
`final https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/java/lang/String.html>` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#preferredVideoMimeTypes()`

The preferred sample MIME types for video tracks in order of preference, or an empty list for no preference.
`final int` `@https://developer.android.com/reference/androidx/media3/common/C.RoleFlags
https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#preferredVideoRoleFlags()`

The preferred `https://developer.android.com/reference/androidx/media3/common/C.RoleFlags` for video tracks.
`final boolean` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#selectTextByDefault()`

Prefer to select any text track by default.
`final boolean` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#selectUndeterminedTextLanguage()`

Whether a text track with undetermined language should be selected if no track with `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#preferredTextLanguages()` is available, or if `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#preferredTextLanguages()` is unset.
`final boolean` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#usePreferredTextLanguagesAndRoleFlagsFromCaptioningManager()`

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.
`final int` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#viewportHeight()`

Viewport height in pixels.
`final boolean` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#viewportOrientationMayChange()`

Whether the viewport orientation may change during playback.
`final int` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#viewportWidth()`

Viewport width in pixels.

### Inherited methods

From [androidx.media3.common.TrackSelectionParameters](https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters) `static https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters` `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#fromBundle(android.os.Bundle)(https://developer.android.com/reference/android/os/Bundle.html bundle)`

Construct an instance from a `https://developer.android.com/reference/android/os/Bundle.html` produced by `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#toBundle()`.
`static https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters` `[getDefaults](https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#getDefaults(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#DEFAULT()` instead.

<br />

## Constants

### DEFAULT

```
public static final DefaultTrackSelector.Parameters DEFAULT
```

An instance with default values.

### DEFAULT_WITHOUT_CONTEXT

```
public static final DefaultTrackSelector.Parameters DEFAULT_WITHOUT_CONTEXT
```

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

## Public fields

### allowAudioMixedChannelCountAdaptiveness

```
public final boolean allowAudioMixedChannelCountAdaptiveness
```

Whether to allow adaptive audio selections containing mixed channel counts. Adaptations between different channel counts may not be completely seamless. The default value is ` false`.

### allowAudioMixedDecoderSupportAdaptiveness

```
public final boolean allowAudioMixedDecoderSupportAdaptiveness
```

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`.

### allowAudioMixedMimeTypeAdaptiveness

```
public final boolean allowAudioMixedMimeTypeAdaptiveness
```

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#allowAudioNonSeamlessAdaptiveness()` also needs to be `true` for mixed MIME type selections to be made. The default value is `false`.

### allowAudioMixedSampleRateAdaptiveness

```
public final boolean allowAudioMixedSampleRateAdaptiveness
```

Whether to allow adaptive audio selections containing mixed sample rates. Adaptations between different sample rates may not be completely seamless. The default value is `false`.

### allowAudioNonSeamlessAdaptiveness

```
public final boolean allowAudioNonSeamlessAdaptiveness
```

Whether to allow adaptive audio selections where adaptation may not be completely seamless. The default value is `true`.

### allowInvalidateSelectionsOnRendererCapabilitiesChange

```
public final boolean allowInvalidateSelectionsOnRendererCapabilitiesChange
```

Whether to allow to invalidate selections on renderer capabilities change. The default value is `false`.

### allowMultipleAdaptiveSelections

```
public final boolean allowMultipleAdaptiveSelections
```

Whether multiple adaptive selections with more than one track are allowed. The default value is `true`.

Note that tracks are only eligible for adaptation if they define a bitrate, the renderers support the tracks and allow adaptation between them, and they are not excluded based on other track selection parameters.

### allowVideoMixedDecoderSupportAdaptiveness

```
public final boolean allowVideoMixedDecoderSupportAdaptiveness
```

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`.

### allowVideoMixedMimeTypeAdaptiveness

```
public final boolean allowVideoMixedMimeTypeAdaptiveness
```

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#allowVideoNonSeamlessAdaptiveness()` also needs to be `true` for mixed MIME type selections to be made. The default value is `false`.

### allowVideoNonSeamlessAdaptiveness

```
public final boolean allowVideoNonSeamlessAdaptiveness
```

Whether to allow adaptive video selections where adaptation may not be completely seamless. The default value is `true`.

### constrainAudioChannelCountToDeviceCapabilities

```
public final boolean constrainAudioChannelCountToDeviceCapabilities
```

Whether to constrain audio track selection so that the selected track's channel count does not exceed the device's output capabilities. The default value is `true`.

### exceedAudioConstraintsIfNecessary

```
public final boolean exceedAudioConstraintsIfNecessary
```

Whether to exceed the `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#maxAudioChannelCount()` and `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#maxAudioBitrate()` constraints when no selection can be made otherwise. The default value is `true`.

### exceedRendererCapabilitiesIfNecessary

```
public final boolean exceedRendererCapabilitiesIfNecessary
```

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. The default value is `true`.

### exceedVideoConstraintsIfNecessary

```
public final boolean exceedVideoConstraintsIfNecessary
```

Whether to exceed the `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#maxVideoWidth()`, `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#maxVideoHeight()` and `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#maxVideoBitrate()` constraints when no selection can be made otherwise. The default value is `true`.

### tunnelingEnabled

```
public final boolean tunnelingEnabled
```

Whether to enable tunneling if possible.

## Public methods

### buildUpon

```
public DefaultTrackSelector.Parameters.Builder buildUpon()
```

Creates a new `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder`, copying the initial values from this instance.

### equals

```
public boolean equals(@Nullable Object obj)
```

### fromBundle

```
public static DefaultTrackSelector.Parameters fromBundle(Bundle bundle)
```

Restores a `Parameters` from a `https://developer.android.com/reference/android/os/Bundle.html`.

### getDefaults

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

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

### getRendererDisabled

```
public boolean getRendererDisabled(int rendererIndex)
```

Returns whether the renderer is disabled.

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

| Returns |
|---|---|
| `boolean` | Whether the renderer is disabled. |

### getSelectionOverride

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

> [!CAUTION]
> **This method is deprecated.**   
>
> Only works to retrieve the overrides set with the deprecated `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)`. Use `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#overrides()` instead.

Returns the 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`. |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.SelectionOverride` | The override, or null if no override exists. |

### hasSelectionOverride

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

> [!CAUTION]
> **This method is deprecated.**   
>
> Only works to retrieve the overrides set with the deprecated `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)`. Use `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters#overrides()` instead.

Returns whether there is an 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`. |

| Returns |
|---|---|
| `boolean` | Whether there is an override. |

### hashCode

```
public int hashCode()
```

### toBundle

```
public Bundle toBundle()
```