Package com.castlabs.android

# Class SdkConsts

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

public class SdkConsts extends Object
Contains constants used by the Player SDK.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static @interface`
  `SdkConsts.AdPosition`
  Annotation for ad position constants
  `static @interface`
  `SdkConsts.AdType`
  Annotation for ad type constants
  `static @interface`
  `SdkConsts.AnalyticsSessionType`
  Annotation for analytics session type constants
  `static @interface`
  `SdkConsts.CodecBufferMode`
  Annotation for codec buffer mode constants
  `static @interface`
  `SdkConsts.ContentType`
  Annotation for content type constants
  `static @interface`
  `SdkConsts.DataType`
  Annotation for data type constants
  `static @interface`
  `SdkConsts.DummySurfaceMode`
  Annotation for dummy surface mode constants
  `static @interface`
  `SdkConsts.FastBitrateSwitching`
  Annotation for fast bitrate switching mode constants
  `static @interface`
  `SdkConsts.FilterReason`
  Annotation for filter reason constants
  `static @interface`
  `SdkConsts.MediaType`
  Annotation for media type constants
  `static @interface`
  `SdkConsts.SeekMode`
  Annotation for seek mode constants
  `static @interface`
  `SdkConsts.SelectionReason`
  Annotation for selection reason constants
  `static @interface`
  `SdkConsts.SubtitleSubSampleType`
  Annotation for subtitle sub sample type constants
  `static @interface`
  `SdkConsts.VideoCodecFilter`
  Annotation for video codec filter constants

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `AD_EMBEDDED`
  Marker indicating that an ad is played using the current player or is embedded within the content i.e.
  `static final int`
  `AD_POSITION_MIDROLL`
  Marker that indicates that an ad is played during content playback
  `static final int`
  `AD_POSITION_POSTROLL`
  Marker that indicates that an ad is played after the content
  `static final int`
  `AD_POSITION_PREROLL`
  Marker that indicates that an ad is played before the content
  `static final AdSchedule`
  `AD_SCHEDULE_MANUAL`
  An instance of `AdSchedule` which represents manual scheduling.
  `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.
  `static final int`
  `ALLOW_HD_CLEAR_CONTENT`
  Allow HD content for unencrypted clear content
  `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.
  `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.
  `static final int`
  `ALLOW_HD_DRM_SOFTWARE`
  Indicates that HD playback of DRM protected content is allowed on all DRM systems.
  `static final int`
  `ALLOW_HD_NEVER`
  Never allow HD content playback and always filter HD representations
  `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)`.
  `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.
  `static final int`
  `AUDIO`
  Identifies the audio content
  `static final AudioAttributes`
  `AUDIO_ATTRIBUTES_FOCUS_DISABLED`
  Instance of `AudioAttributes` that represents disabled Audio Focus management.
  `static final AudioAttributes`
  `AUDIO_ATTRIBUTES_FOCUS_ENABLED`
  Instance of `AudioAttributes` that enables Audio Focus management.
  `static final int`
  `CODEC_BUFFER_MODE_ASYNC`
  Force asynchronous buffer mode, only valid for API higher or equal to 23
  `static final int`
  `CODEC_BUFFER_MODE_AUTO`
  Asynchronous buffer mode for API higher or equal to 31, otherwise synchronous
  `static final int`
  `CODEC_BUFFER_MODE_SYNC`
  Force synchronous buffer mode
  `static final UUID`
  `COMMON_PSSH_UUID`
  UUID for the W3C Common PSSH box.
  `static final int`
  `CONTENT_TYPE_DASH`
  DASH content
  `static final int`
  `CONTENT_TYPE_GSTREAMER`
  GStreamer content
  `static final int`
  `CONTENT_TYPE_HLS`
  HLS content
  `static final int`
  `CONTENT_TYPE_HYBRID_AD`
  Hybrid Ad content
  `static final int`
  `CONTENT_TYPE_IPTV`
  IPTV content
  `static final int`
  `CONTENT_TYPE_MP4`
  MP4 content
  `static final int`
  `CONTENT_TYPE_SMOOTHSTREAMING`
  SmoothStreaming content
  `static final int`
  `CONTENT_TYPE_UNKNOWN`
  An unknown content type
  `static final AdSchedule`
  `DEFAULT_AD_SCHEDULE`
  The default AdSchedule
  `static final AudioAttributes`
  `DEFAULT_AUDIO_ATTRIBUTES`
  The default AudioAttributes
  `static BufferConfiguration`
  `DEFAULT_BUFFER_CONFIGURATION`
  The default buffer configuration
  `static final LiveConfiguration`
  `DEFAULT_LIVE_CONFIGURATION`
  The default live configuration
  `static final int`
  `DEFAULT_LIVE_EDGE_LATENCY_MS`
  For live streams, the default live edge latency in milliseconds.
  `static final NetworkConfiguration`
  `DEFAULT_PLAYER_NETWORK_CONFIGURATION`
  The default network configuration used by the player for both manifests and segments
  `static final TrickplayConfiguration`
  `DEFAULT_PLAYER_TRICKPLAY_CONFIGURATION`
  The default trickplay configuration
  `static final boolean`
  `DEFAULT_TRICKPLAY_ENABLED`
  The default state for trickplay playback
  `static final int`
  `DISABLED_TRACK`
  Indicate a disabled track
  `static final int`
  `DUMMY_SURFACE_AUTO`
  Auto detect if the dummy surface can be used on the current device
  `static final int`
  `DUMMY_SURFACE_DISABLED`
  Disable usage of the dummy surface
  `static final int`
  `DUMMY_SURFACE_ENABLED`
  Enable usage of the dummy surface
  `static final int`
  `FAST_BITRATE_SWITCHING_AUTO`
  Query the codec for its capabilities to be reconfigured dynamically when the video resolution changes.
  `static final int`
  `FAST_BITRATE_SWITCHING_DISABLED`
  Enforce dynamic reconfigurations of the codec when the video resolution changes
  `static final int`
  `FAST_BITRATE_SWITCHING_ENABLED`
  Enforce dynamic reconfigurations of the codec when the video resolution changes
  `static final int`
  `FILTER_REASON_BITRATE`
  Represents the reason for filtering out the track during `PlayerModel` creation: bitrate is out of specified bounds.
  `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.
  `static final int`
  `FILTER_REASON_CUSTOM`
  Represents the reason for filtering out the track during `PlayerModel` creation: custom logic was applied through a `TrackFilter`.
  `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.
  `static final int`
  `FILTER_REASON_FRAMERATE`
  Represents the reason for filtering out the track during `PlayerModel` creation: framerate is out of specified bounds.
  `static final int`
  `FILTER_REASON_HD_NOT_PERMITTED`
  Represents the reason for filtering out the track during `PlayerModel` creation: HD playback is currently disabled.
  `static final int`
  `FILTER_REASON_HEIGHT`
  Represents the reason for filtering out the track during `PlayerModel` creation: height is out of specified bounds.
  `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
  `static final int`
  `FILTER_REASON_PIXELS`
  Represents the reason for filtering out the track during `PlayerModel` creation: pixels i.e.
  `static final int`
  `FILTER_REASON_WIDTH`
  Represents the reason for filtering out the track during `PlayerModel` creation: width is out of specified bounds.
  `static final String`
  `INTENT_ABR_CONFIGURATION`
  Provide an instance of `AbrConfiguration` when opening playback.
  `static final String`
  `INTENT_AD_SCHEDULE`
  Use this key to inform an instance of `AudioAttributes` in an intent.
  `static final String`
  `INTENT_ADVERTS_DATA`
  Use this key to store `AdRequest` in an intent.
  `static final String`
  `INTENT_ALLOW_HLS_CHUNKLESS_PREPARATION`
  Use this key to store an `boolean` to configure `PlayerConfig.allowHlsChunklessPreparation`
  `static final String`
  `INTENT_ANALYTICS_DATA`
  Use this key to store an instance of `AnalyticsMetaData` in an intent.
  `static final String`
  `INTENT_ANALYTICS_SESSION_TYPE`
  Use this key to create and start analytics session upon `PlayerController.play()` or `PlayerController.open(Bundle)`.
  `static final String`
  `INTENT_AUDIO_ATTRIBUTES`
  Use this key to inform an instance of `AudioAttributes` in an intent.
  `static final String`
  `INTENT_AUDIO_DECODER_FALLBACK`
  Use this key to store an `boolean` to configure `PlayerConfig.audioDecoderFallback`
  `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.
  `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.
  `static final String`
  `INTENT_AUDIO_VOLUME`
  Use this as a bundle key and set an float value that indicates the audio track volume.
  `static final String`
  `INTENT_BUFFER_CONFIGURATION`
  Use this key to store a `BufferConfiguration` that will be used by the player
  `static final String`
  `INTENT_CAS_CONFIGURATION`
  Use this as a bundle key and set a `CasConfiguration` as a value.
  `static final String`
  `INTENT_CLIP_PERIODS`
  Use this key to store a `boolean` and enable clipping periods to their duration (DASH-only)
  `static final String`
  `INTENT_CLIPPING_END`
  Use this key to specify a media time to end playback prematurely.
  `static final String`
  `INTENT_CLIPPING_START`
  Use this key to specify a media time from which playback should start.
  `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.
  `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.
  `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
  `static final String`
  `INTENT_DOWNLOAD_FOLDER`
  Use this as a bundle key to indicate the download folder
  `static final String`
  `INTENT_DOWNLOAD_ID`
  Use this as a bundle key to indicate the download ID
  `static final String`
  `INTENT_DRM_CONFIGURATION`
  Use this as a bundle key and set a `DrmConfiguration` as a value.
  `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.
  `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
  `static final String`
  `INTENT_ENABLE_LOOPING`
  Use this key to store an `boolean` and enable playback looping
  `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)
  `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).
  `static final String`
  `INTENT_HD_CONTENT_FILTER`
  Use this key to store an `int` that will be used to configure the HD content filter.
  `static final String`
  `INTENT_HEADER_PARAMS_BUNDLE`
  Deprecated.
  Use `INTENT_CONTENT_PARAMETERS` or `INTENT_SEGMENT_PARAMETERS`, or use the new `PlayerConfig` class.
  `static final String`
  `INTENT_LIVE_CONFIGURATION`
  Use this key to specify the Live Configuration.
  `static final String`
  `INTENT_MERGE_VIDEO_TRACKS`
  Use this key to store an `boolean` and enable merging of video tracks (e.g.
  `static final String`
  `INTENT_NETWORK_CONFIGURATION`
  Use this key to specify the `NetworkConfiguration` used by the player
  `static final String`
  `INTENT_PAUSE_ON_HDMI_DISCONNECTED`
  Use this key to enable or disable automatic playback pausing when HDMI is disconnected.
  `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.
  `static final String`
  `INTENT_PREFER_LATENCY_OVER_BUFFER_SAFETY`
  If set to true, will instruct ExoPlayer to drop startup buffers to start closer to the live edge.
  `static final String`
  `INTENT_PREFERRED_AUDIO_LANGUAGE`
  Use this key to specify a preferred audio language using a two letter language code.
  `static final String`
  `INTENT_PREFERRED_TEXT_LANGUAGE`
  Use this key to specify a preferred text language using a two letter language code.
  `static final String`
  `INTENT_PRESERVE_PLAYER_RESOURCES`
  Use this key to store a `boolean` and set to true.
  `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.
  `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.
  `static final String`
  `INTENT_QUERY_PARAMS_BUNDLE`
  Deprecated.
  Use `INTENT_SEGMENT_QUERY_PARAMETERS` or `INTENT_CONTENT_QUERY_PARAMETERS`, or use the new `PlayerConfig` class.
  `static final String`
  `INTENT_RESTORE_SPEED`
  Use this key to enable or disable automatic restoring of a speed after playing ads.
  `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
  `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.
  `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.
  `static final String`
  `INTENT_SIDELOADED_TRACKS_ARRAYLIST`
  Use this key to store an `ArrayList` of `SideloadedTrack`
  `static final String`
  `INTENT_START_PLAYING`
  Use this as a bundle key and set a boolean value to indicate that playback should start automatically
  `static final String`
  `INTENT_SUBTITLE_BUNDLE_ARRAYLIST`
  Deprecated.
  Use `INTENT_SIDELOADED_TRACKS_ARRAYLIST`, or use the new `PlayerConfig` class.
  `static final String`
  `INTENT_SUBTITLE_LANGUAGE`
  Deprecated.
  Use `INTENT_SIDELOADED_TRACKS_ARRAYLIST`, or use the new `PlayerConfig` class.
  `static final String`
  `INTENT_SUBTITLE_MIME_TYPE`
  Deprecated.
  Use `INTENT_SIDELOADED_TRACKS_ARRAYLIST`, or use the new `PlayerConfig` class.
  `static final String`
  `INTENT_SUBTITLE_NAME`
  Deprecated.
  Use `INTENT_SIDELOADED_TRACKS_ARRAYLIST`, or use the new `PlayerConfig` class.
  `static final String`
  `INTENT_SUBTITLE_SUB_SAMPLE_TYPE`
  Defines whether the subtitle times are absolute or relative.
  `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.
  `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.
  `static final String`
  `INTENT_SUBTITLE_URL`
  Deprecated.
  Use `INTENT_SIDELOADED_TRACKS_ARRAYLIST`, or use the new `PlayerConfig` class.
  `static final String`
  `INTENT_THUMBNAILS_DATA`
  Deprecated.
  in favour of `INTENT_SIDELOADED_TRACKS_ARRAYLIST` and `SideloadedTrack.ThumbnailBuilder`.
  `static final String`
  `INTENT_TITLE`
  (optional) Use this as a bundle key to indicate a title for the currently played content
  `static final String`
  `INTENT_TRICKPLAY_CONFIGURATION`
  Use this key to specify the initial `TrickplayConfiguration` used by the player
  `static final String`
  `INTENT_TRICKPLAY_ENABLED`
  Use this key to specify whether the `Trickplay` mode should be enabled or not.
  `static final String`
  `INTENT_TUNNELING_ENABLED`
  Use this key to store a `Boolean` and enable tunneling.
  `static final String`
  `INTENT_TUNNELING_WITHOUT_AUDIO_ENABLED`
  Use this key to store a `Boolean` and force tunneling usage with audio track being disabled
  `static final String`
  `INTENT_UNSECURE_DECODER_FALLBACK`
  Use this key to store an `boolean` to configure `PlayerConfig.unsecureDecoderFallback`
  `static final String`
  `INTENT_URL`
  Use this as a bundle key to indicate the playback URL
  `static final String`
  `INTENT_USE_ETH0`
  Use this key to store an `boolean` and use ETH0 for network multicast
  `static final String`
  `INTENT_USE_STANDALONE_MEDIA_CLOCK`
  If set to true, will use Exoplayer's `StandaloneMediaClock` instead of the Renderer Clock.
  `static final String`
  `INTENT_USER_ID`
  Use this key to specify the User ID.
  `static final String`
  `INTENT_VIDEO_CODEC_FILTER`
  Use this key to store an `int` that will be used to configure the video codec filtering.
  `static final String`
  `INTENT_VIDEO_DECODER_FALLBACK`
  Use this key to store an `boolean` to configure `PlayerConfig.videoDecoderFallback`
  `static final String`
  `INTENT_VIDEO_FILTER`
  Use this key to store a `VideoFilterConfiguration` that will be used to configure the video tracks filtering.
  `static final String`
  `INTENT_VIDEO_SIZE_FILTER`
  Deprecated.
  Use `INTENT_VIDEO_FILTER`
  `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.
  `static final String`
  `INTENT_VIISIGHTS_DATA`
  Use this key to store ViisightData in an intent.
  `static final int`
  `LENGTH_UNBOUNDED`
  Represents an unbounded length of data.
  `static final int`
  `LIVE_EDGE_LATENCY_MS_UNINFORMED`
  Indicates that live edge latency has not been informed
  `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.
  `static final String`
  `MIME_TYPE_CEA608`
  Mime type for CEA608
  `static final String`
  `MIME_TYPE_DVBSUBS`
  Mime type for DVB subtitles
  `static final String`
  `MIME_TYPE_DVBTTX`
  Mime type for DVB Teletext
  `static final String`
  `MIME_TYPE_JPEG`
  Mime type for Dash embedded thumbnails
  `static final String`
  `MIME_TYPE_MP4_VTT`
  Mime type for MP4 embedded VTT
  `static final String`
  `MIME_TYPE_SRT`
  Mime type for SRT
  `static final String`
  `MIME_TYPE_TTML`
  Mime type for TTML
  `static final String`
  `MIME_TYPE_VTT`
  Mime type for VTT
  `static final int`
  `OTHER`
  Identifies the other content, i.e.
  `static final String`
  `PLAYER_NAME`
  Player name
  `static final String`
  `PLAYER_TYPE`
  Represents the player type.
  `static final UUID`
  `PLAYREADY_UUID`
  UUID for the PlayReady DRM scheme.
  `static final int`
  `PREFFERED_TRACK`
  Indicates the SDK should try to select the preferred track, i.e.
  `static final String`
  `SCHEME_ID_UTC_TIMING_ELEMENT_NTP`
  UTC Timing element representing an NTP request
  `static final int`
  `SECONDARY_DISPLAY_ALLOW_ALWAYS`
  Always allow display on a secondary (i.e.
  `static final int`
  `SECONDARY_DISPLAY_ALLOW_SECURE_DISPLAY`
  Allow display on a secondary (i.e.
  `static final int`
  `SECONDARY_DISPLAY_ALLOW_UNPROTECTED_CONTENT`
  Allow display on a secondary (i.e.
  `static final int`
  `SECONDARY_DISPLAY_NEVER`
  Never allow display on a secondary (i.e.
  `static final int`
  `SEEK_CLOSEST_SYNC`
  Player mode parameter for seeking to the closest sync point.
  `static final int`
  `SEEK_EXACT`
  Player mode parameter for exact seeking.
  `static final int`
  `SEEK_NEXT_SYNC`
  Player mode parameter for seeking to the sync point immediately after a requested seek position.
  `static final int`
  `SEEK_PREVIOUS_SYNC`
  Player mode parameter for seeking to the sync point immediately before a requested seek position.
  `static final int`
  `SELECTION_REASON_ABORT`
  Selection reason that indicates download abort
  `static final int`
  `SELECTION_REASON_FRAME_DROP_EXCEED`
  Selection reason that indicates frame drop threshold exceeded
  `static final int`
  `SUBTITLE_SUB_SAMPLE_TYPE_ABSOLUTE`
  Use this value for absolute subtitle time.
  `static final int`
  `SUBTITLE_SUB_SAMPLE_TYPE_RELATIVE`
  Use this value for relative subtitle time.
  `static final int`
  `TEXT`
  Identifies the subtitle or text content
  `static final int`
  `THUMBNAIL`
  Identifies the thumbnail content
  `static final int`
  `TRACK_TYPE_THUMBNAIL`
  Track type defining thumbnails track
  `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
  `static final int`
  `UNKNOWN_TIME_MS`
  Represents an unknown millisecond time or duration.
  `static final long`
  `UNKNOWN_TIME_US`
  Represents an unknown microsecond time or duration.
  `static final int`
  `VIDEO`
  Identifies the video content
  `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.
  `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.
  `static final VideoFilterConfiguration`
  `VIDEO_FILTER_AUTO`
  Use this as a value for `INTENT_VIDEO_FILTER` to instruct the player to use device screen resolution filtering when all but one, closest and exceeding device screen resolution, video tracks will be filtered out.
  `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.
  `static final int`
  `VIDEO_QUALITY_ADAPTIVE`
  Indicates ABR based video quality selection.
  `static final int`
  `VIDEO_QUALITY_HIGHEST`
  Pass this to `AbrConfiguration.Builder.initialTrackSelection(int, boolean)` to select the video quality with the highest available resolution
  `static final int`
  `VIDEO_QUALITY_LOWEST`
  Pass this to `AbrConfiguration.Builder.initialTrackSelection(int, boolean)` to select the video quality with the lowest available resolution
  `static final int`
  `VIDEO_QUALITY_MANUAL`
  Indicates manual video quality selection.
  `static final Point`
  `VIDEO_SIZE_FILTER_AUTO`
  Deprecated.
  Use `VIDEO_FILTER_AUTO` instead
  `static final Point`
  `VIDEO_SIZE_FILTER_NONE`
  Deprecated.
  Use `VIDEO_FILTER_NONE`
  `static final UUID`
  `WIDEVINE_UUID`
  UUID for the Widevine DRM scheme.
  `static final UUID`
  `WISEPLAY_UUID`
  UUID for the WisePlay DRM scheme.

- ## Method Summary

  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)`
  Utility method that translates a filter reason to a string representation.
  `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 Details

  - ### 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

  - ### CONTENT_TYPE_HYBRID_AD

    public static final int CONTENT_TYPE_HYBRID_AD
    Hybrid Ad content
    See Also:
      - Constant Field Values

  - ### CONTENT_TYPE_GSTREAMER

    public static final int CONTENT_TYPE_GSTREAMER
    GStreamer 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_PRESERVE_PLAYER_RESOURCES

    public static final String INTENT_PRESERVE_PLAYER_RESOURCES
    Use this key to store a `boolean` and set to true. The playback resources (codecs, renderers) will be preserved when the player player is released. This allows to reuse (instead of re-create) the playback resources and can also be used to keep the last frame on screen when `INTENT_PRESERVE_PLAYER_VIEW_SURFACE` is set.
    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_PREFER_LATENCY_OVER_BUFFER_SAFETY

    public static final String INTENT_PREFER_LATENCY_OVER_BUFFER_SAFETY
    If set to true, will instruct ExoPlayer to drop startup buffers to start closer to the live edge. Only Applies to Live Content.
    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_SUBTITLE_SUB_SAMPLE_TYPE

    public static final String INTENT_SUBTITLE_SUB_SAMPLE_TYPE
    Defines whether the subtitle times are absolute or relative. Could be one of `SUBTITLE_SUB_SAMPLE_TYPE_ABSOLUTE` or `SUBTITLE_SUB_SAMPLE_TYPE_RELATIVE`
    See Also:
      - Constant Field Values

  - ### SUBTITLE_SUB_SAMPLE_TYPE_ABSOLUTE

    public static final int SUBTITLE_SUB_SAMPLE_TYPE_ABSOLUTE
    Use this value for absolute subtitle time.
    See Also:
      - Constant Field Values

  - ### SUBTITLE_SUB_SAMPLE_TYPE_RELATIVE

    public static final int SUBTITLE_SUB_SAMPLE_TYPE_RELATIVE
    Use this value for relative subtitle time.
    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 filtering when all but one, closest and exceeding device screen resolution, video tracks 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

  - ### MIME_TYPE_JPEG

    public static final String MIME_TYPE_JPEG
    Mime type for Dash embedded thumbnails
    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
    Identifies the thumbnail content
    See Also:
      - Constant Field Values

  - ### SEEK_EXACT

    public static final int SEEK_EXACT
    Player mode parameter for exact seeking.
    See Also:
      - Constant Field Values

  - ### SEEK_PREVIOUS_SYNC

    public static final int SEEK_PREVIOUS_SYNC
    Player mode parameter for seeking to the sync point immediately before a requested seek position.
    See Also:
      - Constant Field Values

  - ### SEEK_NEXT_SYNC

    public static final int SEEK_NEXT_SYNC
    Player mode parameter for seeking to the sync point immediately after a requested seek position.
    See Also:
      - Constant Field Values

  - ### SEEK_CLOSEST_SYNC

    public static final int SEEK_CLOSEST_SYNC
    Player mode parameter for seeking to the closest sync point.
    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

  - ### SELECTION_REASON_FRAME_DROP_EXCEED

    public static final int SELECTION_REASON_FRAME_DROP_EXCEED
    Selection reason that indicates frame drop threshold exceeded
    See Also:
      - Constant Field Values

  - ### TRACK_TYPE_THUMBNAIL

    public static final int TRACK_TYPE_THUMBNAIL
    Track type defining thumbnails track
    See Also:
      - Constant Field Values

- ## Method Details

  - ### 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)
    Utility method that translates a filter reason to a string representation.
    Parameters:
      `reason` - the filter reason to translate
    Returns:
      a string containing all applicable filter reasons

  - ### 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