Package com.castlabs.android
Class SdkConsts
java.lang.Object
com.castlabs.android.SdkConsts
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic @interface
static @interface
static @interface
static @interface
static @interface
static @interface
static @interface
static @interface
static @interface
static @interface
static @interface
static @interface
static @interface
static @interface
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Marker indicating that an ad is played using the current player or is embedded within the content i.e.static final int
Marker that indicates that an ad is played during content playbackstatic final int
Marker that indicates that an ad is played after the contentstatic final int
Marker that indicates that an ad is played before the contentstatic final AdSchedule
An instance ofAdSchedule
which represents manual scheduling.static final int
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 content for unencrypted clear contentstatic final int
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
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
Indicates that HD playback of DRM protected content is allowed on all DRM systems.static final int
Never allow HD content playback and always filter HD representationsstatic final int
Use this as a key toINTENT_ANALYTICS_SESSION_TYPE
to instruct the player to create and start analytics session uponPlayerController.open(Bundle)
.static final int
Use this as a key toINTENT_ANALYTICS_SESSION_TYPE
when playback does not start automatically, i.e.static final int
Identifies the audio contentstatic final AudioAttributes
Instance ofAudioAttributes
that represents disabled Audio Focus management.static final AudioAttributes
Instance ofAudioAttributes
that enables Audio Focus management.static final int
Force asynchronous buffer mode, only valid for API higher or equal to 23static final int
Asynchronous buffer mode for API higher or equal to 31, otherwise synchronousstatic final int
Force synchronous buffer modestatic final UUID
UUID for the W3C Common PSSH box.static final int
DASH contentstatic final int
static final int
HLS contentstatic final int
static final int
IPTV contentstatic final int
MP4 contentstatic final int
SmoothStreaming contentstatic final int
An unknown content typestatic final AdSchedule
The default AdSchedulestatic final AudioAttributes
The default AudioAttributesstatic BufferConfiguration
The default buffer configurationstatic final LiveConfiguration
The default live configurationstatic final int
For live streams, the default live edge latency in milliseconds.static final NetworkConfiguration
The default network configuration used by the player for both manifests and segmentsstatic final TrickplayConfiguration
The default trickplay configurationstatic final boolean
The default state for trickplay playbackstatic final int
Indicate a disabled trackstatic final int
Auto detect if the dummy surface can be used on the current devicestatic final int
Disable usage of the dummy surfacestatic final int
Enable usage of the dummy surfacestatic final int
Query the codec for its capabilities to be reconfigured dynamically when the video resolution changes.static final int
Enforce dynamic reconfigurations of the codec when the video resolution changesstatic final int
Enforce dynamic reconfigurations of the codec when the video resolution changesstatic final int
Represents the reason for filtering out the track duringPlayerModel
creation: bitrate is out of specified bounds.static final int
Represents the reason for filtering out the track duringPlayerModel
creation: the track is marked as blacklisted e.g.static final int
Represents the reason for filtering out the track duringPlayerModel
creation: custom logic was applied through aTrackFilter
.static final int
Represents the reason for filtering out the track duringPlayerModel
creation: the track resolution exceed the max pixels set e.g.static final int
Represents the reason for filtering out the track duringPlayerModel
creation: framerate is out of specified bounds.static final int
Represents the reason for filtering out the track duringPlayerModel
creation: HD playback is currently disabled.static final int
Represents the reason for filtering out the track duringPlayerModel
creation: height is out of specified bounds.static final int
Represents the reason for filtering out the track duringPlayerModel
creation: there is no codec support for the trackstatic final int
Represents the reason for filtering out the track duringPlayerModel
creation: pixels i.e.static final int
Represents the reason for filtering out the track duringPlayerModel
creation: width is out of specified bounds.static final String
Provide an instance ofAbrConfiguration
when opening playback.static final String
Use this key to inform an instance ofAudioAttributes
in an intent.static final String
Use this key to storeAdRequest
in an intent.static final String
Use this key to store anboolean
to configurePlayerConfig.allowHlsChunklessPreparation
static final String
Use this key to store an instance ofAnalyticsMetaData
in an intent.static final String
Use this key to create and start analytics session uponPlayerController.play()
orPlayerController.open(Bundle)
.static final String
Use this key to inform an instance ofAudioAttributes
in an intent.static final String
Use this key to store anboolean
to configurePlayerConfig.audioDecoderFallback
static final String
Use this as a bundle key and set an int value that indicates the audio track group that should be used.static final String
Use this as a bundle key and set an int value that indicates the audio track that should be used.static final String
Use this as a bundle key and set an float value that indicates the audio track volume.static final String
Use this key to store aBufferConfiguration
that will be used by the playerstatic final String
Use this as a bundle key and set aCasConfiguration
as a value.static final String
Use this key to store aboolean
and enable clipping periods to their duration (DASH-only)static final String
Use this key to specify a media time to end playback prematurely.static final String
Use this key to specify a media time from which playback should start.static final String
Use this key to specify aBundle
containing key-value String pairs to add as header parameters for manifest requests.static final String
Use this key to specify aBundle
containing key-value String pairs to add as query parameters for manifest requests.static final String
Use this as a bundle key and set an int value which has to be one ofCONTENT_TYPE_DASH
,CONTENT_TYPE_HLS
,CONTENT_TYPE_SMOOTHSTREAMING
,CONTENT_TYPE_MP4
, orCONTENT_TYPE_UNKNOWN
to indicate the stream formatstatic final String
Use this as a bundle key to indicate the download folderstatic final String
Use this as a bundle key to indicate the download IDstatic final String
Use this as a bundle key and set aDrmConfiguration
as a value.static final String
Use this key to enable or disable automatic setting of a speed to 1x when playing ads.static final String
Use this key to specify whether the internal handling of DASH event callbacks should be enabled or notstatic final String
Use this key to store anboolean
and enable playback loopingstatic final String
Use this key to store anboolean
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
Use this key to store aboolean
and prefer DRM init data in segments over the manifest's data (DASH-only).static final String
Use this key to store anint
that will be used to configure the HD content filter.static final String
Deprecated.static final String
Use this key to specify the Live Configuration.static final String
Use this key to store anboolean
and enable merging of video tracks (e.g.static final String
Use this key to specify theNetworkConfiguration
used by the playerstatic final String
Use this key to enable or disable automatic playback pausing when HDMI is disconnected.static final String
Use this as a bundle key with a long value to specify the playback start position in microseconds.static final String
If set to true, will instruct ExoPlayer to drop startup buffers to start closer to the live edge.static final String
Use this key to specify a preferred audio language using a two letter language code.static final String
Use this key to specify a preferred text language using a two letter language code.static final String
Use this key to store anboolean
to set to true and thePlayerView
is used, the playback surface be kept on screen and preserved when the player player is released.static final String
Use this key to store anboolean
that indicates if the decoder should push a black screen to the surface when disposed.static final String
Deprecated.UseINTENT_SEGMENT_QUERY_PARAMETERS
orINTENT_CONTENT_QUERY_PARAMETERS
, or use the newPlayerConfig
class.static final String
Use this key to enable or disable automatic restoring of a speed after playing ads.static final String
Use this key to store anint
that will be used as the secondary display configuration for a player controllerstatic final String
Use this key to specify aBundle
containing key-value String pairs to add as header parameters for segment requests.static final String
Use this key to specify aBundle
containing key-value String pairs to add as query parameters for segment requests.static final String
Use this key to store anArrayList
ofSideloadedTrack
static final String
Use this as a bundle key and set a boolean value to indicate that playback should start automaticallystatic final String
Deprecated.UseINTENT_SIDELOADED_TRACKS_ARRAYLIST
, or use the newPlayerConfig
class.static final String
Deprecated.UseINTENT_SIDELOADED_TRACKS_ARRAYLIST
, or use the newPlayerConfig
class.static final String
Deprecated.UseINTENT_SIDELOADED_TRACKS_ARRAYLIST
, or use the newPlayerConfig
class.static final String
Deprecated.UseINTENT_SIDELOADED_TRACKS_ARRAYLIST
, or use the newPlayerConfig
class.static final String
Defines whether the subtitle times are absolute or relative.static final String
Use this as a bundle key and set an int value that indicates the subtitle track group that should be used.static final String
Use this as a bundle key and set an int value that indicates the subtitle track that should be used.static final String
Deprecated.UseINTENT_SIDELOADED_TRACKS_ARRAYLIST
, or use the newPlayerConfig
class.static final String
Deprecated.in favour ofINTENT_SIDELOADED_TRACKS_ARRAYLIST
andSideloadedTrack.ThumbnailBuilder
.static final String
(optional) Use this as a bundle key to indicate a title for the currently played contentstatic final String
Use this key to specify the initialTrickplayConfiguration
used by the playerstatic final String
Use this key to specify whether theTrickplay
mode should be enabled or not.static final String
Use this key to store aBoolean
and enable tunneling.static final String
Use this key to store aBoolean
and force tunneling usage with audio track being disabledstatic final String
Use this key to store anboolean
to configurePlayerConfig.unsecureDecoderFallback
static final String
Use this as a bundle key to indicate the playback URLstatic final String
Use this key to store anboolean
and use ETH0 for network multicaststatic final String
If set to true, will use Exoplayer'sStandaloneMediaClock
instead of the Renderer Clock.static final String
Use this key to specify the User ID.static final String
Use this key to store anint
that will be used to configure the video codec filtering.static final String
Use this key to store anboolean
to configurePlayerConfig.videoDecoderFallback
static final String
Use this key to store aVideoFilterConfiguration
that will be used to configure the video tracks filtering.static final String
Deprecated.static final String
Use this as a bundle key and set an int value that indicates the video track group that should be used.static final String
Use this key to store ViisightData in an intent.static final int
Represents an unbounded length of data.static final int
Indicates that live edge latency has not been informedstatic final long
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 for CEA608static final String
Mime type for DVB subtitlesstatic final String
Mime type for DVB Teletextstatic final String
Mime type for Dash embedded thumbnailsstatic final String
Mime type for MP4 embedded VTTstatic final String
Mime type for SRTstatic final String
Mime type for TTMLstatic final String
Mime type for VTTstatic final int
Identifies the other content, i.e.static final String
Player namestatic final String
Represents the player type.static final UUID
UUID for the PlayReady DRM scheme.static final int
Indicates the SDK should try to select the preferred track, i.e.static final String
UTC Timing element representing an NTP requeststatic final int
Always allow display on a secondary (i.e.static final int
Allow display on a secondary (i.e.static final int
Allow display on a secondary (i.e.static final int
Never allow display on a secondary (i.e.static final int
Player mode parameter for seeking to the closest sync point.static final int
Player mode parameter for exact seeking.static final int
Player mode parameter for seeking to the sync point immediately after a requested seek position.static final int
Player mode parameter for seeking to the sync point immediately before a requested seek position.static final int
Selection reason that indicates download abortstatic final int
static final int
Use this value for absolute subtitle time.static final int
Use this value for relative subtitle time.static final int
Identifies the subtitle or text contentstatic final int
static final int
Track type defining thumbnails trackstatic final String
The customer ID that is used when no customer id could be found or the SDK was not yet initializedstatic final int
Represents an unknown millisecond time or duration.static final long
Represents an unknown microsecond time or duration.static final int
Identifies the video contentstatic final int
Use this as a key toINTENT_VIDEO_CODEC_FILTER
to instruct the player to use video codec capabilities when filtering out unsupported video qualities.static final int
Use this as a key toINTENT_VIDEO_CODEC_FILTER
to instruct the player not to use video codec capabilities when filtering out unsupported video qualities.static final VideoFilterConfiguration
Use this as a value forINTENT_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
Use this as a value toINTENT_VIDEO_FILTER
to instruct the player not to use any of the pixel count filtering i.e.static final int
Indicates ABR based video quality selection.static final int
Pass this toAbrConfiguration.Builder.initialTrackSelection(int, boolean)
to select the video quality with the highest available resolutionstatic final int
Pass this toAbrConfiguration.Builder.initialTrackSelection(int, boolean)
to select the video quality with the lowest available resolutionstatic final int
Indicates manual video quality selection.static final Point
Deprecated.UseVIDEO_FILTER_AUTO
insteadstatic final Point
Deprecated.static final UUID
UUID for the Widevine DRM scheme.static final UUID
UUID for the WisePlay DRM scheme. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic 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 stringstatic String
filterReasonToString
(int reason) static String
mediaTypeToString
(int mediaType) Utility method that translates a media type to a stringstatic String
selectionReasonToString
(int reason) Utility method that translates a chunk load selection reason to a string.
-
Field Details
-
CONTENT_TYPE_UNKNOWN
public static final int CONTENT_TYPE_UNKNOWNAn unknown content type- See Also:
-
CONTENT_TYPE_DASH
public static final int CONTENT_TYPE_DASHDASH content- See Also:
-
CONTENT_TYPE_HLS
public static final int CONTENT_TYPE_HLSHLS content- See Also:
-
CONTENT_TYPE_SMOOTHSTREAMING
public static final int CONTENT_TYPE_SMOOTHSTREAMINGSmoothStreaming content- See Also:
-
CONTENT_TYPE_MP4
public static final int CONTENT_TYPE_MP4MP4 content- See Also:
-
CONTENT_TYPE_IPTV
public static final int CONTENT_TYPE_IPTVIPTV content- See Also:
-
CONTENT_TYPE_HYBRID_AD
public static final int CONTENT_TYPE_HYBRID_AD- See Also:
-
CONTENT_TYPE_GSTREAMER
public static final int CONTENT_TYPE_GSTREAMER- See Also:
-
INTENT_URL
Use this as a bundle key to indicate the playback URL- See Also:
-
INTENT_TITLE
(optional) Use this as a bundle key to indicate a title for the currently played content- See Also:
-
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 anInitialPositionProvider
, 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
Use this as a bundle key and set a boolean value to indicate that playback should start automatically- See Also:
-
INTENT_DRM_CONFIGURATION
Use this as a bundle key and set aDrmConfiguration
as a value.- See Also:
-
INTENT_CAS_CONFIGURATION
Use this as a bundle key and set aCasConfiguration
as a value.- See Also:
-
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 isPREFFERED_TRACK
. A value ofDISABLED_TRACK
will disable Audio.- See Also:
-
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
Use this as a bundle key and set an int value that indicates the video track group that should be used. Default isPREFFERED_TRACK
. A value ofDISABLED_TRACK
will disable Video.- See Also:
-
INTENT_MERGE_VIDEO_TRACKS
Use this key to store anboolean
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 thePlayerController.getVideoTracks()
will return one (or multiple) video tracks with merged qualities. The default isPlayerSDK.MERGE_VIDEO_TRACKS
- See Also:
-
INTENT_ENABLE_WORKAROUND_EVERY_VIDEO_FRAME_IS_SYNC_FRAME
Use this key to store anboolean
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 isPlayerSDK.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
Use this key to store aboolean
and enable clipping periods to their duration (DASH-only) The default isPlayerSDK.CLIP_PERIODS
- See Also:
-
INTENT_FORCE_IN_STREAM_DRM_INIT_DATA
Use this key to store aboolean
and prefer DRM init data in segments over the manifest's data (DASH-only). The default isPlayerSDK.FORCE_IN_STREAM_DRM_INIT_DATA
- See Also:
-
INTENT_PRESERVE_PLAYER_VIEW_SURFACE
Use this key to store anboolean
to set to true and thePlayerView
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
Use this key to store anboolean
that indicates if the decoder should push a black screen to the surface when disposed. This is only relevant if you useINTENT_PRESERVE_PLAYER_VIEW_SURFACE
.- See Also:
-
INTENT_USE_STANDALONE_MEDIA_CLOCK
If set to true, will use Exoplayer'sStandaloneMediaClock
instead of the Renderer Clock. There's a known issue when usingSingleControllerPlaylist
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_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:
-
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 ofDISABLED_TRACK
will disable subtitles (default) and a value ofPREFFERED_TRACK
will try to enable the default subtitle track group based on the language passed withINTENT_PREFERRED_TEXT_LANGUAGE
.- See Also:
-
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 ofDISABLED_TRACK
will disable subtitles (default) and a value ofPREFFERED_TRACK
will try to enable the default subtitle track based on the language passed withINTENT_PREFERRED_TEXT_LANGUAGE
.- See Also:
-
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
Use this as a bundle key and set an int value which has to be one ofCONTENT_TYPE_DASH
,CONTENT_TYPE_HLS
,CONTENT_TYPE_SMOOTHSTREAMING
,CONTENT_TYPE_MP4
, orCONTENT_TYPE_UNKNOWN
to indicate the stream format- See Also:
-
INTENT_ABR_CONFIGURATION
Provide an instance ofAbrConfiguration
when opening playback.- Since:
- 4.1.0
- See Also:
-
INTENT_QUERY_PARAMS_BUNDLE
Deprecated.UseINTENT_SEGMENT_QUERY_PARAMETERS
orINTENT_CONTENT_QUERY_PARAMETERS
, or use the newPlayerConfig
class.Use this a a bundle key to point to anotherBundle
whose key/value pairs will be added as query parameters to theDataSourceFactory
before any connections are created.- See Also:
-
INTENT_HEADER_PARAMS_BUNDLE
Deprecated.Use this a a bundle key to point to anotherBundle
whose key/value pairs will be added as header parameters to theDataSourceFactory
before any connections are created.- See Also:
-
INTENT_SUBTITLE_URL
Deprecated.UseINTENT_SIDELOADED_TRACKS_ARRAYLIST
, or use the newPlayerConfig
class.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.UseINTENT_SIDELOADED_TRACKS_ARRAYLIST
, or use the newPlayerConfig
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 ofMIME_TYPE_TTML
,MIME_TYPE_VTT
,MIME_TYPE_SRT
orMIME_TYPE_CEA608
.- See Also:
-
INTENT_SUBTITLE_LANGUAGE
Deprecated.UseINTENT_SIDELOADED_TRACKS_ARRAYLIST
, or use the newPlayerConfig
class.Use this key to store a String to a subtitle language encoded as a two letter language code.- See Also:
-
INTENT_SUBTITLE_NAME
Deprecated.UseINTENT_SIDELOADED_TRACKS_ARRAYLIST
, or use the newPlayerConfig
class.Use this key to store a String to a subtitle track name.- See Also:
-
INTENT_SUBTITLE_BUNDLE_ARRAYLIST
Deprecated.UseINTENT_SIDELOADED_TRACKS_ARRAYLIST
, or use the newPlayerConfig
class.Use this bundle key to store anArrayList
ofBundle
instances that specify side loaded subtitle tracks. Use:
to add the list of bundles with the subtitle track information. A full example of this looks like:intent.putParcelableArrayListExtra(SdkConsts.INTENT_SUBTITLE_BUNDLE_ARRAYLIST, ...);
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
Defines whether the subtitle times are absolute or relative. Could be one ofSUBTITLE_SUB_SAMPLE_TYPE_ABSOLUTE
orSUBTITLE_SUB_SAMPLE_TYPE_RELATIVE
- See Also:
-
SUBTITLE_SUB_SAMPLE_TYPE_ABSOLUTE
public static final int SUBTITLE_SUB_SAMPLE_TYPE_ABSOLUTEUse this value for absolute subtitle time.- See Also:
-
SUBTITLE_SUB_SAMPLE_TYPE_RELATIVE
public static final int SUBTITLE_SUB_SAMPLE_TYPE_RELATIVEUse this value for relative subtitle time.- See Also:
-
INTENT_SECONDARY_DISPLAY
Use this key to store anint
that will be used as the secondary display configuration for a player controller- See Also:
-
INTENT_HD_CONTENT_FILTER
Use this key to store anint
that will be used to configure the HD content filter. This value is a bit field constructed from the values ofALLOW_HD_CLEAR_CONTENT
,ALLOW_HD_DRM_SECURE_MEDIA_PATH
,ALLOW_HD_DRM_ROOT_OF_TRUST
,ALLOW_HD_NEVER
, andALLOW_HD_DRM_SOFTWARE
.- See Also:
-
INTENT_VIDEO_CODEC_FILTER
Use this key to store anint
that will be used to configure the video codec filtering. This value should be one ofVIDEO_CODEC_FILTER_NONE
orVIDEO_CODEC_FILTER_CAPS
The default one isPlayerSDK.VIDEO_CODEC_FILTER
- See Also:
-
INTENT_VIDEO_SIZE_FILTER
Deprecated.Use this key to store anPoint
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
orVIDEO_SIZE_FILTER_AUTO
. The default one isPlayerSDK.VIDEO_SIZE_FILTER
Note When setting the value to other thanVIDEO_SIZE_FILTER_AUTO
it is strongly recommended to set theINTENT_VIDEO_CODEC_FILTER
toVIDEO_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
Use this key to store aVideoFilterConfiguration
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
orVIDEO_SIZE_FILTER_AUTO
. The default one isPlayerSDK.VIDEO_FILTER
Note When setting the value to other thanVIDEO_SIZE_FILTER_AUTO
it is strongly recommended to set theINTENT_VIDEO_CODEC_FILTER
toVIDEO_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
Use this key to store anboolean
and enable playback looping- See Also:
-
INTENT_DOWNLOAD_ID
Use this as a bundle key to indicate the download ID- See Also:
-
INTENT_DOWNLOAD_FOLDER
Use this as a bundle key to indicate the download folder- See Also:
-
INTENT_ANALYTICS_DATA
Use this key to store an instance ofAnalyticsMetaData
in an intent.- See Also:
-
INTENT_AUDIO_ATTRIBUTES
Use this key to inform an instance ofAudioAttributes
in an intent.- See Also:
-
INTENT_AD_SCHEDULE
Use this key to inform an instance ofAudioAttributes
in an intent.- See Also:
-
INTENT_ANALYTICS_SESSION_TYPE
Use this key to create and start analytics session uponPlayerController.play()
orPlayerController.open(Bundle)
. The corresponding value should be one ofANALYTICS_SESSION_TYPE_OPEN
,ANALYTICS_SESSION_TYPE_PLAY
. Default isANALYTICS_SESSION_TYPE_OPEN
.- See Also:
-
INTENT_VIISIGHTS_DATA
Use this key to store ViisightData in an intent.- See Also:
-
INTENT_ADVERTS_DATA
Use this key to storeAdRequest
in an intent.- See Also:
-
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
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
Use this key to store aBufferConfiguration
that will be used by the player- See Also:
-
INTENT_TUNNELING_ENABLED
Use this key to store aBoolean
and enable tunneling.- See Also:
-
INTENT_TUNNELING_WITHOUT_AUDIO_ENABLED
Use this key to store aBoolean
and force tunneling usage with audio track being disabled- See Also:
-
INTENT_USER_ID
Use this key to specify the User ID.- See Also:
-
INTENT_LIVE_CONFIGURATION
Use this key to specify the Live Configuration.- See Also:
-
INTENT_NETWORK_CONFIGURATION
Use this key to specify theNetworkConfiguration
used by the player- See Also:
-
INTENT_TRICKPLAY_CONFIGURATION
Use this key to specify the initialTrickplayConfiguration
used by the player- See Also:
-
INTENT_TRICKPLAY_ENABLED
Use this key to specify whether theTrickplay
mode should be enabled or not.- See Also:
-
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
Use this key to store anArrayList
ofSideloadedTrack
These tracks can be either subtitles or thumbnails.
- See Also:
-
INTENT_CONTENT_PARAMETERS
Use this key to specify aBundle
containing key-value String pairs to add as header parameters for manifest requests.- See Also:
-
INTENT_CONTENT_QUERY_PARAMETERS
Use this key to specify aBundle
containing key-value String pairs to add as query parameters for manifest requests.- See Also:
-
INTENT_SEGMENT_PARAMETERS
Use this key to specify aBundle
containing key-value String pairs to add as header parameters for segment requests.- See Also:
-
INTENT_SEGMENT_QUERY_PARAMETERS
Use this key to specify aBundle
containing key-value String pairs to add as query parameters for segment requests.- See Also:
-
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
Deprecated.in favour ofINTENT_SIDELOADED_TRACKS_ARRAYLIST
andSideloadedTrack.ThumbnailBuilder
.Use this key to storeThumbnailDataTrack
in an intent.- See Also:
-
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
Use this key to enable or disable automatic playback pausing when HDMI is disconnected. Default and global value isPlayerSDK.PAUSE_ON_HDMI_DISCONNECTED
Only for API higher or equal to 21- See Also:
-
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 isPlayerSDK.ENABLE_AD_SPEED_UP
- See Also:
-
INTENT_RESTORE_SPEED
Use this key to enable or disable automatic restoring of a speed after playing ads. Default and global value isPlayerSDK.RESTORE_SPEED
- See Also:
-
INTENT_USE_ETH0
Use this key to store anboolean
and use ETH0 for network multicast- See Also:
-
INTENT_VIDEO_DECODER_FALLBACK
Use this key to store anboolean
to configurePlayerConfig.videoDecoderFallback
- See Also:
-
INTENT_AUDIO_DECODER_FALLBACK
Use this key to store anboolean
to configurePlayerConfig.audioDecoderFallback
- See Also:
-
INTENT_UNSECURE_DECODER_FALLBACK
Use this key to store anboolean
to configurePlayerConfig.unsecureDecoderFallback
- See Also:
-
INTENT_ALLOW_HLS_CHUNKLESS_PREPARATION
Use this key to store anboolean
to configurePlayerConfig.allowHlsChunklessPreparation
- See Also:
-
FILTER_REASON_BLACKLISTED
public static final int FILTER_REASON_BLACKLISTEDRepresents the reason for filtering out the track duringPlayerModel
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_PERMITTEDRepresents the reason for filtering out the track duringPlayerModel
creation: HD playback is currently disabled.- See Also:
-
FILTER_REASON_EXCEED_MAX_PIXELS
public static final int FILTER_REASON_EXCEED_MAX_PIXELSRepresents the reason for filtering out the track duringPlayerModel
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_CODECRepresents the reason for filtering out the track duringPlayerModel
creation: there is no codec support for the track- See Also:
-
FILTER_REASON_FRAMERATE
public static final int FILTER_REASON_FRAMERATERepresents the reason for filtering out the track duringPlayerModel
creation: framerate is out of specified bounds.- See Also:
-
FILTER_REASON_BITRATE
public static final int FILTER_REASON_BITRATERepresents the reason for filtering out the track duringPlayerModel
creation: bitrate is out of specified bounds.- See Also:
-
FILTER_REASON_WIDTH
public static final int FILTER_REASON_WIDTHRepresents the reason for filtering out the track duringPlayerModel
creation: width is out of specified bounds.- See Also:
-
FILTER_REASON_HEIGHT
public static final int FILTER_REASON_HEIGHTRepresents the reason for filtering out the track duringPlayerModel
creation: height is out of specified bounds.- See Also:
-
FILTER_REASON_PIXELS
public static final int FILTER_REASON_PIXELSRepresents the reason for filtering out the track duringPlayerModel
creation: pixels i.e. width x height is out of specified bounds.- See Also:
-
FILTER_REASON_CUSTOM
public static final int FILTER_REASON_CUSTOMRepresents the reason for filtering out the track duringPlayerModel
creation: custom logic was applied through aTrackFilter
.- See Also:
-
VIDEO_QUALITY_ADAPTIVE
public static final int VIDEO_QUALITY_ADAPTIVEIndicates ABR based video quality selection.- See Also:
-
LIVE_EDGE_LATENCY_MS_UNINFORMED
public static final int LIVE_EDGE_LATENCY_MS_UNINFORMEDIndicates that live edge latency has not been informed- See Also:
-
VIDEO_QUALITY_MANUAL
public static final int VIDEO_QUALITY_MANUALIndicates manual video quality selection.Returned from
PlayerController.getVideoQualityMode()
if manual selection is enabled- See Also:
-
VIDEO_QUALITY_HIGHEST
public static final int VIDEO_QUALITY_HIGHESTPass this toAbrConfiguration.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_LOWESTPass this toAbrConfiguration.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_NONEUse this as a key toINTENT_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_CAPSUse this as a key toINTENT_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_SYNCForce synchronous buffer mode- See Also:
-
CODEC_BUFFER_MODE_ASYNC
public static final int CODEC_BUFFER_MODE_ASYNCForce 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_AUTOAsynchronous buffer mode for API higher or equal to 31, otherwise synchronous- See Also:
-
VIDEO_SIZE_FILTER_AUTO
Deprecated.UseVIDEO_FILTER_AUTO
insteadUse this as a key toINTENT_VIDEO_SIZE_FILTER
to instruct the player to use device screen resolution for pixel count filtering i.e. all the video tracks havingw x h
larger than the device screen resolution will be filtered out. -
VIDEO_FILTER_AUTO
Use this as a value forINTENT_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
Deprecated.Use this as a key toINTENT_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
Use this as a value toINTENT_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_OPENUse this as a key toINTENT_ANALYTICS_SESSION_TYPE
to instruct the player to create and start analytics session uponPlayerController.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 totrue
.- See Also:
-
ANALYTICS_SESSION_TYPE_PLAY
public static final int ANALYTICS_SESSION_TYPE_PLAYUse this as a key toINTENT_ANALYTICS_SESSION_TYPE
when playback does not start automatically, i.e.INTENT_START_PLAYING
is set tofalse
and the user has to actively trigger playback start.- See Also:
-
SECONDARY_DISPLAY_NEVER
public static final int SECONDARY_DISPLAY_NEVERNever 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_CONTENTAllow 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_DISPLAYAllow display on a secondary (i.e. mirrored or HDMI) display of protected content if the display reports that its secure and supports protected buffers. SeeDisplay.FLAG_SECURE
andDisplay.FLAG_SUPPORTS_PROTECTED_BUFFERS
.- See Also:
-
SECONDARY_DISPLAY_ALLOW_ALWAYS
public static final int SECONDARY_DISPLAY_ALLOW_ALWAYSAlways allow display on a secondary (i.e. mirrored or HDMI)- See Also:
-
UNKNOWN_TIME_US
public static final long UNKNOWN_TIME_USRepresents an unknown microsecond time or duration.- See Also:
-
UNKNOWN_TIME_MS
public static final int UNKNOWN_TIME_MSRepresents an unknown millisecond time or duration.- See Also:
-
MATCH_LONGEST_US
public static final long MATCH_LONGEST_USRepresents a microsecond duration whose exact value is unknown, but which should match the longest of some other known durations.- See Also:
-
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
Represents the player type.- See Also:
-
PLAYER_NAME
Player name- See Also:
-
LENGTH_UNBOUNDED
public static final int LENGTH_UNBOUNDEDRepresents an unbounded length of data.- See Also:
-
MIME_TYPE_TTML
Mime type for TTML- See Also:
-
MIME_TYPE_VTT
Mime type for VTT- See Also:
-
MIME_TYPE_MP4_VTT
Mime type for MP4 embedded VTT- See Also:
-
MIME_TYPE_SRT
Mime type for SRT- See Also:
-
MIME_TYPE_CEA608
Mime type for CEA608- See Also:
-
MIME_TYPE_DVBSUBS
Mime type for DVB subtitles- See Also:
-
MIME_TYPE_DVBTTX
Mime type for DVB Teletext- See Also:
-
MIME_TYPE_JPEG
Mime type for Dash embedded thumbnails- See Also:
-
ALLOW_HD_CLEAR_CONTENT
public static final int ALLOW_HD_CLEAR_CONTENTAllow HD content for unencrypted clear content- See Also:
-
ALLOW_HD_DRM_SECURE_MEDIA_PATH
public static final int ALLOW_HD_DRM_SECURE_MEDIA_PATHIndicates 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_TRUSTIndicates 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_SOFTWAREIndicates that HD playback of DRM protected content is allowed on all DRM systems.- See Also:
-
ALLOW_HD_NEVER
public static final int ALLOW_HD_NEVERNever allow HD content playback and always filter HD representations- See Also:
-
WIDEVINE_UUID
UUID for the Widevine DRM scheme. -
WISEPLAY_UUID
UUID for the WisePlay DRM scheme. -
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
UUID for the W3C Common PSSH box. -
DISABLED_TRACK
public static final int DISABLED_TRACKIndicate a disabled track- See Also:
-
PREFFERED_TRACK
public static final int PREFFERED_TRACKIndicates 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_AUTOQuery 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_ENABLEDEnforce dynamic reconfigurations of the codec when the video resolution changes- See Also:
-
FAST_BITRATE_SWITCHING_DISABLED
public static final int FAST_BITRATE_SWITCHING_DISABLEDEnforce dynamic reconfigurations of the codec when the video resolution changes- See Also:
-
DUMMY_SURFACE_AUTO
public static final int DUMMY_SURFACE_AUTOAuto detect if the dummy surface can be used on the current device- See Also:
-
DUMMY_SURFACE_ENABLED
public static final int DUMMY_SURFACE_ENABLEDEnable usage of the dummy surface- See Also:
-
DUMMY_SURFACE_DISABLED
public static final int DUMMY_SURFACE_DISABLEDDisable usage of the dummy surface- See Also:
-
VIDEO
public static final int VIDEOIdentifies the video content- See Also:
-
AUDIO
public static final int AUDIOIdentifies the audio content- See Also:
-
TEXT
public static final int TEXTIdentifies the subtitle or text content- See Also:
-
OTHER
public static final int OTHERIdentifies the other content, i.e. Manifests- See Also:
-
THUMBNAIL
public static final int THUMBNAIL- See Also:
-
SEEK_EXACT
public static final int SEEK_EXACTPlayer mode parameter for exact seeking.- See Also:
-
SEEK_PREVIOUS_SYNC
public static final int SEEK_PREVIOUS_SYNCPlayer mode parameter for seeking to the sync point immediately before a requested seek position.- See Also:
-
SEEK_NEXT_SYNC
public static final int SEEK_NEXT_SYNCPlayer mode parameter for seeking to the sync point immediately after a requested seek position.- See Also:
-
SEEK_CLOSEST_SYNC
public static final int SEEK_CLOSEST_SYNCPlayer mode parameter for seeking to the closest sync point.- See Also:
-
AD_POSITION_PREROLL
public static final int AD_POSITION_PREROLLMarker that indicates that an ad is played before the content- See Also:
-
AD_POSITION_MIDROLL
public static final int AD_POSITION_MIDROLLMarker that indicates that an ad is played during content playback- See Also:
-
AD_POSITION_POSTROLL
public static final int AD_POSITION_POSTROLLMarker that indicates that an ad is played after the content- See Also:
-
AD_EMBEDDED
public static final int AD_EMBEDDEDMarker 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_SEPARATEMarker 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_MSFor live streams, the default live edge latency in milliseconds.- See Also:
-
DEFAULT_BUFFER_CONFIGURATION
The default buffer configuration -
DEFAULT_LIVE_CONFIGURATION
The default live configuration -
DEFAULT_PLAYER_NETWORK_CONFIGURATION
The default network configuration used by the player for both manifests and segments -
DEFAULT_PLAYER_TRICKPLAY_CONFIGURATION
The default trickplay configuration -
DEFAULT_TRICKPLAY_ENABLED
public static final boolean DEFAULT_TRICKPLAY_ENABLEDThe default state for trickplay playback- See Also:
-
AUDIO_ATTRIBUTES_FOCUS_ENABLED
Instance ofAudioAttributes
that enables Audio Focus management. -
AUDIO_ATTRIBUTES_FOCUS_DISABLED
Instance ofAudioAttributes
that represents disabled Audio Focus management. -
DEFAULT_AUDIO_ATTRIBUTES
The default AudioAttributes -
AD_SCHEDULE_MANUAL
An instance ofAdSchedule
which represents manual scheduling. Use if you want to be able to schedule ads during playback. -
DEFAULT_AD_SCHEDULE
The default AdSchedule -
SCHEME_ID_UTC_TIMING_ELEMENT_NTP
UTC Timing element representing an NTP request- See Also:
-
SELECTION_REASON_ABORT
public static final int SELECTION_REASON_ABORTSelection reason that indicates download abort- See Also:
-
SELECTION_REASON_FRAME_DROP_EXCEED
public static final int SELECTION_REASON_FRAME_DROP_EXCEED- See Also:
-
TRACK_TYPE_THUMBNAIL
public static final int TRACK_TYPE_THUMBNAILTrack 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
Utility method that translates a chunk load selection reason to a string. The supported reasons areC.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
-
mediaTypeToString
Utility method that translates a media type to a string- Parameters:
mediaType
- the media type- Returns:
- the media type as a string representation
-
contentTypeToMimeType
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
-
INTENT_CONTENT_PARAMETERS
orINTENT_SEGMENT_PARAMETERS
, or use the newPlayerConfig
class.