# MappingTrackSelector.MappedTrackInfo

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

*** ** * ** ***


```
public final class MappingTrackSelector.MappedTrackInfo
```

<br />

*** ** * ** ***

Provides mapped track information for each renderer.

## Summary

| ### Nested types |
|---|
| `@https://developer.android.com/reference/java/lang/annotation/Documented.html @https://developer.android.com/reference/java/lang/annotation/Retention.html(value = https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html#SOURCE) @https://developer.android.com/reference/java/lang/annotation/Target.html(value = ) @https://developer.android.com/reference/androidx/annotation/IntDef(value = ) public annotation https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo.RendererSupport` Levels of renderer support. |

| ### Constants |
|---|---|
| `static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo#RENDERER_SUPPORT_EXCEEDS_CAPABILITIES_TRACKS() = 2` The renderer has tracks mapped to it and at least one is of a supported type, but all such tracks exceed the renderer's capabilities. |
| `static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo#RENDERER_SUPPORT_NO_TRACKS() = 0` The renderer does not have any associated tracks. |
| `static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo#RENDERER_SUPPORT_PLAYABLE_TRACKS() = 3` The renderer has tracks mapped to it, and at least one such track is playable. |
| `static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo#RENDERER_SUPPORT_UNSUPPORTED_TRACKS() = 1` The renderer has tracks mapped to it, but all are unsupported. |

| ### Public fields |
|---|---|
| `final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo#rendererCount()` |
| `final https://developer.android.com/reference/androidx/media3/exoplayer/source/TrackGroupArray` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo#unmappedTrackGroups()` |

| ### Public methods |
|---|---|
| `int` | `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo#getAdaptiveSupport(int,int,boolean)( int rendererIndex, int groupIndex, boolean includeCapabilitiesExceededTracks )` Returns the extent to which a renderer supports adaptation between supported tracks in a specified `https://developer.android.com/reference/androidx/media3/common/TrackGroup`. |
| `int` | `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo#getAdaptiveSupport(int,int,int[])( int rendererIndex, int groupIndex, int[] trackIndices )` Returns the extent to which a renderer supports adaptation between specified tracks within a `https://developer.android.com/reference/androidx/media3/common/TrackGroup`. |
| `int` | `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo#getCapabilities(int,int,int)(int rendererIndex, int groupIndex, int trackIndex)` Returns the `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` of the renderer for an individual track. |
| `int` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo#getRendererCount()()` Returns the number of renderers. |
| `https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo#getRendererName(int)(int rendererIndex)` Returns the name of the renderer at a given index. |
| `int` | `@https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo.RendererSupport https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo#getRendererSupport(int)(int rendererIndex)` Returns the extent to which a renderer can play the tracks that are mapped to it. |
| `int` | `@https://developer.android.com/reference/androidx/media3/common/C.TrackType https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo#getRendererType(int)(int rendererIndex)` Returns the track type that the renderer at a given index handles. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/TrackGroupArray` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo#getTrackGroups(int)(int rendererIndex)` Returns the `https://developer.android.com/reference/androidx/media3/common/TrackGroup`s mapped to the renderer at the specified index. |
| `int` | `@https://developer.android.com/reference/androidx/media3/common/C.FormatSupport https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo#getTrackSupport(int,int,int)(int rendererIndex, int groupIndex, int trackIndex)` Returns the extent to which an individual track is supported by the renderer. |
| `int` | `@https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo.RendererSupport https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo#getTypeSupport(int)(@https://developer.android.com/reference/androidx/media3/common/C.TrackType int trackType)` Returns the extent to which tracks of a specified type are supported. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/TrackGroupArray` | `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo#getUnmappedTrackGroups()()` Returns `https://developer.android.com/reference/androidx/media3/common/TrackGroup`s not mapped to any renderer. |

## Constants

### RENDERER_SUPPORT_EXCEEDS_CAPABILITIES_TRACKS

```
public static final int RENDERER_SUPPORT_EXCEEDS_CAPABILITIES_TRACKS = 2
```

The renderer has tracks mapped to it and at least one is of a supported type, but all such tracks exceed the renderer's capabilities. In other words, `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo#getTrackSupport(int,int,int)` returns `https://developer.android.com/reference/androidx/media3/common/C#FORMAT_EXCEEDS_CAPABILITIES()` for at least one track mapped to the renderer, but does not return `https://developer.android.com/reference/androidx/media3/common/C#FORMAT_HANDLED()` for any tracks mapped to the renderer.

### RENDERER_SUPPORT_NO_TRACKS

```
public static final int RENDERER_SUPPORT_NO_TRACKS = 0
```

The renderer does not have any associated tracks.

### RENDERER_SUPPORT_PLAYABLE_TRACKS

```
public static final int RENDERER_SUPPORT_PLAYABLE_TRACKS = 3
```

The renderer has tracks mapped to it, and at least one such track is playable. In other words, `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo#getTrackSupport(int,int,int)` returns `https://developer.android.com/reference/androidx/media3/common/C#FORMAT_HANDLED()` for at least one track mapped to the renderer.

### RENDERER_SUPPORT_UNSUPPORTED_TRACKS

```
public static final int RENDERER_SUPPORT_UNSUPPORTED_TRACKS = 1
```

The renderer has tracks mapped to it, but all are unsupported. In other words, `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo#getTrackSupport(int,int,int)` returns `https://developer.android.com/reference/androidx/media3/common/C#FORMAT_UNSUPPORTED_DRM()`, `https://developer.android.com/reference/androidx/media3/common/C#FORMAT_UNSUPPORTED_SUBTYPE()` or `https://developer.android.com/reference/androidx/media3/common/C#FORMAT_UNSUPPORTED_TYPE()` for all tracks mapped to the renderer.

## Public fields

### rendererCount

```
public final int rendererCount
```

### unmappedTrackGroups

```
public final TrackGroupArray unmappedTrackGroups
```

## Public methods

### getAdaptiveSupport

```
@RendererCapabilities.AdaptiveSupport
public int getAdaptiveSupport(
    int rendererIndex,
    int groupIndex,
    boolean includeCapabilitiesExceededTracks
)
```

Returns the extent to which a renderer supports adaptation between supported tracks in a specified `https://developer.android.com/reference/androidx/media3/common/TrackGroup`.

Tracks for which `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo#getTrackSupport(int,int,int)` returns `https://developer.android.com/reference/androidx/media3/common/C#FORMAT_HANDLED()` are always considered. Tracks for which `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo#getTrackSupport(int,int,int)` returns `https://developer.android.com/reference/androidx/media3/common/C#FORMAT_EXCEEDS_CAPABILITIES()` are also considered if `
includeCapabilitiesExceededTracks` is set to `true`. Tracks for which `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo#getTrackSupport(int,int,int)` returns `https://developer.android.com/reference/androidx/media3/common/C#FORMAT_UNSUPPORTED_DRM()`, `https://developer.android.com/reference/androidx/media3/common/C#FORMAT_UNSUPPORTED_TYPE()` or `https://developer.android.com/reference/androidx/media3/common/C#FORMAT_UNSUPPORTED_SUBTYPE()` are never considered.

| Parameters |
|---|---|
| `int rendererIndex` | The renderer index. |
| `int groupIndex` | The index of the track group. |
| `boolean includeCapabilitiesExceededTracks` | Whether tracks that exceed the capabilities of the renderer are included when determining support. |

| Returns |
|---|---|
| `int` | The `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport`. |

### getAdaptiveSupport

```
@RendererCapabilities.AdaptiveSupport
public int getAdaptiveSupport(
    int rendererIndex,
    int groupIndex,
    int[] trackIndices
)
```

Returns the extent to which a renderer supports adaptation between specified tracks within a `https://developer.android.com/reference/androidx/media3/common/TrackGroup`.

| Parameters |
|---|---|
| `int rendererIndex` | The renderer index. |
| `int groupIndex` | The index of the track group. |
| `int[] trackIndices` | The indices of the tracks in the track group for which to query support. |

| Returns |
|---|---|
| `int` | The `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport`. |

### getCapabilities

```
@RendererCapabilities.Capabilities
public int getCapabilities(int rendererIndex, int groupIndex, int trackIndex)
```

Returns the `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` of the renderer for an individual track.

| Parameters |
|---|---|
| `int rendererIndex` | The renderer index. |
| `int groupIndex` | The index of the track group to which the track belongs. |
| `int trackIndex` | The index of the track within the track group. |

| Returns |
|---|---|
| `int` | The `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities`. |

### getRendererCount

```
public int getRendererCount()
```

Returns the number of renderers.

### getRendererName

```
public String getRendererName(int rendererIndex)
```

Returns the name of the renderer at a given index.

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

| Returns |
|---|---|
| `https://developer.android.com/reference/java/lang/String.html` | The name of the renderer. |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer#getName()` |   |

### getRendererSupport

```
@MappingTrackSelector.MappedTrackInfo.RendererSupport
public int getRendererSupport(int rendererIndex)
```

Returns the extent to which a renderer can play the tracks that are mapped to it.

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

| Returns |
|---|---|
| `int` | The `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo.RendererSupport`. |

### getRendererType

```
@C.TrackType
public int getRendererType(int rendererIndex)
```

Returns the track type that the renderer at a given index handles.

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

| Returns |
|---|---|
| `int` | The `https://developer.android.com/reference/androidx/media3/common/C.TrackType` of the renderer. |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer#getTrackType()` |   |

### getTrackGroups

```
public TrackGroupArray getTrackGroups(int rendererIndex)
```

Returns the `https://developer.android.com/reference/androidx/media3/common/TrackGroup`s mapped to the renderer at the specified index.

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

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/TrackGroupArray` | The corresponding `https://developer.android.com/reference/androidx/media3/common/TrackGroup`s. |

### getTrackSupport

```
@C.FormatSupport
public int getTrackSupport(int rendererIndex, int groupIndex, int trackIndex)
```

Returns the extent to which an individual track is supported by the renderer.

| Parameters |
|---|---|
| `int rendererIndex` | The renderer index. |
| `int groupIndex` | The index of the track group to which the track belongs. |
| `int trackIndex` | The index of the track within the track group. |

| Returns |
|---|---|
| `int` | The `https://developer.android.com/reference/androidx/media3/common/C.FormatSupport`. |

### getTypeSupport

```
@MappingTrackSelector.MappedTrackInfo.RendererSupport
public int getTypeSupport(@C.TrackType int trackType)
```

Returns the extent to which tracks of a specified type are supported. This is the best level of support obtained from `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo#getRendererSupport(int)` for all renderers that handle the specified type. If no such renderers exist then `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo#RENDERER_SUPPORT_NO_TRACKS()` is returned.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/media3/common/C.TrackType int trackType` | The `https://developer.android.com/reference/androidx/media3/common/C.TrackType`. |

| Returns |
|---|---|
| `int` | The `https://developer.android.com/reference/androidx/media3/exoplayer/trackselection/MappingTrackSelector.MappedTrackInfo.RendererSupport`. |

### getUnmappedTrackGroups

```
public TrackGroupArray getUnmappedTrackGroups()
```

Returns `https://developer.android.com/reference/androidx/media3/common/TrackGroup`s not mapped to any renderer.