Package com.castlabs.android

## Class SdkConsts

- java.lang.Object
- - com.castlabs.android.SdkConsts

-     public class SdkConsts
      extends Object

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static interface` | `SdkConsts.AdPosition` |
    `static interface` | `SdkConsts.AdType` |
    `static interface` | `SdkConsts.AnalyticsSessionType` |
    `static interface` | `SdkConsts.CodecBufferMode` |
    `static interface` | `SdkConsts.ContentType` |
    `static interface` | `SdkConsts.DataType` |
    `static interface` | `SdkConsts.DummySurfaceMode` |
    `static interface` | `SdkConsts.FastBitrateSwitching` |
    `static interface` | `SdkConsts.FilterReason` |
    `static interface` | `SdkConsts.MediaType` |
    `static interface` | `SdkConsts.SelectionReason` |
    `static interface` | `SdkConsts.VideoCodecFilter` |

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `AD_EMBEDDED` | Marker indicating that an ad is played using the current player or is embedded within the content i.e.
    `static int` | `AD_POSITION_MIDROLL` | Marker that indicates that an ad is played during content playback
    `static int` | `AD_POSITION_POSTROLL` | Marker that indicates that an ad is played after the content
    `static int` | `AD_POSITION_PREROLL` | Marker that indicates that an ad is played before the content
    `static AdSchedule` | `AD_SCHEDULE_MANUAL` | An instance of `AdSchedule` which represents manual scheduling.
    `static int` | `AD_SEPARATE` | Marker indicating that an ad is played using a separate player or is external to the current content i.e.
    `static int` | `ALLOW_HD_CLEAR_CONTENT` | Allow HD content for unencrypted clear content
    `static int` | `ALLOW_HD_DRM_ROOT_OF_TRUST` | Indicates that HD playback of DRM protected content is allowed only if both the DRM and the device support at least L2 "root of trust" security.
    `static int` | `ALLOW_HD_DRM_SECURE_MEDIA_PATH` | Indicates that HD playback of DRM protected content is allowed only if both the DRM and the device support a secure media path.
    `static int` | `ALLOW_HD_DRM_SOFTWARE` | Indicates that HD playback of DRM protected content is allowed on all DRM systems.
    `static int` | `ALLOW_HD_NEVER` | Never allow HD content playback and always filter HD representations
    `static int` | `ANALYTICS_SESSION_TYPE_OPEN` | Use this as a key to `INTENT_ANALYTICS_SESSION_TYPE` to instruct the player to create and start analytics session upon `PlayerController.open(Bundle)`.
    `static int` | `ANALYTICS_SESSION_TYPE_PLAY` | Use this as a key to `INTENT_ANALYTICS_SESSION_TYPE` when playback does not start automatically, i.e.
    `static int` | `AUDIO` | Identifies the audio content
    `static AudioAttributes` | `AUDIO_ATTRIBUTES_FOCUS_DISABLED` | Instance of `AudioAttributes` that represents disabled Audio Focus management.
    `static AudioAttributes` | `AUDIO_ATTRIBUTES_FOCUS_ENABLED` | Instance of `AudioAttributes` that enables Audio Focus management.
    `static int` | `CODEC_BUFFER_MODE_ASYNC` | Force asynchronous buffer mode, only valid for API higher or equal to 23
    `static int` | `CODEC_BUFFER_MODE_AUTO` | Asynchronous buffer mode for API higher or equal to 31, otherwise synchronous
    `static int` | `CODEC_BUFFER_MODE_SYNC` | Force synchronous buffer mode
    `static UUID` | `COMMON_PSSH_UUID` | UUID for the W3C Common PSSH box.
    `static int` | `CONTENT_TYPE_DASH` | DASH content
    `static int` | `CONTENT_TYPE_HLS` | HLS content
    `static int` | `CONTENT_TYPE_IPTV` | IPTV content
    `static int` | `CONTENT_TYPE_MP4` | MP4 content
    `static int` | `CONTENT_TYPE_SMOOTHSTREAMING` | SmoothStreaming content
    `static int` | `CONTENT_TYPE_UNKNOWN` | An unknown content type
    `static AdSchedule` | `DEFAULT_AD_SCHEDULE` | The default AdSchedule
    `static AudioAttributes` | `DEFAULT_AUDIO_ATTRIBUTES` | The default AudioAttributes
    `static BufferConfiguration` | `DEFAULT_BUFFER_CONFIGURATION` | The default buffer configuration
    `static LiveConfiguration` | `DEFAULT_LIVE_CONFIGURATION` | The default live configuration
    `static int` | `DEFAULT_LIVE_EDGE_LATENCY_MS` | For live streams, the default live edge latency in milliseconds.
    `static NetworkConfiguration` | `DEFAULT_PLAYER_NETWORK_CONFIGURATION` | The default network configuration used by the player for both manifests and segments
    `static TrickplayConfiguration` | `DEFAULT_PLAYER_TRICKPLAY_CONFIGURATION` | The default trickplay configuration
    `static boolean` | `DEFAULT_TRICKPLAY_ENABLED` | The default state for trickplay playback
    `static int` | `DISABLED_TRACK` | Indicate a disabled track
    `static int` | `DUMMY_SURFACE_AUTO` | Auto detect if the dummy surface can be used on the current device
    `static int` | `DUMMY_SURFACE_DISABLED` | Disable usage of the dummy surface
    `static int` | `DUMMY_SURFACE_ENABLED` | Enable usage of the dummy surface
    `static int` | `FAST_BITRATE_SWITCHING_AUTO` | Query the codec for its capabilities to be reconfigured dynamically when the video resolution changes.
    `static int` | `FAST_BITRATE_SWITCHING_DISABLED` | Enforce dynamic reconfigurations of the codec when the video resolution changes
    `static int` | `FAST_BITRATE_SWITCHING_ENABLED` | Enforce dynamic reconfigurations of the codec when the video resolution changes
    `static int` | `FILTER_REASON_BITRATE` | Represents the reason for filtering out the track during `PlayerModel` creation: bitrate is out of specified bounds.
    `static int` | `FILTER_REASON_BLACKLISTED` | Represents the reason for filtering out the track during `PlayerModel` creation: the track is marked as blacklisted e.g.
    `static int` | `FILTER_REASON_CUSTOM` | Represents the reason for filtering out the track during `PlayerModel` creation: custom logic was applied through a `TrackFilter`.
    `static int` | `FILTER_REASON_EXCEED_MAX_PIXELS` | Represents the reason for filtering out the track during `PlayerModel` creation: the track resolution exceed the max pixels set e.g.
    `static int` | `FILTER_REASON_FRAMERATE` | Represents the reason for filtering out the track during `PlayerModel` creation: framerate is out of specified bounds.
    `static int` | `FILTER_REASON_HD_NOT_PERMITTED` | Represents the reason for filtering out the track during `PlayerModel` creation: HD playback is currently disabled.
    `static int` | `FILTER_REASON_HEIGHT` | Represents the reason for filtering out the track during `PlayerModel` creation: height is out of specified bounds.
    `static int` | `FILTER_REASON_NO_CODEC` | Represents the reason for filtering out the track during `PlayerModel` creation: there is no codec support for the track
    `static int` | `FILTER_REASON_PIXELS` | Represents the reason for filtering out the track during `PlayerModel` creation: pixels i.e.
    `static int` | `FILTER_REASON_WIDTH` | Represents the reason for filtering out the track during `PlayerModel` creation: width is out of specified bounds.
    `static String` | `INTENT_ABR_CONFIGURATION` | Provide an instance of `AbrConfiguration` when opening playback.
    `static String` | `INTENT_AD_SCHEDULE` | Use this key to inform an instance of `AudioAttributes` in an intent.
    `static String` | `INTENT_ADVERTS_DATA` | Use this key to store `AdRequest` in an intent.
    `static String` | `INTENT_ALLOW_HLS_CHUNKLESS_PREPARATION` | Use this key to store an `boolean` to configure `PlayerConfig.allowHlsChunklessPreparation`
    `static String` | `INTENT_ANALYTICS_DATA` | Use this key to store an instance of `AnalyticsMetaData` in an intent.
    `static String` | `INTENT_ANALYTICS_SESSION_TYPE` | Use this key to create and start analytics session upon `PlayerController.play()` or `PlayerController.open(Bundle)`.
    `static String` | `INTENT_AUDIO_ATTRIBUTES` | Use this key to inform an instance of `AudioAttributes` in an intent.
    `static String` | `INTENT_AUDIO_DECODER_FALLBACK` | Use this key to store an `boolean` to configure `PlayerConfig.audioDecoderFallback`
    `static String` | `INTENT_AUDIO_TRACK_GROUP_IDX` | Use this as a bundle key and set an int value that indicates the audio track group that should be used.
    `static String` | `INTENT_AUDIO_TRACK_IDX` | Use this as a bundle key and set an int value that indicates the audio track that should be used.
    `static String` | `INTENT_AUDIO_VOLUME` | Use this as a bundle key and set an float value that indicates the audio track volume.
    `static String` | `INTENT_BUFFER_CONFIGURATION` | Use this key to store a `BufferConfiguration` that will be used by the player
    `static String` | `INTENT_CAS_CONFIGURATION` | Use this as a bundle key and set a `CasConfiguration` as a value.
    `static String` | `INTENT_CLIP_PERIODS` | Use this key to store a `boolean` and enable clipping periods to their duration (DASH-only)
    `static String` | `INTENT_CLIPPING_END` | Use this key to specify a media time to end playback prematurely.
    `static String` | `INTENT_CLIPPING_START` | Use this key to specify a media time from which playback should start.
    `static String` | `INTENT_CONTENT_PARAMETERS` | Use this key to specify a `Bundle` containing key-value String pairs to add as header parameters for manifest requests.
    `static String` | `INTENT_CONTENT_QUERY_PARAMETERS` | Use this key to specify a `Bundle` containing key-value String pairs to add as query parameters for manifest requests.
    `static String` | `INTENT_CONTENT_TYPE` | Use this as a bundle key and set an int value which has to be one of `CONTENT_TYPE_DASH`, `CONTENT_TYPE_HLS`, `CONTENT_TYPE_SMOOTHSTREAMING`, `CONTENT_TYPE_MP4`, or `CONTENT_TYPE_UNKNOWN` to indicate the stream format
    `static String` | `INTENT_DOWNLOAD_FOLDER` | Use this as a bundle key to indicate the download folder
    `static String` | `INTENT_DOWNLOAD_ID` | Use this as a bundle key to indicate the download ID
    `static String` | `INTENT_DRM_CONFIGURATION` | Use this as a bundle key and set a `DrmConfiguration` as a value.
    `static String` | `INTENT_ENABLE_AD_SPEED_UP` | Use this key to enable or disable automatic setting of a speed to 1x when playing ads.
    `static String` | `INTENT_ENABLE_DASH_EVENT_CALLBACK` | Use this key to specify whether the internal handling of DASH event callbacks should be enabled or not
    `static String` | `INTENT_ENABLE_LOOPING` | Use this key to store an `boolean` and enable playback looping
    `static String` | `INTENT_ENABLE_WORKAROUND_EVERY_VIDEO_FRAME_IS_SYNC_FRAME` | Use this key to store an `boolean` and enable or disable the workaround whether all video frames are marked as sync frames but should not be treated as sync frames except the very first in a segment (DASH-only)
    `static String` | `INTENT_FORCE_IN_STREAM_DRM_INIT_DATA` | Use this key to store a `boolean` and prefer DRM init data in segments over the manifest's data (DASH-only).
    `static String` | `INTENT_HD_CONTENT_FILTER` | Use this key to store an `int` that will be used to configure the HD content filter.
    `static String` | `INTENT_HEADER_PARAMS_BUNDLE` | Deprecated. Use `INTENT_CONTENT_PARAMETERS` or `INTENT_SEGMENT_PARAMETERS`, or use the new `PlayerConfig` class.
    `static String` | `INTENT_LIVE_CONFIGURATION` | Use this key to specify the Live Configuration.
    `static String` | `INTENT_MERGE_VIDEO_TRACKS` | Use this key to store an `boolean` and enable merging of video tracks (e.g.
    `static String` | `INTENT_NETWORK_CONFIGURATION` | Use this key to specify the `NetworkConfiguration` used by the player
    `static String` | `INTENT_PAUSE_ON_HDMI_DISCONNECTED` | Use this key to enable or disable automatic playback pausing when HDMI is disconnected.
    `static String` | `INTENT_POSITION_TO_PLAY` | Use this as a bundle key with a long value to specify the playback start position in microseconds.
    `static String` | `INTENT_PREFERRED_AUDIO_LANGUAGE` | Use this key to specify a preferred audio language using a two letter language code.
    `static String` | `INTENT_PREFERRED_TEXT_LANGUAGE` | Use this key to specify a preferred text language using a two letter language code.
    `static String` | `INTENT_PRESERVE_PLAYER_VIEW_SURFACE` | Use this key to store an `boolean` to set to true and the `PlayerView` is used, the playback surface be kept on screen and preserved when the player player is released.
    `static String` | `INTENT_PUSH_BLACK_SCREEN_ON_DISPOSE` | Use this key to store an `boolean` that indicates if the decoder should push a black screen to the surface when disposed.
    `static String` | `INTENT_QUERY_PARAMS_BUNDLE` | Deprecated. Use `INTENT_SEGMENT_QUERY_PARAMETERS` or `INTENT_CONTENT_QUERY_PARAMETERS`, or use the new `PlayerConfig` class.
    `static String` | `INTENT_RESTORE_SPEED` | Use this key to enable or disable automatic restoring of a speed after playing ads.
    `static String` | `INTENT_SECONDARY_DISPLAY` | Use this key to store an `int` that will be used as the secondary display configuration for a player controller
    `static String` | `INTENT_SEGMENT_PARAMETERS` | Use this key to specify a `Bundle` containing key-value String pairs to add as header parameters for segment requests.
    `static String` | `INTENT_SEGMENT_QUERY_PARAMETERS` | Use this key to specify a `Bundle` containing key-value String pairs to add as query parameters for segment requests.
    `static String` | `INTENT_SIDELOADED_TRACKS_ARRAYLIST` | Use this key to store an `ArrayList` of `SideloadedTrack`
    `static String` | `INTENT_START_PLAYING` | Use this as a bundle key and set a boolean value to indicate that playback should start automatically
    `static String` | `INTENT_SUBTITLE_BUNDLE_ARRAYLIST` | Deprecated. Use `INTENT_SIDELOADED_TRACKS_ARRAYLIST`, or use the new `PlayerConfig` class.
    `static String` | `INTENT_SUBTITLE_LANGUAGE` | Deprecated. Use `INTENT_SIDELOADED_TRACKS_ARRAYLIST`, or use the new `PlayerConfig` class.
    `static String` | `INTENT_SUBTITLE_MIME_TYPE` | Deprecated. Use `INTENT_SIDELOADED_TRACKS_ARRAYLIST`, or use the new `PlayerConfig` class.
    `static String` | `INTENT_SUBTITLE_NAME` | Deprecated. Use `INTENT_SIDELOADED_TRACKS_ARRAYLIST`, or use the new `PlayerConfig` class.
    `static String` | `INTENT_SUBTITLE_TRACK_GROUP_IDX` | Use this as a bundle key and set an int value that indicates the subtitle track group that should be used.
    `static String` | `INTENT_SUBTITLE_TRACK_IDX` | Use this as a bundle key and set an int value that indicates the subtitle track that should be used.
    `static String` | `INTENT_SUBTITLE_URL` | Deprecated. Use `INTENT_SIDELOADED_TRACKS_ARRAYLIST`, or use the new `PlayerConfig` class.
    `static String` | `INTENT_THUMBNAILS_DATA` | Deprecated. in favour of `INTENT_SIDELOADED_TRACKS_ARRAYLIST` and `SideloadedTrack.ThumbnailBuilder`.
    `static String` | `INTENT_TITLE` | (optional) Use this as a bundle key to indicate a title for the currently played content
    `static String` | `INTENT_TRICKPLAY_CONFIGURATION` | Use this key to specify the initial `TrickplayConfiguration` used by the player
    `static String` | `INTENT_TRICKPLAY_ENABLED` | Use this key to specify whether the `Trickplay` mode should be enabled or not.
    `static String` | `INTENT_TUNNELING_ENABLED` | Use this key to store a `Boolean` and enable tunneling.
    `static String` | `INTENT_TUNNELING_WITHOUT_AUDIO_ENABLED` | Use this key to store a `Boolean` and force tunneling usage with audio track being disabled
    `static String` | `INTENT_UNSECURE_DECODER_FALLBACK` | Use this key to store an `boolean` to configure `PlayerConfig.unsecureDecoderFallback`
    `static String` | `INTENT_URL` | Use this as a bundle key to indicate the playback URL
    `static String` | `INTENT_USE_ETH0` | Use this key to store an `boolean` and use ETH0 for network multicast
    `static String` | `INTENT_USE_STANDALONE_MEDIA_CLOCK` | If set to true, will use Exoplayer's `StandaloneMediaClock` instead of the Renderer Clock.
    `static String` | `INTENT_USER_ID` | Use this key to specify the User ID.
    `static String` | `INTENT_VIDEO_CODEC_FILTER` | Use this key to store an `int` that will be used to configure the video codec filtering.
    `static String` | `INTENT_VIDEO_DECODER_FALLBACK` | Use this key to store an `boolean` to configure `PlayerConfig.videoDecoderFallback`
    `static String` | `INTENT_VIDEO_FILTER` | Use this key to store a `VideoFilterConfiguration` that will be used to configure the video tracks filtering.
    `static String` | `INTENT_VIDEO_SIZE_FILTER` | Deprecated. Use `INTENT_VIDEO_FILTER`
    `static String` | `INTENT_VIDEO_TRACK_GROUP_IDX` | Use this as a bundle key and set an int value that indicates the video track group that should be used.
    `static String` | `INTENT_VIISIGHTS_DATA` | Use this key to store ViisightData in an intent.
    `static int` | `LENGTH_UNBOUNDED` | Represents an unbounded length of data.
    `static int` | `LIVE_EDGE_LATENCY_MS_UNINFORMED` | Indicates that live edge latency has not been informed
    `static long` | `MATCH_LONGEST_US` | Represents a microsecond duration whose exact value is unknown, but which should match the longest of some other known durations.
    `static String` | `MIME_TYPE_CEA608` | Mime type for CEA608
    `static String` | `MIME_TYPE_DVBSUBS` | Mime type for DVB subtitles
    `static String` | `MIME_TYPE_DVBTTX` | Mime type for DVB Teletext
    `static String` | `MIME_TYPE_MP4_VTT` | Mime type for MP4 embedded VTT
    `static String` | `MIME_TYPE_SRT` | Mime type for SRT
    `static String` | `MIME_TYPE_TTML` | Mime type for TTML
    `static String` | `MIME_TYPE_VTT` | Mime type for VTT
    `static int` | `OTHER` | Identifies the other content, i.e.
    `static String` | `PLAYER_NAME` | Player name
    `static String` | `PLAYER_TYPE` | Represents the player type.
    `static UUID` | `PLAYREADY_UUID` | UUID for the PlayReady DRM scheme.
    `static int` | `PREFFERED_TRACK` | Indicates the SDK should try to select the preferred track, i.e.
    `static String` | `SCHEME_ID_UTC_TIMING_ELEMENT_NTP` | UTC Timing element representing an NTP request
    `static int` | `SECONDARY_DISPLAY_ALLOW_ALWAYS` | Always allow display on a secondary (i.e.
    `static int` | `SECONDARY_DISPLAY_ALLOW_SECURE_DISPLAY` | Allow display on a secondary (i.e.
    `static int` | `SECONDARY_DISPLAY_ALLOW_UNPROTECTED_CONTENT` | Allow display on a secondary (i.e.
    `static int` | `SECONDARY_DISPLAY_NEVER` | Never allow display on a secondary (i.e.
    `static int` | `SELECTION_REASON_ABORT` | Selection reason that indicates download abort
    `static int` | `TEXT` | Identifies the subtitle or text content
    `static int` | `THUMBNAIL` |
    `static String` | `UNKNOWN_CUSTOMER_ID` | The customer ID that is used when no customer id could be found or the SDK was not yet initialized
    `static int` | `UNKNOWN_TIME_MS` | Represents an unknown millisecond time or duration.
    `static long` | `UNKNOWN_TIME_US` | Represents an unknown microsecond time or duration.
    `static int` | `VIDEO` | Identifies the video content
    `static int` | `VIDEO_CODEC_FILTER_CAPS` | Use this as a key to `INTENT_VIDEO_CODEC_FILTER` to instruct the player to use video codec capabilities when filtering out unsupported video qualities.
    `static int` | `VIDEO_CODEC_FILTER_NONE` | Use this as a key to `INTENT_VIDEO_CODEC_FILTER` to instruct the player not to use video codec capabilities when filtering out unsupported video qualities.
    `static VideoFilterConfiguration` | `VIDEO_FILTER_AUTO` | Use this as a value for `INTENT_VIDEO_FILTER` to instruct the player to use device screen resolution for pixel count filtering i.e.
    `static VideoFilterConfiguration` | `VIDEO_FILTER_NONE` | Use this as a value to `INTENT_VIDEO_FILTER` to instruct the player not to use any of the pixel count filtering i.e.
    `static int` | `VIDEO_QUALITY_ADAPTIVE` | Indicates ABR based video quality selection.
    `static int` | `VIDEO_QUALITY_HIGHEST` | Pass this to `AbrConfiguration.Builder.initialTrackSelection(int, boolean)` to select the video quality with the highest available resolution
    `static int` | `VIDEO_QUALITY_LOWEST` | Pass this to `AbrConfiguration.Builder.initialTrackSelection(int, boolean)` to select the video quality with the lowest available resolution
    `static int` | `VIDEO_QUALITY_MANUAL` | Indicates manual video quality selection.
    `static Point` | `VIDEO_SIZE_FILTER_AUTO` | Deprecated. Use `VIDEO_FILTER_AUTO` instead
    `static Point` | `VIDEO_SIZE_FILTER_NONE` | Deprecated. Use `VIDEO_FILTER_NONE`
    `static UUID` | `WIDEVINE_UUID` | UUID for the Widevine DRM scheme.
    `static UUID` | `WISEPLAY_UUID` | UUID for the WisePlay DRM scheme.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SdkConsts()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static void` | `assertValidContentType​(int contentType)` | Assert that the given content type is valid or throws an IllegalArgumentException.
    `static String` | `contentTypeToMimeType​(int contentType)` | Utility method that translates a content type to a MimeType string
    `static String` | `filterReasonToString​(int reason)` |
    `static String` | `mediaTypeToString​(int mediaType)` | Utility method that translates a media type to a string
    `static String` | `selectionReasonToString​(int reason)` | Utility method that translates a chunk load selection reason to a string.

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

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

- - ### Field Detail

    - #### CONTENT_TYPE_UNKNOWN

          public static final int CONTENT_TYPE_UNKNOWN

      An unknown content type
      See Also:
        Constant Field Values

    - #### CONTENT_TYPE_DASH

          public static final int CONTENT_TYPE_DASH

      DASH content
      See Also:
        Constant Field Values

    - #### CONTENT_TYPE_HLS

          public static final int CONTENT_TYPE_HLS

      HLS content
      See Also:
        Constant Field Values

    - #### CONTENT_TYPE_SMOOTHSTREAMING

          public static final int CONTENT_TYPE_SMOOTHSTREAMING

      SmoothStreaming content
      See Also:
        Constant Field Values

    - #### CONTENT_TYPE_MP4

          public static final int CONTENT_TYPE_MP4

      MP4 content
      See Also:
        Constant Field Values

    - #### CONTENT_TYPE_IPTV

          public static final int CONTENT_TYPE_IPTV

      IPTV content
      See Also:
        Constant Field Values

    - #### INTENT_URL

          public static final String INTENT_URL

      Use this as a bundle key to indicate the playback URL
      See Also:
        Constant Field Values

    - #### INTENT_TITLE

          public static final String INTENT_TITLE

      (optional) Use this as a bundle key to indicate a title for the currently played content
      See Also:
        Constant Field Values

    - #### INTENT_POSITION_TO_PLAY

          public static final String INTENT_POSITION_TO_PLAY

      Use this as a bundle key with a long value to specify the playback start position in microseconds. This is applied both for on-demand and live streams. For live streams, a 0 in this field indicates the player to start at the default position. If there's an `InitialPositionProvider`, it will take precedence over this setting. If you want to start playback of a live stream at the Window start, set a small value here. Take into account that, with a very small value, if you are loading a sliding-window live stream, it will be very likely to fall behind the live window, should a buffer underrun occur.
      See Also:
        Constant Field Values

    - #### INTENT_START_PLAYING

          public static final String INTENT_START_PLAYING

      Use this as a bundle key and set a boolean value to indicate that playback should start automatically
      See Also:
        Constant Field Values

    - #### INTENT_DRM_CONFIGURATION

          public static final String INTENT_DRM_CONFIGURATION

      Use this as a bundle key and set a `DrmConfiguration` as a value.
      See Also:
        `DrmConfiguration`, `DrmTodayConfiguration`, Constant Field Values

    - #### INTENT_CAS_CONFIGURATION

          public static final String INTENT_CAS_CONFIGURATION

      Use this as a bundle key and set a `CasConfiguration` as a value.
      See Also:
        `CasConfiguration`, Constant Field Values

    - #### INTENT_AUDIO_TRACK_GROUP_IDX

          public static final String INTENT_AUDIO_TRACK_GROUP_IDX

      Use this as a bundle key and set an int value that indicates the audio track group that should be used. Default is `PREFFERED_TRACK`. A value of `DISABLED_TRACK` will disable Audio.
      See Also:
        Constant Field Values

    - #### INTENT_AUDIO_TRACK_IDX

          public static final String INTENT_AUDIO_TRACK_IDX

      Use this as a bundle key and set an int value that indicates the audio track that should be used.
      See Also:
        Constant Field Values

    - #### INTENT_VIDEO_TRACK_GROUP_IDX

          public static final String INTENT_VIDEO_TRACK_GROUP_IDX

      Use this as a bundle key and set an int value that indicates the video track group that should be used. Default is `PREFFERED_TRACK`. A value of `DISABLED_TRACK` will disable Video.
      See Also:
        Constant Field Values

    - #### INTENT_MERGE_VIDEO_TRACKS

          public static final String INTENT_MERGE_VIDEO_TRACKS

      Use this key to store an `boolean` and enable merging of video tracks (e.g. DASH adaptation sets) into a single video track. The ABR algorithm will then be able to select the quality from any of the merged video tracks and the `PlayerController.getVideoTracks()` will return one (or multiple) video tracks with merged qualities. The default is `PlayerSDK.MERGE_VIDEO_TRACKS`
      See Also:
        Constant Field Values

    - #### INTENT_ENABLE_WORKAROUND_EVERY_VIDEO_FRAME_IS_SYNC_FRAME

          public static final String INTENT_ENABLE_WORKAROUND_EVERY_VIDEO_FRAME_IS_SYNC_FRAME

      Use this key to store an `boolean` and enable or disable the workaround whether all video frames are marked as sync frames but should not be treated as sync frames except the very first in a segment (DASH-only) The default is `PlayerSDK.ENABLE_WORKAROUND_EVERY_VIDEO_FRAME_IS_SYNC_FRAME`

      Note: enable it only when needed, since it degrades the seek performance
      See Also:
        Constant Field Values

    - #### INTENT_CLIP_PERIODS

          public static final String INTENT_CLIP_PERIODS

      Use this key to store a `boolean` and enable clipping periods to their duration (DASH-only) The default is `PlayerSDK.CLIP_PERIODS`
      See Also:
        Constant Field Values

    - #### INTENT_FORCE_IN_STREAM_DRM_INIT_DATA

          public static final String INTENT_FORCE_IN_STREAM_DRM_INIT_DATA

      Use this key to store a `boolean` and prefer DRM init data in segments over the manifest's data (DASH-only). The default is `PlayerSDK.FORCE_IN_STREAM_DRM_INIT_DATA`
      See Also:
        Constant Field Values

    - #### INTENT_PRESERVE_PLAYER_VIEW_SURFACE

          public static final String INTENT_PRESERVE_PLAYER_VIEW_SURFACE

      Use this key to store an `boolean` to set to true and the `PlayerView` is used, the playback surface be kept on screen and preserved when the player player is released. This allows to reuse (instead of re-create) the playback surface and can also be used to keep the last frame on screen even if the underlying player was already released.
      See Also:
        Constant Field Values

    - #### INTENT_PUSH_BLACK_SCREEN_ON_DISPOSE

          public static final String INTENT_PUSH_BLACK_SCREEN_ON_DISPOSE

      Use this key to store an `boolean` that indicates if the decoder should push a black screen to the surface when disposed. This is only relevant if you use `INTENT_PRESERVE_PLAYER_VIEW_SURFACE`.
      See Also:
        Constant Field Values

    - #### INTENT_USE_STANDALONE_MEDIA_CLOCK

          public static final String INTENT_USE_STANDALONE_MEDIA_CLOCK

      If set to true, will use Exoplayer's `StandaloneMediaClock` instead of the Renderer Clock. There's a known issue when using `SingleControllerPlaylist` in conjunction with Audio Tracks which don't span the entire media duration. With the default Renderer Clock this provokes a freeze when the Audio Track ends.
      See Also:
        Constant Field Values

    - #### INTENT_SUBTITLE_TRACK_GROUP_IDX

          public static final String INTENT_SUBTITLE_TRACK_GROUP_IDX

      Use this as a bundle key and set an int value that indicates the subtitle track group that should be used. A value of `DISABLED_TRACK` will disable subtitles (default) and a value of `PREFFERED_TRACK` will try to enable the default subtitle track group based on the language passed with `INTENT_PREFERRED_TEXT_LANGUAGE`.
      See Also:
        Constant Field Values

    - #### INTENT_SUBTITLE_TRACK_IDX

          public static final String INTENT_SUBTITLE_TRACK_IDX

      Use this as a bundle key and set an int value that indicates the subtitle track that should be used. A value of `DISABLED_TRACK` will disable subtitles (default) and a value of `PREFFERED_TRACK` will try to enable the default subtitle track based on the language passed with `INTENT_PREFERRED_TEXT_LANGUAGE`.
      See Also:
        Constant Field Values

    - #### INTENT_AUDIO_VOLUME

          public static final String INTENT_AUDIO_VOLUME

      Use this as a bundle key and set an float value that indicates the audio track volume. The value must be 0 <= value <= 1
      See Also:
        Constant Field Values

    - #### INTENT_CONTENT_TYPE

          public static final String INTENT_CONTENT_TYPE

      Use this as a bundle key and set an int value which has to be one of `CONTENT_TYPE_DASH`, `CONTENT_TYPE_HLS`, `CONTENT_TYPE_SMOOTHSTREAMING`, `CONTENT_TYPE_MP4`, or `CONTENT_TYPE_UNKNOWN` to indicate the stream format
      See Also:
        Constant Field Values

    - #### INTENT_ABR_CONFIGURATION

          public static final String INTENT_ABR_CONFIGURATION

      Provide an instance of `AbrConfiguration` when opening playback.
      Since:
        4.1.0
      See Also:
        Constant Field Values

    - #### INTENT_QUERY_PARAMS_BUNDLE

          @Deprecated
          public static final String INTENT_QUERY_PARAMS_BUNDLE

      Deprecated.
      Use `INTENT_SEGMENT_QUERY_PARAMETERS` or `INTENT_CONTENT_QUERY_PARAMETERS`, or use the new `PlayerConfig` class.
      Use this a a bundle key to point to another `Bundle` whose key/value pairs will be added as query parameters to the `DataSourceFactory` before any connections are created.
      See Also:
        `DataSourceFactory`, `DataSourceFactory.addQueryParameter(String, String)`, Constant Field Values

    - #### INTENT_HEADER_PARAMS_BUNDLE

          @Deprecated
          public static final String INTENT_HEADER_PARAMS_BUNDLE

      Deprecated.
      Use `INTENT_CONTENT_PARAMETERS` or `INTENT_SEGMENT_PARAMETERS`, or use the new `PlayerConfig` class.
      Use this a a bundle key to point to another `Bundle` whose key/value pairs will be added as header parameters to the `DataSourceFactory` before any connections are created.
      See Also:
        `DataSourceFactory`, `DataSourceFactory.addHeaderParameter(String, String)`, Constant Field Values

    - #### INTENT_SUBTITLE_URL

          @Deprecated
          public static final String INTENT_SUBTITLE_URL

      Deprecated.
      Use `INTENT_SIDELOADED_TRACKS_ARRAYLIST`, or use the new `PlayerConfig` class.
      Use this key to store a String to a subtitle url when you are creating a Bundle for side loaded subtitles.
      See Also:
        Constant Field Values

    - #### INTENT_SUBTITLE_MIME_TYPE

          @Deprecated
          public static final String INTENT_SUBTITLE_MIME_TYPE

      Deprecated.
      Use `INTENT_SIDELOADED_TRACKS_ARRAYLIST`, or use the new `PlayerConfig` class.
      Use this key to store a String to a subtitle mime type when you are creating a Bundle for side loaded subtitles. The mime type should be one of `MIME_TYPE_TTML`, `MIME_TYPE_VTT`, `MIME_TYPE_SRT` or `MIME_TYPE_CEA608`.
      See Also:
        Constant Field Values

    - #### INTENT_SUBTITLE_LANGUAGE

          @Deprecated
          public static final String INTENT_SUBTITLE_LANGUAGE

      Deprecated.
      Use `INTENT_SIDELOADED_TRACKS_ARRAYLIST`, or use the new `PlayerConfig` class.
      Use this key to store a String to a subtitle language encoded as a two letter language code.
      See Also:
        Constant Field Values

    - #### INTENT_SUBTITLE_NAME

          @Deprecated
          public static final String INTENT_SUBTITLE_NAME

      Deprecated.
      Use `INTENT_SIDELOADED_TRACKS_ARRAYLIST`, or use the new `PlayerConfig` class.
      Use this key to store a String to a subtitle track name.
      See Also:
        Constant Field Values

    - #### INTENT_SUBTITLE_BUNDLE_ARRAYLIST

          @Deprecated
          public static final String INTENT_SUBTITLE_BUNDLE_ARRAYLIST

      Deprecated.
      Use `INTENT_SIDELOADED_TRACKS_ARRAYLIST`, or use the new `PlayerConfig` class.
      Use this bundle key to store an `ArrayList` of `Bundle` instances that specify side loaded subtitle tracks. Use:

           intent.putParcelableArrayListExtra(SdkConsts.INTENT_SUBTITLE_BUNDLE_ARRAYLIST, ...);

      to add the list of bundles with the subtitle track information. A full example of this looks like:

           ArrayList<Bunde> subtitles = new ArrayList<>();
           Bundle bundle = new Bundle();
           bundle.putString(SdkConsts.INTENT_SUBTITLE_URL, "https://my.com/subtitle.ttml");
           bundle.putString(SdkConsts.INTENT_SUBTITLE_MIME_TYPE, SdkConsts.MIME_TYPE_TTML);
           bundle.putString(SdkConsts.INTENT_SUBTITLE_LANGUAGE, "en");
           bundle.putString(SdkConsts.INTENT_SUBTITLE_NAME, "Side-loaded");
           subtitles.add(bundle);
           intent.putExtra(SdkConsts.INTENT_SUBTITLE_BUNDLE_ARRAYLIST, subtitles);

      See Also:
        Constant Field Values

    - #### INTENT_SECONDARY_DISPLAY

          public static final String INTENT_SECONDARY_DISPLAY

      Use this key to store an `int` that will be used as the secondary display configuration for a player controller
      See Also:
        Constant Field Values

    - #### INTENT_HD_CONTENT_FILTER

          public static final String INTENT_HD_CONTENT_FILTER

      Use this key to store an `int` that will be used to configure the HD content filter. This value is a bit field constructed from the values of `ALLOW_HD_CLEAR_CONTENT`, `ALLOW_HD_DRM_SECURE_MEDIA_PATH`, `ALLOW_HD_DRM_ROOT_OF_TRUST`, `ALLOW_HD_NEVER`, and `ALLOW_HD_DRM_SOFTWARE`.
      See Also:
        Constant Field Values

    - #### INTENT_VIDEO_CODEC_FILTER

          public static final String INTENT_VIDEO_CODEC_FILTER

      Use this key to store an `int` that will be used to configure the video codec filtering. This value should be one of `VIDEO_CODEC_FILTER_NONE` or `VIDEO_CODEC_FILTER_CAPS` The default one is `PlayerSDK.VIDEO_CODEC_FILTER`
      See Also:
        Constant Field Values

    - #### INTENT_VIDEO_SIZE_FILTER

          public static final String INTENT_VIDEO_SIZE_FILTER

      Deprecated.
      Use `INTENT_VIDEO_FILTER`
      Use this key to store an `Point` that will be used to configure the video size filtering, all the video tracks with pixel count (w x h) higher than the provided value will be filtered out. Additionally the following special values are allowed: `VIDEO_SIZE_FILTER_NONE` or `VIDEO_SIZE_FILTER_AUTO`. The default one is `PlayerSDK.VIDEO_SIZE_FILTER` Note When setting the value to other than `VIDEO_SIZE_FILTER_AUTO` it is strongly recommended to set the `INTENT_VIDEO_CODEC_FILTER` to `VIDEO_CODEC_FILTER_CAPS` otherwise the video streams with high resolutions will be forced to play on devices that may not have support for it.
      See Also:
        Constant Field Values

    - #### INTENT_VIDEO_FILTER

          public static final String INTENT_VIDEO_FILTER

      Use this key to store a `VideoFilterConfiguration` that will be used to configure the video tracks filtering. All properties of such configuration will be taken into account, so only Video qualities which conform to all filters will remain in the model. Additionally the following special values are allowed: `VIDEO_SIZE_FILTER_NONE` or `VIDEO_SIZE_FILTER_AUTO`. The default one is `PlayerSDK.VIDEO_FILTER` Note When setting the value to other than `VIDEO_SIZE_FILTER_AUTO` it is strongly recommended to set the `INTENT_VIDEO_CODEC_FILTER` to `VIDEO_CODEC_FILTER_CAPS` otherwise the video streams with high resolutions will be forced to play on devices that may not have support for it.
      See Also:
        Constant Field Values

    - #### INTENT_ENABLE_LOOPING

          public static final String INTENT_ENABLE_LOOPING

      Use this key to store an `boolean` and enable playback looping
      See Also:
        Constant Field Values

    - #### INTENT_DOWNLOAD_ID

          public static final String INTENT_DOWNLOAD_ID

      Use this as a bundle key to indicate the download ID
      See Also:
        Constant Field Values

    - #### INTENT_DOWNLOAD_FOLDER

          public static final String INTENT_DOWNLOAD_FOLDER

      Use this as a bundle key to indicate the download folder
      See Also:
        Constant Field Values

    - #### INTENT_ANALYTICS_DATA

          public static final String INTENT_ANALYTICS_DATA

      Use this key to store an instance of `AnalyticsMetaData` in an intent.
      See Also:
        Constant Field Values

    - #### INTENT_AUDIO_ATTRIBUTES

          public static final String INTENT_AUDIO_ATTRIBUTES

      Use this key to inform an instance of `AudioAttributes` in an intent.
      See Also:
        Constant Field Values

    - #### INTENT_AD_SCHEDULE

          public static final String INTENT_AD_SCHEDULE

      Use this key to inform an instance of `AudioAttributes` in an intent.
      See Also:
        Constant Field Values

    - #### INTENT_ANALYTICS_SESSION_TYPE

          public static final String INTENT_ANALYTICS_SESSION_TYPE

      Use this key to create and start analytics session upon `PlayerController.play()` or `PlayerController.open(Bundle)`. The corresponding value should be one of `ANALYTICS_SESSION_TYPE_OPEN`, `ANALYTICS_SESSION_TYPE_PLAY`. Default is `ANALYTICS_SESSION_TYPE_OPEN`.
      See Also:
        Constant Field Values

    - #### INTENT_VIISIGHTS_DATA

          public static final String INTENT_VIISIGHTS_DATA

      Use this key to store ViisightData in an intent.
      See Also:
        Constant Field Values

    - #### INTENT_ADVERTS_DATA

          public static final String INTENT_ADVERTS_DATA

      Use this key to store `AdRequest` in an intent.
      See Also:
        Constant Field Values

    - #### INTENT_PREFERRED_AUDIO_LANGUAGE

          public static final String INTENT_PREFERRED_AUDIO_LANGUAGE

      Use this key to specify a preferred audio language using a two letter language code. The preferred language is used for track selection when an no explicit audio track index is selected.
      Since:
        4.0.1
      See Also:
        Constant Field Values

    - #### INTENT_PREFERRED_TEXT_LANGUAGE

          public static final String INTENT_PREFERRED_TEXT_LANGUAGE

      Use this key to specify a preferred text language using a two letter language code. The preferred language is used for track selection when an no explicit text track index is selected and subtitles should be enabled with the selected language.
      Since:
        4.0.1
      See Also:
        Constant Field Values

    - #### INTENT_BUFFER_CONFIGURATION

          public static final String INTENT_BUFFER_CONFIGURATION

      Use this key to store a `BufferConfiguration` that will be used by the player
      See Also:
        Constant Field Values

    - #### INTENT_TUNNELING_ENABLED

          public static final String INTENT_TUNNELING_ENABLED

      Use this key to store a `Boolean` and enable tunneling.
      See Also:
        Constant Field Values

    - #### INTENT_TUNNELING_WITHOUT_AUDIO_ENABLED

          public static final String INTENT_TUNNELING_WITHOUT_AUDIO_ENABLED

      Use this key to store a `Boolean` and force tunneling usage with audio track being disabled
      See Also:
        Constant Field Values

    - #### INTENT_USER_ID

          public static final String INTENT_USER_ID

      Use this key to specify the User ID.
      See Also:
        Constant Field Values

    - #### INTENT_LIVE_CONFIGURATION

          public static final String INTENT_LIVE_CONFIGURATION

      Use this key to specify the Live Configuration.
      See Also:
        Constant Field Values

    - #### INTENT_NETWORK_CONFIGURATION

          public static final String INTENT_NETWORK_CONFIGURATION

      Use this key to specify the `NetworkConfiguration` used by the player
      See Also:
        Constant Field Values

    - #### INTENT_TRICKPLAY_CONFIGURATION

          public static final String INTENT_TRICKPLAY_CONFIGURATION

      Use this key to specify the initial `TrickplayConfiguration` used by the player
      See Also:
        Constant Field Values

    - #### INTENT_TRICKPLAY_ENABLED

          public static final String INTENT_TRICKPLAY_ENABLED

      Use this key to specify whether the `Trickplay` mode should be enabled or not.
      See Also:
        Constant Field Values

    - #### INTENT_ENABLE_DASH_EVENT_CALLBACK

          public static final String INTENT_ENABLE_DASH_EVENT_CALLBACK

      Use this key to specify whether the internal handling of DASH event callbacks should be enabled or not
      See Also:
        Constant Field Values

    - #### INTENT_SIDELOADED_TRACKS_ARRAYLIST

          public static final String INTENT_SIDELOADED_TRACKS_ARRAYLIST

      Use this key to store an `ArrayList` of `SideloadedTrack`

      These tracks can be either subtitles or thumbnails.

      See Also:
        Constant Field Values

    - #### INTENT_CONTENT_PARAMETERS

          public static final String INTENT_CONTENT_PARAMETERS

      Use this key to specify a `Bundle` containing key-value String pairs to add as header parameters for manifest requests.
      See Also:
        Constant Field Values

    - #### INTENT_CONTENT_QUERY_PARAMETERS

          public static final String INTENT_CONTENT_QUERY_PARAMETERS

      Use this key to specify a `Bundle` containing key-value String pairs to add as query parameters for manifest requests.
      See Also:
        Constant Field Values

    - #### INTENT_SEGMENT_PARAMETERS

          public static final String INTENT_SEGMENT_PARAMETERS

      Use this key to specify a `Bundle` containing key-value String pairs to add as header parameters for segment requests.
      See Also:
        Constant Field Values

    - #### INTENT_SEGMENT_QUERY_PARAMETERS

          public static final String INTENT_SEGMENT_QUERY_PARAMETERS

      Use this key to specify a `Bundle` containing key-value String pairs to add as query parameters for segment requests.
      See Also:
        Constant Field Values

    - #### INTENT_CLIPPING_START

          public static final String INTENT_CLIPPING_START

      Use this key to specify a media time from which playback should start. If not informed media will play from the beginning. In microseconds.
      See Also:
        Constant Field Values

    - #### INTENT_THUMBNAILS_DATA

          public static final String INTENT_THUMBNAILS_DATA

      Deprecated.
      in favour of `INTENT_SIDELOADED_TRACKS_ARRAYLIST` and `SideloadedTrack.ThumbnailBuilder`.
      Use this key to store `ThumbnailDataTrack` in an intent.
      See Also:
        Constant Field Values

    - #### INTENT_CLIPPING_END

          public static final String INTENT_CLIPPING_END

      Use this key to specify a media time to end playback prematurely. If not informed media will play until the end. In microseconds.
      See Also:
        Constant Field Values

    - #### INTENT_PAUSE_ON_HDMI_DISCONNECTED

          public static final String INTENT_PAUSE_ON_HDMI_DISCONNECTED

      Use this key to enable or disable automatic playback pausing when HDMI is disconnected. Default and global value is `PlayerSDK.PAUSE_ON_HDMI_DISCONNECTED` Only for API higher or equal to 21
      See Also:
        Constant Field Values

    - #### INTENT_ENABLE_AD_SPEED_UP

          public static final String INTENT_ENABLE_AD_SPEED_UP

      Use this key to enable or disable automatic setting of a speed to 1x when playing ads. Default and global value is `PlayerSDK.ENABLE_AD_SPEED_UP`
      See Also:
        Constant Field Values

    - #### INTENT_RESTORE_SPEED

          public static final String INTENT_RESTORE_SPEED

      Use this key to enable or disable automatic restoring of a speed after playing ads. Default and global value is `PlayerSDK.RESTORE_SPEED`
      See Also:
        Constant Field Values

    - #### INTENT_USE_ETH0

          public static final String INTENT_USE_ETH0

      Use this key to store an `boolean` and use ETH0 for network multicast
      See Also:
        Constant Field Values

    - #### INTENT_VIDEO_DECODER_FALLBACK

          public static final String INTENT_VIDEO_DECODER_FALLBACK

      Use this key to store an `boolean` to configure `PlayerConfig.videoDecoderFallback`
      See Also:
        Constant Field Values

    - #### INTENT_AUDIO_DECODER_FALLBACK

          public static final String INTENT_AUDIO_DECODER_FALLBACK

      Use this key to store an `boolean` to configure `PlayerConfig.audioDecoderFallback`
      See Also:
        Constant Field Values

    - #### INTENT_UNSECURE_DECODER_FALLBACK

          public static final String INTENT_UNSECURE_DECODER_FALLBACK

      Use this key to store an `boolean` to configure `PlayerConfig.unsecureDecoderFallback`
      See Also:
        Constant Field Values

    - #### INTENT_ALLOW_HLS_CHUNKLESS_PREPARATION

          public static final String INTENT_ALLOW_HLS_CHUNKLESS_PREPARATION

      Use this key to store an `boolean` to configure `PlayerConfig.allowHlsChunklessPreparation`
      See Also:
        Constant Field Values

    - #### FILTER_REASON_BLACKLISTED

          public static final int FILTER_REASON_BLACKLISTED

      Represents the reason for filtering out the track during `PlayerModel` creation: the track is marked as blacklisted e.g. not available for the offline playback.
      See Also:
        Constant Field Values

    - #### FILTER_REASON_HD_NOT_PERMITTED

          public static final int FILTER_REASON_HD_NOT_PERMITTED

      Represents the reason for filtering out the track during `PlayerModel` creation: HD playback is currently disabled.
      See Also:
        Constant Field Values

    - #### FILTER_REASON_EXCEED_MAX_PIXELS

          public static final int FILTER_REASON_EXCEED_MAX_PIXELS

      Represents the reason for filtering out the track during `PlayerModel` creation: the track resolution exceed the max pixels set e.g. screen size
      See Also:
        Constant Field Values

    - #### FILTER_REASON_NO_CODEC

          public static final int FILTER_REASON_NO_CODEC

      Represents the reason for filtering out the track during `PlayerModel` creation: there is no codec support for the track
      See Also:
        Constant Field Values

    - #### FILTER_REASON_FRAMERATE

          public static final int FILTER_REASON_FRAMERATE

      Represents the reason for filtering out the track during `PlayerModel` creation: framerate is out of specified bounds.
      See Also:
        Constant Field Values

    - #### FILTER_REASON_BITRATE

          public static final int FILTER_REASON_BITRATE

      Represents the reason for filtering out the track during `PlayerModel` creation: bitrate is out of specified bounds.
      See Also:
        Constant Field Values

    - #### FILTER_REASON_WIDTH

          public static final int FILTER_REASON_WIDTH

      Represents the reason for filtering out the track during `PlayerModel` creation: width is out of specified bounds.
      See Also:
        Constant Field Values

    - #### FILTER_REASON_HEIGHT

          public static final int FILTER_REASON_HEIGHT

      Represents the reason for filtering out the track during `PlayerModel` creation: height is out of specified bounds.
      See Also:
        Constant Field Values

    - #### FILTER_REASON_PIXELS

          public static final int FILTER_REASON_PIXELS

      Represents the reason for filtering out the track during `PlayerModel` creation: pixels i.e. width x height is out of specified bounds.
      See Also:
        Constant Field Values

    - #### FILTER_REASON_CUSTOM

          public static final int FILTER_REASON_CUSTOM

      Represents the reason for filtering out the track during `PlayerModel` creation: custom logic was applied through a `TrackFilter`.
      See Also:
        Constant Field Values

    - #### VIDEO_QUALITY_ADAPTIVE

          public static final int VIDEO_QUALITY_ADAPTIVE

      Indicates ABR based video quality selection.
      See Also:
        Constant Field Values

    - #### LIVE_EDGE_LATENCY_MS_UNINFORMED

          public static final int LIVE_EDGE_LATENCY_MS_UNINFORMED

      Indicates that live edge latency has not been informed
      See Also:
        Constant Field Values

    - #### VIDEO_QUALITY_MANUAL

          public static final int VIDEO_QUALITY_MANUAL

      Indicates manual video quality selection.

      Returned from `PlayerController.getVideoQualityMode()` if manual selection is enabled

      See Also:
        Constant Field Values

    - #### VIDEO_QUALITY_HIGHEST

          public static final int VIDEO_QUALITY_HIGHEST

      Pass this to `AbrConfiguration.Builder.initialTrackSelection(int, boolean)` to select the video quality with the highest available resolution
      See Also:
        Constant Field Values

    - #### VIDEO_QUALITY_LOWEST

          public static final int VIDEO_QUALITY_LOWEST

      Pass this to `AbrConfiguration.Builder.initialTrackSelection(int, boolean)` to select the video quality with the lowest available resolution
      See Also:
        Constant Field Values

    - #### VIDEO_CODEC_FILTER_NONE

          public static final int VIDEO_CODEC_FILTER_NONE

      Use this as a key to `INTENT_VIDEO_CODEC_FILTER` to instruct the player not to use video codec capabilities when filtering out unsupported video qualities. This is the most relaxed policy and it may result in the devices not supporting certain video qualities to try playing it and stop with an error. The valid use-case to set this option would be to have the devices not reporting complete codec capabilities and successfully playing all the video qualities.

      Note that with this option the hardware codec would be selected if available on the device.
      See Also:
        Constant Field Values

    - #### VIDEO_CODEC_FILTER_CAPS

          public static final int VIDEO_CODEC_FILTER_CAPS

      Use this as a key to `INTENT_VIDEO_CODEC_FILTER` to instruct the player to use video codec capabilities when filtering out unsupported video qualities. This is the most strict policy and may result in the devices not reporting complete codec capabilities not to be able playing some or all of the video qualities. The valid use-case to set this option would be to have the devices not reporting complete codec capabilities and failing on all the video qualities.

      Note that with this option the software codec may be selected for some of the video qualities in case the software codec reports the corresponding capabilities supported (profile and level) and the hardware codec does not.
      See Also:
        Constant Field Values

    - #### CODEC_BUFFER_MODE_SYNC

          public static final int CODEC_BUFFER_MODE_SYNC

      Force synchronous buffer mode
      See Also:
        Constant Field Values

    - #### CODEC_BUFFER_MODE_ASYNC

          public static final int CODEC_BUFFER_MODE_ASYNC

      Force asynchronous buffer mode, only valid for API higher or equal to 23
      See Also:
        Constant Field Values

    - #### CODEC_BUFFER_MODE_AUTO

          public static final int CODEC_BUFFER_MODE_AUTO

      Asynchronous buffer mode for API higher or equal to 31, otherwise synchronous
      See Also:
        Constant Field Values

    - #### VIDEO_SIZE_FILTER_AUTO

          public static final Point VIDEO_SIZE_FILTER_AUTO

      Deprecated.
      Use `VIDEO_FILTER_AUTO` instead
      Use this as a key to `INTENT_VIDEO_SIZE_FILTER` to instruct the player to use device screen resolution for pixel count filtering i.e. all the video tracks having `w x h` larger than the device screen resolution will be filtered out.

    - #### VIDEO_FILTER_AUTO

          public static final VideoFilterConfiguration VIDEO_FILTER_AUTO

      Use this as a value for `INTENT_VIDEO_FILTER` to instruct the player to use device screen resolution for pixel count filtering i.e. all the video tracks having `w x h` larger than the device screen resolution will be filtered out.

    - #### VIDEO_SIZE_FILTER_NONE

          public static final Point VIDEO_SIZE_FILTER_NONE

      Deprecated.
      Use `VIDEO_FILTER_NONE`
      Use this as a key to `INTENT_VIDEO_SIZE_FILTER` to instruct the player not to use any of the pixel count filtering i.e. display all the supported video tracks.

    - #### VIDEO_FILTER_NONE

          public static final VideoFilterConfiguration VIDEO_FILTER_NONE

      Use this as a value to `INTENT_VIDEO_FILTER` to instruct the player not to use any of the pixel count filtering i.e. display all the supported video tracks.

    - #### ANALYTICS_SESSION_TYPE_OPEN

          public static final int ANALYTICS_SESSION_TYPE_OPEN

      Use this as a key to `INTENT_ANALYTICS_SESSION_TYPE` to instruct the player to create and start analytics session upon `PlayerController.open(Bundle)`. This option is usually used when the user play action directly opens the stream and starts the playback i.e. `INTENT_START_PLAYING` is set to `true`.
      See Also:
        Constant Field Values

    - #### ANALYTICS_SESSION_TYPE_PLAY

          public static final int ANALYTICS_SESSION_TYPE_PLAY

      Use this as a key to `INTENT_ANALYTICS_SESSION_TYPE` when playback does not start automatically, i.e. `INTENT_START_PLAYING` is set to `false` and the user has to actively trigger playback start.
      See Also:
        Constant Field Values

    - #### SECONDARY_DISPLAY_NEVER

          public static final int SECONDARY_DISPLAY_NEVER

      Never allow display on a secondary (i.e. mirrored or HDMI) display
      See Also:
        Constant Field Values

    - #### SECONDARY_DISPLAY_ALLOW_UNPROTECTED_CONTENT

          public static final int SECONDARY_DISPLAY_ALLOW_UNPROTECTED_CONTENT

      Allow display on a secondary (i.e. mirrored or HDMI) display of unprotected content
      See Also:
        Constant Field Values

    - #### SECONDARY_DISPLAY_ALLOW_SECURE_DISPLAY

          public static final int SECONDARY_DISPLAY_ALLOW_SECURE_DISPLAY

      Allow display on a secondary (i.e. mirrored or HDMI) display of protected content if the display reports that its secure and supports protected buffers. See `Display.FLAG_SECURE` and `Display.FLAG_SUPPORTS_PROTECTED_BUFFERS`.
      See Also:
        Constant Field Values

    - #### SECONDARY_DISPLAY_ALLOW_ALWAYS

          public static final int SECONDARY_DISPLAY_ALLOW_ALWAYS

      Always allow display on a secondary (i.e. mirrored or HDMI)
      See Also:
        Constant Field Values

    - #### UNKNOWN_TIME_US

          public static final long UNKNOWN_TIME_US

      Represents an unknown microsecond time or duration.
      See Also:
        Constant Field Values

    - #### UNKNOWN_TIME_MS

          public static final int UNKNOWN_TIME_MS

      Represents an unknown millisecond time or duration.
      See Also:
        Constant Field Values

    - #### MATCH_LONGEST_US

          public static final long MATCH_LONGEST_US

      Represents a microsecond duration whose exact value is unknown, but which should match the longest of some other known durations.
      See Also:
        Constant Field Values

    - #### UNKNOWN_CUSTOMER_ID

          public static final String UNKNOWN_CUSTOMER_ID

      The customer ID that is used when no customer id could be found or the SDK was not yet initialized
      See Also:
        Constant Field Values

    - #### PLAYER_TYPE

          public static final String PLAYER_TYPE

      Represents the player type.
      See Also:
        Constant Field Values

    - #### PLAYER_NAME

          public static final String PLAYER_NAME

      Player name
      See Also:
        Constant Field Values

    - #### LENGTH_UNBOUNDED

          public static final int LENGTH_UNBOUNDED

      Represents an unbounded length of data.
      See Also:
        Constant Field Values

    - #### MIME_TYPE_TTML

          public static final String MIME_TYPE_TTML

      Mime type for TTML
      See Also:
        Constant Field Values

    - #### MIME_TYPE_VTT

          public static final String MIME_TYPE_VTT

      Mime type for VTT
      See Also:
        Constant Field Values

    - #### MIME_TYPE_MP4_VTT

          public static final String MIME_TYPE_MP4_VTT

      Mime type for MP4 embedded VTT
      See Also:
        Constant Field Values

    - #### MIME_TYPE_SRT

          public static final String MIME_TYPE_SRT

      Mime type for SRT
      See Also:
        Constant Field Values

    - #### MIME_TYPE_CEA608

          public static final String MIME_TYPE_CEA608

      Mime type for CEA608
      See Also:
        Constant Field Values

    - #### MIME_TYPE_DVBSUBS

          public static final String MIME_TYPE_DVBSUBS

      Mime type for DVB subtitles
      See Also:
        Constant Field Values

    - #### MIME_TYPE_DVBTTX

          public static final String MIME_TYPE_DVBTTX

      Mime type for DVB Teletext
      See Also:
        Constant Field Values

    - #### ALLOW_HD_CLEAR_CONTENT

          public static final int ALLOW_HD_CLEAR_CONTENT

      Allow HD content for unencrypted clear content
      See Also:
        Constant Field Values

    - #### ALLOW_HD_DRM_SECURE_MEDIA_PATH

          public static final int ALLOW_HD_DRM_SECURE_MEDIA_PATH

      Indicates that HD playback of DRM protected content is allowed only if both the DRM and the device support a secure media path.
      See Also:
        Constant Field Values

    - #### ALLOW_HD_DRM_ROOT_OF_TRUST

          public static final int ALLOW_HD_DRM_ROOT_OF_TRUST

      Indicates that HD playback of DRM protected content is allowed only if both the DRM and the device support at least L2 "root of trust" security.
      See Also:
        Constant Field Values

    - #### ALLOW_HD_DRM_SOFTWARE

          public static final int ALLOW_HD_DRM_SOFTWARE

      Indicates that HD playback of DRM protected content is allowed on all DRM systems.
      See Also:
        Constant Field Values

    - #### ALLOW_HD_NEVER

          public static final int ALLOW_HD_NEVER

      Never allow HD content playback and always filter HD representations
      See Also:
        Constant Field Values

    - #### WIDEVINE_UUID

          public static final UUID WIDEVINE_UUID

      UUID for the Widevine DRM scheme.

    - #### WISEPLAY_UUID

          public static final UUID WISEPLAY_UUID

      UUID for the WisePlay DRM scheme.

    - #### PLAYREADY_UUID

          public static final UUID PLAYREADY_UUID

      UUID for the PlayReady DRM scheme.

      Note that PlayReady is unsupported by most Android devices, with the exception of Android TV devices, which do provide support.

    - #### COMMON_PSSH_UUID

          public static final UUID COMMON_PSSH_UUID

      UUID for the W3C Common PSSH box.

    - #### DISABLED_TRACK

          public static final int DISABLED_TRACK

      Indicate a disabled track
      See Also:
        Constant Field Values

    - #### PREFFERED_TRACK

          public static final int PREFFERED_TRACK

      Indicates the SDK should try to select the preferred track, i.e. the first occurance of video track group; audio or subtitle track based on a language setting
      See Also:
        Constant Field Values

    - #### FAST_BITRATE_SWITCHING_AUTO

          public static final int FAST_BITRATE_SWITCHING_AUTO

      Query the codec for its capabilities to be reconfigured dynamically when the video resolution changes.
      See Also:
        `MediaCodecInfo.CodecCapabilities.isFeatureSupported(String)`, `MediaCodecInfo.CodecCapabilities.FEATURE_AdaptivePlayback`, Constant Field Values

    - #### FAST_BITRATE_SWITCHING_ENABLED

          public static final int FAST_BITRATE_SWITCHING_ENABLED

      Enforce dynamic reconfigurations of the codec when the video resolution changes
      See Also:
        Constant Field Values

    - #### FAST_BITRATE_SWITCHING_DISABLED

          public static final int FAST_BITRATE_SWITCHING_DISABLED

      Enforce dynamic reconfigurations of the codec when the video resolution changes
      See Also:
        Constant Field Values

    - #### DUMMY_SURFACE_AUTO

          public static final int DUMMY_SURFACE_AUTO

      Auto detect if the dummy surface can be used on the current device
      See Also:
        Constant Field Values

    - #### DUMMY_SURFACE_ENABLED

          public static final int DUMMY_SURFACE_ENABLED

      Enable usage of the dummy surface
      See Also:
        Constant Field Values

    - #### DUMMY_SURFACE_DISABLED

          public static final int DUMMY_SURFACE_DISABLED

      Disable usage of the dummy surface
      See Also:
        Constant Field Values

    - #### VIDEO

          public static final int VIDEO

      Identifies the video content
      See Also:
        Constant Field Values

    - #### AUDIO

          public static final int AUDIO

      Identifies the audio content
      See Also:
        Constant Field Values

    - #### TEXT

          public static final int TEXT

      Identifies the subtitle or text content
      See Also:
        Constant Field Values

    - #### OTHER

          public static final int OTHER

      Identifies the other content, i.e. Manifests
      See Also:
        Constant Field Values

    - #### THUMBNAIL

          public static final int THUMBNAIL

      See Also:
        Constant Field Values

    - #### AD_POSITION_PREROLL

          public static final int AD_POSITION_PREROLL

      Marker that indicates that an ad is played before the content
      See Also:
        Constant Field Values

    - #### AD_POSITION_MIDROLL

          public static final int AD_POSITION_MIDROLL

      Marker that indicates that an ad is played during content playback
      See Also:
        Constant Field Values

    - #### AD_POSITION_POSTROLL

          public static final int AD_POSITION_POSTROLL

      Marker that indicates that an ad is played after the content
      See Also:
        Constant Field Values

    - #### AD_EMBEDDED

          public static final int AD_EMBEDDED

      Marker indicating that an ad is played using the current player or is embedded within the content i.e. server-side ads (e.g. period-based ads, IMA DAI etc)
      See Also:
        Constant Field Values

    - #### AD_SEPARATE

          public static final int AD_SEPARATE

      Marker indicating that an ad is played using a separate player or is external to the current content i.e. client-side ads (e.g. external ad provider like IMA or independent ad configuration)
      See Also:
        Constant Field Values

    - #### DEFAULT_LIVE_EDGE_LATENCY_MS

          public static final int DEFAULT_LIVE_EDGE_LATENCY_MS

      For live streams, the default live edge latency in milliseconds.
      See Also:
        Constant Field Values

    - #### DEFAULT_BUFFER_CONFIGURATION

          public static BufferConfiguration DEFAULT_BUFFER_CONFIGURATION

      The default buffer configuration

    - #### DEFAULT_LIVE_CONFIGURATION

          public static final LiveConfiguration DEFAULT_LIVE_CONFIGURATION

      The default live configuration

    - #### DEFAULT_PLAYER_NETWORK_CONFIGURATION

          public static final NetworkConfiguration DEFAULT_PLAYER_NETWORK_CONFIGURATION

      The default network configuration used by the player for both manifests and segments

    - #### DEFAULT_PLAYER_TRICKPLAY_CONFIGURATION

          public static final TrickplayConfiguration DEFAULT_PLAYER_TRICKPLAY_CONFIGURATION

      The default trickplay configuration

    - #### DEFAULT_TRICKPLAY_ENABLED

          public static final boolean DEFAULT_TRICKPLAY_ENABLED

      The default state for trickplay playback
      See Also:
        Constant Field Values

    - #### AUDIO_ATTRIBUTES_FOCUS_ENABLED

          public static final AudioAttributes AUDIO_ATTRIBUTES_FOCUS_ENABLED

      Instance of `AudioAttributes` that enables Audio Focus management.

    - #### AUDIO_ATTRIBUTES_FOCUS_DISABLED

          public static final AudioAttributes AUDIO_ATTRIBUTES_FOCUS_DISABLED

      Instance of `AudioAttributes` that represents disabled Audio Focus management.

    - #### DEFAULT_AUDIO_ATTRIBUTES

          public static final AudioAttributes DEFAULT_AUDIO_ATTRIBUTES

      The default AudioAttributes

    - #### AD_SCHEDULE_MANUAL

          public static final AdSchedule AD_SCHEDULE_MANUAL

      An instance of `AdSchedule` which represents manual scheduling. Use if you want to be able to schedule ads during playback.

    - #### DEFAULT_AD_SCHEDULE

          public static final AdSchedule DEFAULT_AD_SCHEDULE

      The default AdSchedule

    - #### SCHEME_ID_UTC_TIMING_ELEMENT_NTP

          public static final String SCHEME_ID_UTC_TIMING_ELEMENT_NTP

      UTC Timing element representing an NTP request
      See Also:
        Constant Field Values

    - #### SELECTION_REASON_ABORT

          public static final int SELECTION_REASON_ABORT

      Selection reason that indicates download abort
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### SdkConsts

          public SdkConsts()

  - ### Method Detail

    - #### assertValidContentType

          public static void assertValidContentType​(int contentType)

      Assert that the given content type is valid or throws an IllegalArgumentException.
      Parameters:
        `contentType` - the content type
      Throws:
        `IllegalArgumentException` - if the given content type is not valid

    - #### selectionReasonToString

          @NonNull
          public static String selectionReasonToString​(int reason)

      Utility method that translates a chunk load selection reason to a string. The supported reasons are `C.SELECTION_REASON_UNKNOWN`, `C.SELECTION_REASON_INITIAL`, `C.SELECTION_REASON_MANUAL`, `C.SELECTION_REASON_ADAPTIVE`, `C.SELECTION_REASON_TRICK_PLAY`.
      Parameters:
        `reason` - the reason
      Returns:
        the reason as a string representation

    - #### filterReasonToString

          @NonNull
          public static String filterReasonToString​(int reason)

    - #### mediaTypeToString

          @NonNull
          public static String mediaTypeToString​(int mediaType)

      Utility method that translates a media type to a string
      Parameters:
        `mediaType` - the media type
      Returns:
        the media type as a string representation

    - #### contentTypeToMimeType

          public static String contentTypeToMimeType​(int contentType)

      Utility method that translates a content type to a MimeType string
      Parameters:
        `contentType` - the content type
      Returns:
        the MimeType string, or null if there's no match