Package com.google.android.exoplayer2.trackselection

## Class MappingTrackSelector.MappedTrackInfo

- java.lang.Object
- - com.google.android.exoplayer2.trackselection.MappingTrackSelector.MappedTrackInfo

- Enclosing class:
    MappingTrackSelector

      public static final class MappingTrackSelector.MappedTrackInfo
      extends Object

  Provides mapped track information for each renderer.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `RENDERER_SUPPORT_EXCEEDS_CAPABILITIES_TRACKS` | 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 int` | `RENDERER_SUPPORT_NO_TRACKS` | The renderer does not have any associated tracks.
    `static int` | `RENDERER_SUPPORT_PLAYABLE_TRACKS` | The renderer has tracks mapped to it, and at least one such track is playable.
    `static int` | `RENDERER_SUPPORT_UNSUPPORTED_TRACKS` | The renderer has tracks mapped to it, but all are unsupported.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `getAdaptiveSupport​(int rendererIndex, int groupIndex, boolean includeCapabilitiesExceededTracks)` | Returns the extent to which a renderer supports adaptation between supported tracks in a specified `TrackGroup`.
    `int` | `getAdaptiveSupport​(int rendererIndex, int groupIndex, int[] trackIndices)` | Returns the extent to which a renderer supports adaptation between specified tracks within a `TrackGroup`.
    `int` | `getRendererCount()` | Returns the number of renderers.
    `String` | `getRendererName​(int rendererIndex)` | Returns the name of the renderer at a given index.
    `int` | `getRendererSupport​(int rendererIndex)` | Returns the extent to which a renderer can play the tracks that are mapped to it.
    `int` | `getRendererType​(int rendererIndex)` | Returns the track type that the renderer at a given index handles.
    `TrackGroupArray` | `getTrackGroups​(int rendererIndex)` | Returns the `TrackGroup`s mapped to the renderer at the specified index.
    `int` | `getTrackSupport​(int rendererIndex, int groupIndex, int trackIndex)` | Returns the extent to which an individual track is supported by the renderer.
    `int` | `getTypeSupport​(int trackType)` | Returns the extent to which tracks of a specified type are supported.
    `TrackGroupArray` | `getUnmappedTrackGroups()` | Returns `TrackGroup`s not mapped to any renderer.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### RENDERER_SUPPORT_NO_TRACKS

          public static final int RENDERER_SUPPORT_NO_TRACKS

      The renderer does not have any associated tracks.
      See Also:
        Constant Field Values

    - #### RENDERER_SUPPORT_UNSUPPORTED_TRACKS

          public static final int RENDERER_SUPPORT_UNSUPPORTED_TRACKS

      The renderer has tracks mapped to it, but all are unsupported. In other words, `getTrackSupport(int, int, int)` returns `C.FORMAT_UNSUPPORTED_DRM`, `C.FORMAT_UNSUPPORTED_SUBTYPE` or `C.FORMAT_UNSUPPORTED_TYPE` for all tracks mapped to the renderer.
      See Also:
        Constant Field Values

    - #### RENDERER_SUPPORT_EXCEEDS_CAPABILITIES_TRACKS

          public static final int RENDERER_SUPPORT_EXCEEDS_CAPABILITIES_TRACKS

      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, `getTrackSupport(int, int, int)` returns `C.FORMAT_EXCEEDS_CAPABILITIES` for at least one track mapped to the renderer, but does not return `C.FORMAT_HANDLED` for any tracks mapped to the renderer.
      See Also:
        Constant Field Values

    - #### RENDERER_SUPPORT_PLAYABLE_TRACKS

          public static final int RENDERER_SUPPORT_PLAYABLE_TRACKS

      The renderer has tracks mapped to it, and at least one such track is playable. In other words, `getTrackSupport(int, int, int)` returns `C.FORMAT_HANDLED` for at least one track mapped to the renderer.
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### 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:
        `rendererIndex` - The renderer index.
      Returns:
        The name of the renderer.
      See Also:
        `Renderer.getName()`

    - #### getRendererType

          public int getRendererType​(int rendererIndex)

      Returns the track type that the renderer at a given index handles.
      Parameters:
        `rendererIndex` - The renderer index.
      Returns:
        One of the `TRACK_TYPE_*` constants defined in `C`.
      See Also:
        `Renderer.getTrackType()`

    - #### getTrackGroups

          public TrackGroupArray getTrackGroups​(int rendererIndex)

      Returns the `TrackGroup`s mapped to the renderer at the specified index.
      Parameters:
        `rendererIndex` - The renderer index.
      Returns:
        The corresponding `TrackGroup`s.

    - #### getRendererSupport

          @RendererSupport
          public int getRendererSupport​(int rendererIndex)

      Returns the extent to which a renderer can play the tracks that are mapped to it.
      Parameters:
        `rendererIndex` - The renderer index.
      Returns:
        The `MappingTrackSelector.MappedTrackInfo.RendererSupport`.

    - #### getTypeSupport

          @RendererSupport
          public int getTypeSupport​(int trackType)

      Returns the extent to which tracks of a specified type are supported. This is the best level of support obtained from `getRendererSupport(int)` for all renderers that handle the specified type. If no such renderers exist then `RENDERER_SUPPORT_NO_TRACKS` is returned.
      Parameters:
        `trackType` - The track type. One of the `C` `TRACK_TYPE_*` constants.
      Returns:
        The `MappingTrackSelector.MappedTrackInfo.RendererSupport`.

    - #### getTrackSupport

          @FormatSupport
          public int getTrackSupport​(int rendererIndex,
                                     int groupIndex,
                                     int trackIndex)

      Returns the extent to which an individual track is supported by the renderer.
      Parameters:
        `rendererIndex` - The renderer index.
        `groupIndex` - The index of the track group to which the track belongs.
        `trackIndex` - The index of the track within the track group.
      Returns:
        The `C.FormatSupport`.

    - #### getAdaptiveSupport

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

      Tracks for which `getTrackSupport(int, int, int)` returns `C.FORMAT_HANDLED` are always considered. Tracks for which `getTrackSupport(int, int, int)` returns `C.FORMAT_EXCEEDS_CAPABILITIES` are also considered if `includeCapabilitiesExceededTracks` is set to `true`. Tracks for which `getTrackSupport(int, int, int)` returns `C.FORMAT_UNSUPPORTED_DRM`, `C.FORMAT_UNSUPPORTED_TYPE` or `C.FORMAT_UNSUPPORTED_SUBTYPE` are never considered.

      Parameters:
        `rendererIndex` - The renderer index.
        `groupIndex` - The index of the track group.
        `includeCapabilitiesExceededTracks` - Whether tracks that exceed the capabilities of the renderer are included when determining support.
      Returns:
        The `RendererCapabilities.AdaptiveSupport`.

    - #### getAdaptiveSupport

          @AdaptiveSupport
          public int getAdaptiveSupport​(int rendererIndex,
                                        int groupIndex,
                                        int[] trackIndices)

      Returns the extent to which a renderer supports adaptation between specified tracks within a `TrackGroup`.
      Parameters:
        `rendererIndex` - The renderer index.
        `groupIndex` - The index of the track group.
      Returns:
        The `RendererCapabilities.AdaptiveSupport`.

    - #### getUnmappedTrackGroups

          public TrackGroupArray getUnmappedTrackGroups()

      Returns `TrackGroup`s not mapped to any renderer.