# TrackSelectorResult

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/TrackSelectorResult.java+class:androidx.media3.exoplayer.trackselection.TrackSelectorResult)

*** ** * ** ***


```
@UnstableApi
public final class TrackSelectorResult
```

<br />

*** ** * ** ***

The result of a `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelector` operation.

## Summary

| ### Public fields |
|---|---|
| `final @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/Object.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelectorResult#info()` An opaque object that will be returned to `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelector#onSelectionActivated(java.lang.Object)` should the selections be activated. |
| `final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelectorResult#length()` The number of selections in the result. |
| `final RendererConfiguration[]` | `@https://developer.android.com/reference/androidx/media3/common/util/NullableType https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelectorResult#rendererConfigurations()` A `https://developer.android.com/reference/androidx/media3/exoplayer/RendererConfiguration` for each renderer. |
| `final ExoTrackSelection[]` | `@https://developer.android.com/reference/androidx/media3/common/util/NullableType https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelectorResult#selections()` A `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/ExoTrackSelection` array containing the track selection for each renderer. |
| `final https://developer.android.com/reference/androidx/media3/common/Tracks` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelectorResult#tracks()` Describe the tracks and which one were selected. |

| ### Public constructors |
|---|
| `[TrackSelectorResult](https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelectorResult#TrackSelectorResult(androidx.media3.exoplayer.RendererConfiguration[],androidx.media3.exoplayer.trackselection.ExoTrackSelection[],java.lang.Object))( @https://developer.android.com/reference/androidx/media3/common/util/NullableType RendererConfiguration[] rendererConfigurations, @https://developer.android.com/reference/androidx/media3/common/util/NullableType ExoTrackSelection[] selections, @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/Object.html info )` **This method is deprecated.** Use `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelectorResult#TrackSelectorResult(androidx.media3.exoplayer.RendererConfiguration[],androidx.media3.exoplayer.trackselection.ExoTrackSelection[],androidx.media3.common.Tracks,java.lang.Object)`. <br /> |
| `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelectorResult#TrackSelectorResult(androidx.media3.exoplayer.RendererConfiguration[],androidx.media3.exoplayer.trackselection.ExoTrackSelection[],androidx.media3.common.Tracks,java.lang.Object)( @https://developer.android.com/reference/androidx/media3/common/util/NullableType RendererConfiguration[] rendererConfigurations, @https://developer.android.com/reference/androidx/media3/common/util/NullableType ExoTrackSelection[] selections, https://developer.android.com/reference/androidx/media3/common/Tracks tracks, @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/Object.html info )` |

| ### Public methods |
|---|---|
| `boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelectorResult#isEquivalent(androidx.media3.exoplayer.trackselection.TrackSelectorResult)(@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelectorResult other)` Returns whether this result is equivalent to `other` for all renderers. |
| `boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelectorResult#isEquivalent(androidx.media3.exoplayer.trackselection.TrackSelectorResult,int)(@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelectorResult other, int index)` Returns whether this result is equivalent to `other` for the renderer at the given index. |
| `boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelectorResult#isRendererEnabled(int)(int index)` Returns whether the renderer at the specified index is enabled. |

## Public fields

### info

```
public final @Nullable Object info
```

An opaque object that will be returned to `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelector#onSelectionActivated(java.lang.Object)` should the selections be activated.

### length

```
public final int length
```

The number of selections in the result. Greater than or equal to zero.

### rendererConfigurations

```
@NullableType
public final RendererConfiguration[] rendererConfigurations
```

A `https://developer.android.com/reference/androidx/media3/exoplayer/RendererConfiguration` for each renderer. A null entry indicates the corresponding renderer should be disabled.

### selections

```
@NullableType
public final ExoTrackSelection[] selections
```

A `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/ExoTrackSelection` array containing the track selection for each renderer.

### tracks

```
public final Tracks tracks
```

Describe the tracks and which one were selected.

## Public constructors

### TrackSelectorResult

```
public [TrackSelectorResult](https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelectorResult#TrackSelectorResult(androidx.media3.exoplayer.RendererConfiguration[],androidx.media3.exoplayer.trackselection.ExoTrackSelection[],java.lang.Object))(
    @NullableType RendererConfiguration[] rendererConfigurations,
    @NullableType ExoTrackSelection[] selections,
    @Nullable Object info
)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelectorResult#TrackSelectorResult(androidx.media3.exoplayer.RendererConfiguration[],androidx.media3.exoplayer.trackselection.ExoTrackSelection[],androidx.media3.common.Tracks,java.lang.Object)`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/media3/common/util/NullableType RendererConfiguration[] rendererConfigurations` | A `https://developer.android.com/reference/androidx/media3/exoplayer/RendererConfiguration` for each renderer. A null entry indicates the corresponding renderer should be disabled. |
| `@https://developer.android.com/reference/androidx/media3/common/util/NullableType ExoTrackSelection[] selections` | A `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/ExoTrackSelection` array containing the selection for each renderer. |
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/Object.html info` | An opaque object that will be returned to `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelector#onSelectionActivated(java.lang.Object)` should the selection be activated. May be `null`. |

### TrackSelectorResult

```
public TrackSelectorResult(
    @NullableType RendererConfiguration[] rendererConfigurations,
    @NullableType ExoTrackSelection[] selections,
    Tracks tracks,
    @Nullable Object info
)
```

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/media3/common/util/NullableType RendererConfiguration[] rendererConfigurations` | A `https://developer.android.com/reference/androidx/media3/exoplayer/RendererConfiguration` for each renderer. A null entry indicates the corresponding renderer should be disabled. |
| `@https://developer.android.com/reference/androidx/media3/common/util/NullableType ExoTrackSelection[] selections` | A `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/ExoTrackSelection` array containing the selection for each renderer. If the renderer is disabled with a null `https://developer.android.com/reference/androidx/media3/exoplayer/RendererConfiguration`, then it must have a null selection too. It can also have a null selection if it has a `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#getTrackType()` of `https://developer.android.com/reference/androidx/media3/common/C#TRACK_TYPE_NONE()`. |
| `https://developer.android.com/reference/androidx/media3/common/Tracks tracks` | Description of the available tracks and which one were selected. |
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/Object.html info` | An opaque object that will be returned to `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelector#onSelectionActivated(java.lang.Object)` should the selection be activated. May be `null`. |

## Public methods

### isEquivalent

```
public boolean isEquivalent(@Nullable TrackSelectorResult other)
```

Returns whether this result is equivalent to `other` for all renderers.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelectorResult other` | The other `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelectorResult`. May be null, in which case `false` will be returned. |

| Returns |
|---|---|
| `boolean` | Whether this result is equivalent to `other` for all renderers. |

### isEquivalent

```
public boolean isEquivalent(@Nullable TrackSelectorResult other, int index)
```

Returns whether this result is equivalent to `other` for the renderer at the given index. The results are equivalent if they have equal track selections and configurations for the renderer.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelectorResult other` | The other `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/TrackSelectorResult`. May be null, in which case `false` will be returned. |
| `int index` | The renderer index to check for equivalence. |

| Returns |
|---|---|
| `boolean` | Whether this result is equivalent to `other` for the renderer at the specified index. |

### isRendererEnabled

```
public boolean isRendererEnabled(int index)
```

Returns whether the renderer at the specified index is enabled.