com.brightcove.player.render

## Class InclusiveHEVCVideoSelectionOverride

- java.lang.Object
- - com.brightcove.player.render.InclusiveHEVCVideoSelectionOverride

- All Implemented Interfaces:
    SelectionOverrideCreator

      public final class InclusiveHEVCVideoSelectionOverride
      extends java.lang.Object
      implements SelectionOverrideCreator

  Selects all the indices of the Video `Format`s that has HVC codecs plus any other `Format` with a different codec and different resolution than the HVC ones.

  It then creates a `DefaultTrackSelector.SelectionOverride` with this information.

  If `TrackGroup` retrived by the track index is either null or empty, `SelectionOverrideCreator.EMPTY_SELECTION_OVERRIDE` is returned.

- - ### Field Summary

    - ### Fields inherited from interface com.brightcove.player.render.SelectionOverrideCreator

      `EMPTY, EMPTY_SELECTION_OVERRIDE`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static InclusiveHEVCVideoSelectionOverride` | `create(android.content.Context context)` Creates an instance of InclusiveHEVCVideoSelectionOverride
    `com.google.android.exoplayer2.trackselection.DefaultTrackSelector.SelectionOverride` | `create(com.google.android.exoplayer2.source.TrackGroupArray trackGroups, int trackIndex, com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters parameters)` Creates a `DefaultTrackSelector.SelectionOverride` based on the `TrackGroup` and track index provided.

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

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

    - ### Methods inherited from interface com.brightcove.player.render.SelectionOverrideCreator

      `create`

- - ### Method Detail

    - #### create

          public static InclusiveHEVCVideoSelectionOverride create(@NonNull
                                                                   android.content.Context context)

      Creates an instance of InclusiveHEVCVideoSelectionOverride
      Parameters:
        `context` - the android context

    - #### create

          @NonNull
          public com.google.android.exoplayer2.trackselection.DefaultTrackSelector.SelectionOverride create(@NonNull
                                                                                                                     com.google.android.exoplayer2.source.TrackGroupArray trackGroups,
                                                                                                                     int trackIndex,
                                                                                                                     @Nullable
                                                                                                                     com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters parameters)

      Description copied from interface: `SelectionOverrideCreator`

      Creates a `DefaultTrackSelector.SelectionOverride` based on the `TrackGroup` and track index provided.

      The `TrackGroupArray` can be retrieved by calling `MappingTrackSelector.MappedTrackInfo.getTrackGroups(int)`.

      Specified by:
        `create` in interface `SelectionOverrideCreator`
      Parameters:
        `trackGroups` - the Track Group Array from the current Video
        `trackIndex` - the track index of the TrackGroupArray to be impacted.
        `parameters` - it contains the TrackSelector parameters that can further constraint the SelectionOverride
      Returns:
        the Selection Override to be set to the `DefaultTrackSelector`