Class SdkConsts

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

public class SdkConsts extends Object
  • Field Details

    • CONTENT_TYPE_UNKNOWN

      public static final int CONTENT_TYPE_UNKNOWN
      An unknown content type
      See Also:
    • CONTENT_TYPE_DASH

      public static final int CONTENT_TYPE_DASH
      DASH content
      See Also:
    • CONTENT_TYPE_HLS

      public static final int CONTENT_TYPE_HLS
      HLS content
      See Also:
    • CONTENT_TYPE_SMOOTHSTREAMING

      public static final int CONTENT_TYPE_SMOOTHSTREAMING
      SmoothStreaming content
      See Also:
    • CONTENT_TYPE_MP4

      public static final int CONTENT_TYPE_MP4
      MP4 content
      See Also:
    • CONTENT_TYPE_IPTV

      public static final int CONTENT_TYPE_IPTV
      IPTV content
      See Also:
    • INTENT_URL

      public static final String INTENT_URL
      Use this as a bundle key to indicate the playback URL
      See Also:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • INTENT_ABR_CONFIGURATION

      public static final String INTENT_ABR_CONFIGURATION
      Provide an instance of AbrConfiguration when opening playback.
      Since:
      4.1.0
      See Also:
    • INTENT_QUERY_PARAMS_BUNDLE

      @Deprecated public static final String INTENT_QUERY_PARAMS_BUNDLE
      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:
    • INTENT_HEADER_PARAMS_BUNDLE

      @Deprecated public static final String INTENT_HEADER_PARAMS_BUNDLE
      Deprecated.
      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:
    • INTENT_SUBTITLE_URL

      @Deprecated public static final String INTENT_SUBTITLE_URL
      Deprecated.
      Use this key to store a String to a subtitle url when you are creating a Bundle for side loaded subtitles.
      See Also:
    • INTENT_SUBTITLE_MIME_TYPE

      @Deprecated public static final String INTENT_SUBTITLE_MIME_TYPE
      Deprecated.
      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:
    • INTENT_SUBTITLE_LANGUAGE

      @Deprecated public static final String INTENT_SUBTITLE_LANGUAGE
      Deprecated.
      Use this key to store a String to a subtitle language encoded as a two letter language code.
      See Also:
    • INTENT_SUBTITLE_NAME

      @Deprecated public static final String INTENT_SUBTITLE_NAME
      Deprecated.
      Use this key to store a String to a subtitle track name.
      See Also:
    • INTENT_SUBTITLE_BUNDLE_ARRAYLIST

      @Deprecated public static final String INTENT_SUBTITLE_BUNDLE_ARRAYLIST
      Deprecated.
      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:
    • 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:
    • SUBTITLE_SUB_SAMPLE_TYPE_ABSOLUTE

      public static final int SUBTITLE_SUB_SAMPLE_TYPE_ABSOLUTE
      Use this value for absolute subtitle time.
      See Also:
    • SUBTITLE_SUB_SAMPLE_TYPE_RELATIVE

      public static final int SUBTITLE_SUB_SAMPLE_TYPE_RELATIVE
      Use this value for relative subtitle time.
      See Also:
    • 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:
    • 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:
    • 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:
    • INTENT_VIDEO_SIZE_FILTER

      public static final String INTENT_VIDEO_SIZE_FILTER
      Deprecated.
      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:
    • 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:
    • INTENT_ENABLE_LOOPING

      public static final String INTENT_ENABLE_LOOPING
      Use this key to store an boolean and enable playback looping
      See Also:
    • INTENT_DOWNLOAD_ID

      public static final String INTENT_DOWNLOAD_ID
      Use this as a bundle key to indicate the download ID
      See Also:
    • INTENT_DOWNLOAD_FOLDER

      public static final String INTENT_DOWNLOAD_FOLDER
      Use this as a bundle key to indicate the download folder
      See Also:
    • INTENT_ANALYTICS_DATA

      public static final String INTENT_ANALYTICS_DATA
      Use this key to store an instance of AnalyticsMetaData in an intent.
      See Also:
    • INTENT_AUDIO_ATTRIBUTES

      public static final String INTENT_AUDIO_ATTRIBUTES
      Use this key to inform an instance of AudioAttributes in an intent.
      See Also:
    • INTENT_AD_SCHEDULE

      public static final String INTENT_AD_SCHEDULE
      Use this key to inform an instance of AudioAttributes in an intent.
      See Also:
    • 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:
    • INTENT_VIISIGHTS_DATA

      public static final String INTENT_VIISIGHTS_DATA
      Use this key to store ViisightData in an intent.
      See Also:
    • INTENT_ADVERTS_DATA

      public static final String INTENT_ADVERTS_DATA
      Use this key to store AdRequest in an intent.
      See Also:
    • 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:
    • 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:
    • 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:
    • INTENT_TUNNELING_ENABLED

      public static final String INTENT_TUNNELING_ENABLED
      Use this key to store a Boolean and enable tunneling.
      See Also:
    • 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:
    • INTENT_USER_ID

      public static final String INTENT_USER_ID
      Use this key to specify the User ID.
      See Also:
    • INTENT_LIVE_CONFIGURATION

      public static final String INTENT_LIVE_CONFIGURATION
      Use this key to specify the Live Configuration.
      See Also:
    • INTENT_NETWORK_CONFIGURATION

      public static final String INTENT_NETWORK_CONFIGURATION
      Use this key to specify the NetworkConfiguration used by the player
      See Also:
    • INTENT_TRICKPLAY_CONFIGURATION

      public static final String INTENT_TRICKPLAY_CONFIGURATION
      Use this key to specify the initial TrickplayConfiguration used by the player
      See Also:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • INTENT_THUMBNAILS_DATA

      public static final String INTENT_THUMBNAILS_DATA
      Use this key to store ThumbnailDataTrack in an intent.
      See Also:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • VIDEO_QUALITY_ADAPTIVE

      public static final int VIDEO_QUALITY_ADAPTIVE
      Indicates ABR based video quality selection.
      See Also:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • CODEC_BUFFER_MODE_SYNC

      public static final int CODEC_BUFFER_MODE_SYNC
      Force synchronous buffer mode
      See Also:
    • 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:
    • 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:
    • 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 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:
    • 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:
    • SECONDARY_DISPLAY_NEVER

      public static final int SECONDARY_DISPLAY_NEVER
      Never allow display on a secondary (i.e. mirrored or HDMI) display
      See Also:
    • 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:
    • 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:
    • 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:
    • UNKNOWN_TIME_US

      public static final long UNKNOWN_TIME_US
      Represents an unknown microsecond time or duration.
      See Also:
    • UNKNOWN_TIME_MS

      public static final int UNKNOWN_TIME_MS
      Represents an unknown millisecond time or duration.
      See Also:
    • 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:
    • 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:
    • PLAYER_TYPE

      public static final String PLAYER_TYPE
      Represents the player type.
      See Also:
    • PLAYER_NAME

      public static final String PLAYER_NAME
      Player name
      See Also:
    • LENGTH_UNBOUNDED

      public static final int LENGTH_UNBOUNDED
      Represents an unbounded length of data.
      See Also:
    • MIME_TYPE_TTML

      public static final String MIME_TYPE_TTML
      Mime type for TTML
      See Also:
    • MIME_TYPE_VTT

      public static final String MIME_TYPE_VTT
      Mime type for VTT
      See Also:
    • MIME_TYPE_MP4_VTT

      public static final String MIME_TYPE_MP4_VTT
      Mime type for MP4 embedded VTT
      See Also:
    • MIME_TYPE_SRT

      public static final String MIME_TYPE_SRT
      Mime type for SRT
      See Also:
    • MIME_TYPE_CEA608

      public static final String MIME_TYPE_CEA608
      Mime type for CEA608
      See Also:
    • MIME_TYPE_DVBSUBS

      public static final String MIME_TYPE_DVBSUBS
      Mime type for DVB subtitles
      See Also:
    • MIME_TYPE_DVBTTX

      public static final String MIME_TYPE_DVBTTX
      Mime type for DVB Teletext
      See Also:
    • MIME_TYPE_JPEG

      public static final String MIME_TYPE_JPEG
      Mime type for Dash embedded thumbnails
      See Also:
    • ALLOW_HD_CLEAR_CONTENT

      public static final int ALLOW_HD_CLEAR_CONTENT
      Allow HD content for unencrypted clear content
      See Also:
    • 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:
    • 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:
    • 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:
    • ALLOW_HD_NEVER

      public static final int ALLOW_HD_NEVER
      Never allow HD content playback and always filter HD representations
      See Also:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • DUMMY_SURFACE_ENABLED

      public static final int DUMMY_SURFACE_ENABLED
      Enable usage of the dummy surface
      See Also:
    • DUMMY_SURFACE_DISABLED

      public static final int DUMMY_SURFACE_DISABLED
      Disable usage of the dummy surface
      See Also:
    • VIDEO

      public static final int VIDEO
      Identifies the video content
      See Also:
    • AUDIO

      public static final int AUDIO
      Identifies the audio content
      See Also:
    • TEXT

      public static final int TEXT
      Identifies the subtitle or text content
      See Also:
    • OTHER

      public static final int OTHER
      Identifies the other content, i.e. Manifests
      See Also:
    • THUMBNAIL

      public static final int THUMBNAIL
      See Also:
    • AD_POSITION_PREROLL

      public static final int AD_POSITION_PREROLL
      Marker that indicates that an ad is played before the content
      See Also:
    • AD_POSITION_MIDROLL

      public static final int AD_POSITION_MIDROLL
      Marker that indicates that an ad is played during content playback
      See Also:
    • AD_POSITION_POSTROLL

      public static final int AD_POSITION_POSTROLL
      Marker that indicates that an ad is played after the content
      See Also:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • SELECTION_REASON_ABORT

      public static final int SELECTION_REASON_ABORT
      Selection reason that indicates download abort
      See Also:
    • TRACK_TYPE_THUMBNAIL

      public static final int TRACK_TYPE_THUMBNAIL
      Track type defining thumbnails track
      See Also:
  • Constructor Details

    • SdkConsts

      public SdkConsts()
  • 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)
    • 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