Package com.castlabs.android
Class SdkConsts
java.lang.Object
com.castlabs.android.SdkConsts
Contains constants used by the Player SDK.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic @interfaceAnnotation for ad position constantsstatic @interfaceAnnotation for ad type constantsstatic @interfaceAnnotation for analytics session type constantsstatic @interfaceAnnotation for codec buffer mode constantsstatic @interfaceAnnotation for content type constantsstatic @interfaceAnnotation for data type constantsstatic @interfaceAnnotation for dummy surface mode constantsstatic @interfaceAnnotation for fast bitrate switching mode constantsstatic @interfaceAnnotation for filter reason constantsstatic @interfaceAnnotation for media type constantsstatic @interfaceAnnotation for seek mode constantsstatic @interfaceAnnotation for selection reason constantsstatic @interfaceAnnotation for subtitle sub sample type constantsstatic @interfaceAnnotation for video codec filter constants -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intMarker indicating that an ad is played using the current player or is embedded within the content i.e.static final intMarker that indicates that an ad is played during content playbackstatic final intMarker that indicates that an ad is played after the contentstatic final intMarker that indicates that an ad is played before the contentstatic final AdScheduleAn instance ofAdSchedulewhich represents manual scheduling.static final intMarker indicating that an ad is played using a separate player or is external to the current content i.e.static final intAllow HD content for unencrypted clear contentstatic final intIndicates 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 intIndicates that HD playback of DRM protected content is allowed only if both the DRM and the device support a secure media path.static final intIndicates that HD playback of DRM protected content is allowed on all DRM systems.static final intNever allow HD content playback and always filter HD representationsstatic final intUse this as a key toINTENT_ANALYTICS_SESSION_TYPEto instruct the player to create and start analytics session uponPlayerController.open(Bundle).static final intUse this as a key toINTENT_ANALYTICS_SESSION_TYPEwhen playback does not start automatically, i.e.static final intIdentifies the audio contentstatic final AudioAttributesInstance ofAudioAttributesthat represents disabled Audio Focus management.static final AudioAttributesInstance ofAudioAttributesthat enables Audio Focus management.static final intForce asynchronous buffer mode, only valid for API higher or equal to 23static final intAsynchronous buffer mode for API higher or equal to 31, otherwise synchronousstatic final intForce synchronous buffer modestatic final UUIDUUID for the W3C Common PSSH box.static final intDASH contentstatic final intGStreamer contentstatic final intHLS contentstatic final intHybrid Ad contentstatic final intIPTV contentstatic final intMP4 contentstatic final intSmoothStreaming contentstatic final intAn unknown content typestatic final AdScheduleThe default AdSchedulestatic final AudioAttributesThe default AudioAttributesstatic BufferConfigurationThe default buffer configurationstatic final LiveConfigurationThe default live configurationstatic final intFor live streams, the default live edge latency in milliseconds.static final NetworkConfigurationThe default network configuration used by the player for both manifests and segmentsstatic final TrickplayConfigurationThe default trickplay configurationstatic final booleanThe default state for trickplay playbackstatic final intIndicate a disabled trackstatic final intAuto detect if the dummy surface can be used on the current devicestatic final intDisable usage of the dummy surfacestatic final intEnable usage of the dummy surfacestatic final intQuery the codec for its capabilities to be reconfigured dynamically when the video resolution changes.static final intEnforce dynamic reconfigurations of the codec when the video resolution changesstatic final intEnforce dynamic reconfigurations of the codec when the video resolution changesstatic final intRepresents the reason for filtering out the track duringPlayerModelcreation: bitrate is out of specified bounds.static final intRepresents the reason for filtering out the track duringPlayerModelcreation: the track is marked as blacklisted e.g.static final intRepresents the reason for filtering out the track duringPlayerModelcreation: custom logic was applied through aTrackFilter.static final intRepresents the reason for filtering out the track duringPlayerModelcreation: the track resolution exceed the max pixels set e.g.static final intRepresents the reason for filtering out the track duringPlayerModelcreation: framerate is out of specified bounds.static final intRepresents the reason for filtering out the track duringPlayerModelcreation: HD playback is currently disabled.static final intRepresents the reason for filtering out the track duringPlayerModelcreation: height is out of specified bounds.static final intRepresents the reason for filtering out the track duringPlayerModelcreation: there is no codec support for the trackstatic final intRepresents the reason for filtering out the track duringPlayerModelcreation: pixels i.e.static final intRepresents the reason for filtering out the track duringPlayerModelcreation: width is out of specified bounds.static final StringProvide an instance ofAbrConfigurationwhen opening playback.static final StringUse this key to inform an instance ofAudioAttributesin an intent.static final StringUse this key to storeAdRequestin an intent.static final StringUse this key to store anbooleanto configurePlayerConfig.allowHlsChunklessPreparationstatic final StringUse this key to store an instance ofAnalyticsMetaDatain an intent.static final StringUse this key to create and start analytics session uponPlayerController.play()orPlayerController.open(Bundle).static final StringUse this key to inform an instance ofAudioAttributesin an intent.static final StringUse this key to store anbooleanto configurePlayerConfig.audioDecoderFallbackstatic final StringUse this as a bundle key and set an int value that indicates the audio track group that should be used.static final StringUse this as a bundle key and set an int value that indicates the audio track that should be used.static final StringUse this as a bundle key and set an float value that indicates the audio track volume.static final StringUse this key to store aBufferConfigurationthat will be used by the playerstatic final StringUse this as a bundle key and set aCasConfigurationas a value.static final StringUse this key to store abooleanand enable clipping periods to their duration (DASH-only)static final StringUse this key to specify a media time to end playback prematurely.static final StringUse this key to specify a media time from which playback should start.static final StringUse this key to specify aBundlecontaining key-value String pairs to add as header parameters for manifest requests.static final StringUse this key to specify aBundlecontaining key-value String pairs to add as query parameters for manifest requests.static final StringUse 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_UNKNOWNto indicate the stream formatstatic final StringUse this as a bundle key to indicate the download folderstatic final StringUse this as a bundle key to indicate the download IDstatic final StringUse this as a bundle key and set aDrmConfigurationas a value.static final StringUse this key to enable or disable automatic setting of a speed to 1x when playing ads.static final StringUse this key to specify whether the internal handling of DASH event callbacks should be enabled or notstatic final StringUse this key to store anbooleanand enable playback loopingstatic final StringUse this key to store anbooleanand 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 StringUse this key to store abooleanand prefer DRM init data in segments over the manifest's data (DASH-only).static final StringUse this key to store anintthat will be used to configure the HD content filter.static final StringDeprecated.static final StringUse this key to specify the Live Configuration.static final StringUse this key to store anbooleanand enable merging of video tracks (e.g.static final StringUse this key to specify theNetworkConfigurationused by the playerstatic final StringUse this key to enable or disable automatic playback pausing when HDMI is disconnected.static final StringUse this as a bundle key with a long value to specify the playback start position in microseconds.static final StringIf set to true, will instruct ExoPlayer to drop startup buffers to start closer to the live edge.static final StringUse this key to specify a preferred audio language using a two letter language code.static final StringUse this key to specify a preferred text language using a two letter language code.static final StringUse this key to store abooleanand set to true.static final StringUse this key to store anbooleanto set to true and thePlayerViewis used, the playback surface be kept on screen and preserved when the player player is released.static final StringUse this key to store anbooleanthat indicates if the decoder should push a black screen to the surface when disposed.static final StringDeprecated.UseINTENT_SEGMENT_QUERY_PARAMETERSorINTENT_CONTENT_QUERY_PARAMETERS, or use the newPlayerConfigclass.static final StringUse this key to enable or disable automatic restoring of a speed after playing ads.static final StringUse this key to store anintthat will be used as the secondary display configuration for a player controllerstatic final StringUse this key to specify aBundlecontaining key-value String pairs to add as header parameters for segment requests.static final StringUse this key to specify aBundlecontaining key-value String pairs to add as query parameters for segment requests.static final StringUse this key to store anArrayListofSideloadedTrackstatic final StringUse this as a bundle key and set a boolean value to indicate that playback should start automaticallystatic final StringDeprecated.UseINTENT_SIDELOADED_TRACKS_ARRAYLIST, or use the newPlayerConfigclass.static final StringDeprecated.UseINTENT_SIDELOADED_TRACKS_ARRAYLIST, or use the newPlayerConfigclass.static final StringDeprecated.UseINTENT_SIDELOADED_TRACKS_ARRAYLIST, or use the newPlayerConfigclass.static final StringDeprecated.UseINTENT_SIDELOADED_TRACKS_ARRAYLIST, or use the newPlayerConfigclass.static final StringDefines whether the subtitle times are absolute or relative.static final StringUse this as a bundle key and set an int value that indicates the subtitle track group that should be used.static final StringUse this as a bundle key and set an int value that indicates the subtitle track that should be used.static final StringDeprecated.UseINTENT_SIDELOADED_TRACKS_ARRAYLIST, or use the newPlayerConfigclass.static final StringDeprecated.in favour ofINTENT_SIDELOADED_TRACKS_ARRAYLISTandSideloadedTrack.ThumbnailBuilder.static final String(optional) Use this as a bundle key to indicate a title for the currently played contentstatic final StringUse this key to specify the initialTrickplayConfigurationused by the playerstatic final StringUse this key to specify whether theTrickplaymode should be enabled or not.static final StringUse this key to store aBooleanand enable tunneling.static final StringUse this key to store aBooleanand force tunneling usage with audio track being disabledstatic final StringUse this key to store anbooleanto configurePlayerConfig.unsecureDecoderFallbackstatic final StringUse this as a bundle key to indicate the playback URLstatic final StringUse this key to store anbooleanand use ETH0 for network multicaststatic final StringIf set to true, will use Exoplayer'sStandaloneMediaClockinstead of the Renderer Clock.static final StringUse this key to specify the User ID.static final StringUse this key to store anintthat will be used to configure the video codec filtering.static final StringUse this key to store anbooleanto configurePlayerConfig.videoDecoderFallbackstatic final StringUse this key to store aVideoFilterConfigurationthat will be used to configure the video tracks filtering.static final StringDeprecated.static final StringUse this as a bundle key and set an int value that indicates the video track group that should be used.static final StringUse this key to store ViisightData in an intent.static final intRepresents an unbounded length of data.static final intIndicates that live edge latency has not been informedstatic final longRepresents a microsecond duration whose exact value is unknown, but which should match the longest of some other known durations.static final StringMime type for CEA608static final StringMime type for DVB subtitlesstatic final StringMime type for DVB Teletextstatic final StringMime type for Dash embedded thumbnailsstatic final StringMime type for MP4 embedded VTTstatic final StringMime type for SRTstatic final StringMime type for TTMLstatic final StringMime type for VTTstatic final intIdentifies the other content, i.e.static final StringPlayer namestatic final StringRepresents the player type.static final UUIDUUID for the PlayReady DRM scheme.static final intIndicates the SDK should try to select the preferred track, i.e.static final StringUTC Timing element representing an NTP requeststatic final intAlways allow display on a secondary (i.e.static final intAllow display on a secondary (i.e.static final intAllow display on a secondary (i.e.static final intNever allow display on a secondary (i.e.static final intPlayer mode parameter for seeking to the closest sync point.static final intPlayer mode parameter for exact seeking.static final intPlayer mode parameter for seeking to the sync point immediately after a requested seek position.static final intPlayer mode parameter for seeking to the sync point immediately before a requested seek position.static final intSelection reason that indicates download abortstatic final intSelection reason that indicates frame drop threshold exceededstatic final intUse this value for absolute subtitle time.static final intUse this value for relative subtitle time.static final intIdentifies the subtitle or text contentstatic final intIdentifies the thumbnail contentstatic final intTrack type defining thumbnails trackstatic final StringThe customer ID that is used when no customer id could be found or the SDK was not yet initializedstatic final intRepresents an unknown millisecond time or duration.static final longRepresents an unknown microsecond time or duration.static final intIdentifies the video contentstatic final intUse this as a key toINTENT_VIDEO_CODEC_FILTERto instruct the player to use video codec capabilities when filtering out unsupported video qualities.static final intUse this as a key toINTENT_VIDEO_CODEC_FILTERto instruct the player not to use video codec capabilities when filtering out unsupported video qualities.static final VideoFilterConfigurationUse this as a value forINTENT_VIDEO_FILTERto 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 VideoFilterConfigurationUse this as a value toINTENT_VIDEO_FILTERto instruct the player not to use any of the pixel count filtering i.e.static final intIndicates ABR based video quality selection.static final intPass this toAbrConfiguration.Builder.initialTrackSelection(int, boolean)to select the video quality with the highest available resolutionstatic final intPass this toAbrConfiguration.Builder.initialTrackSelection(int, boolean)to select the video quality with the lowest available resolutionstatic final intIndicates manual video quality selection.static final PointDeprecated.UseVIDEO_FILTER_AUTOinsteadstatic final PointDeprecated.static final UUIDUUID for the Widevine DRM scheme.static final UUIDUUID for the WisePlay DRM scheme. -
Method Summary
Modifier and TypeMethodDescriptionstatic voidassertValidContentType(int contentType) Assert that the given content type is valid or throws an IllegalArgumentException.static StringcontentTypeToMimeType(int contentType) Utility method that translates a content type to a MimeType stringstatic StringfilterReasonToString(int reason) Utility method that translates a filter reason to a string representation.static StringmediaTypeToString(int mediaType) Utility method that translates a media type to a stringstatic StringselectionReasonToString(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_ADHybrid Ad content- See Also:
-
CONTENT_TYPE_GSTREAMER
public static final int CONTENT_TYPE_GSTREAMERGStreamer content- 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 aDrmConfigurationas a value.- See Also:
-
INTENT_CAS_CONFIGURATION
Use this as a bundle key and set aCasConfigurationas 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_TRACKwill 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_TRACKwill disable Video.- See Also:
-
INTENT_MERGE_VIDEO_TRACKS
Use this key to store anbooleanand 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 anbooleanand 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_FRAMENote: enable it only when needed, since it degrades the seek performance- See Also:
-
INTENT_CLIP_PERIODS
Use this key to store abooleanand 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 abooleanand 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 anbooleanto set to true and thePlayerViewis 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_PRESERVE_PLAYER_RESOURCES
Use this key to store abooleanand 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 whenINTENT_PRESERVE_PLAYER_VIEW_SURFACEis set.- See Also:
-
INTENT_PUSH_BLACK_SCREEN_ON_DISPOSE
Use this key to store anbooleanthat 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'sStandaloneMediaClockinstead of the Renderer Clock. There's a known issue when usingSingleControllerPlaylistin 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_TRACKwill disable subtitles (default) and a value ofPREFFERED_TRACKwill 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_TRACKwill disable subtitles (default) and a value ofPREFFERED_TRACKwill 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_UNKNOWNto indicate the stream format- See Also:
-
INTENT_ABR_CONFIGURATION
Provide an instance ofAbrConfigurationwhen opening playback.- Since:
- 4.1.0
- See Also:
-
INTENT_QUERY_PARAMS_BUNDLE
Deprecated.UseINTENT_SEGMENT_QUERY_PARAMETERSorINTENT_CONTENT_QUERY_PARAMETERS, or use the newPlayerConfigclass.Use this a a bundle key to point to anotherBundlewhose key/value pairs will be added as query parameters to theDataSourceFactorybefore any connections are created.- See Also:
-
INTENT_HEADER_PARAMS_BUNDLE
Deprecated.Use this a a bundle key to point to anotherBundlewhose key/value pairs will be added as header parameters to theDataSourceFactorybefore any connections are created.- See Also:
-
INTENT_SUBTITLE_URL
Deprecated.UseINTENT_SIDELOADED_TRACKS_ARRAYLIST, or use the newPlayerConfigclass.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 newPlayerConfigclass.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_SRTorMIME_TYPE_CEA608.- See Also:
-
INTENT_SUBTITLE_LANGUAGE
Deprecated.UseINTENT_SIDELOADED_TRACKS_ARRAYLIST, or use the newPlayerConfigclass.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 newPlayerConfigclass.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 newPlayerConfigclass.Use this bundle key to store anArrayListofBundleinstances 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_ABSOLUTEorSUBTITLE_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 anintthat will be used as the secondary display configuration for a player controller- See Also:
-
INTENT_HD_CONTENT_FILTER
Use this key to store anintthat 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 anintthat will be used to configure the video codec filtering. This value should be one ofVIDEO_CODEC_FILTER_NONEorVIDEO_CODEC_FILTER_CAPSThe default one isPlayerSDK.VIDEO_CODEC_FILTER- See Also:
-
INTENT_VIDEO_SIZE_FILTER
Deprecated.Use this key to store anPointthat 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_NONEorVIDEO_SIZE_FILTER_AUTO. The default one isPlayerSDK.VIDEO_SIZE_FILTERNote When setting the value to other thanVIDEO_SIZE_FILTER_AUTOit is strongly recommended to set theINTENT_VIDEO_CODEC_FILTERtoVIDEO_CODEC_FILTER_CAPSotherwise 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 aVideoFilterConfigurationthat 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_NONEorVIDEO_SIZE_FILTER_AUTO. The default one isPlayerSDK.VIDEO_FILTERNote When setting the value to other thanVIDEO_SIZE_FILTER_AUTOit is strongly recommended to set theINTENT_VIDEO_CODEC_FILTERtoVIDEO_CODEC_FILTER_CAPSotherwise 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 anbooleanand 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 ofAnalyticsMetaDatain an intent.- See Also:
-
INTENT_AUDIO_ATTRIBUTES
Use this key to inform an instance ofAudioAttributesin an intent.- See Also:
-
INTENT_AD_SCHEDULE
Use this key to inform an instance ofAudioAttributesin 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 storeAdRequestin 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 aBufferConfigurationthat will be used by the player- See Also:
-
INTENT_TUNNELING_ENABLED
Use this key to store aBooleanand enable tunneling.- See Also:
-
INTENT_TUNNELING_WITHOUT_AUDIO_ENABLED
Use this key to store aBooleanand 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 theNetworkConfigurationused by the player- See Also:
-
INTENT_TRICKPLAY_CONFIGURATION
Use this key to specify the initialTrickplayConfigurationused by the player- See Also:
-
INTENT_TRICKPLAY_ENABLED
Use this key to specify whether theTrickplaymode 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 anArrayListofSideloadedTrackThese tracks can be either subtitles or thumbnails.
- See Also:
-
INTENT_CONTENT_PARAMETERS
Use this key to specify aBundlecontaining key-value String pairs to add as header parameters for manifest requests.- See Also:
-
INTENT_CONTENT_QUERY_PARAMETERS
Use this key to specify aBundlecontaining key-value String pairs to add as query parameters for manifest requests.- See Also:
-
INTENT_SEGMENT_PARAMETERS
Use this key to specify aBundlecontaining key-value String pairs to add as header parameters for segment requests.- See Also:
-
INTENT_SEGMENT_QUERY_PARAMETERS
Use this key to specify aBundlecontaining 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_ARRAYLISTandSideloadedTrack.ThumbnailBuilder.Use this key to storeThumbnailDataTrackin 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_DISCONNECTEDOnly 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 anbooleanand use ETH0 for network multicast- See Also:
-
INTENT_VIDEO_DECODER_FALLBACK
Use this key to store anbooleanto configurePlayerConfig.videoDecoderFallback- See Also:
-
INTENT_AUDIO_DECODER_FALLBACK
Use this key to store anbooleanto configurePlayerConfig.audioDecoderFallback- See Also:
-
INTENT_UNSECURE_DECODER_FALLBACK
Use this key to store anbooleanto configurePlayerConfig.unsecureDecoderFallback- See Also:
-
INTENT_ALLOW_HLS_CHUNKLESS_PREPARATION
Use this key to store anbooleanto configurePlayerConfig.allowHlsChunklessPreparation- See Also:
-
FILTER_REASON_BLACKLISTED
public static final int FILTER_REASON_BLACKLISTEDRepresents the reason for filtering out the track duringPlayerModelcreation: 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 duringPlayerModelcreation: 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 duringPlayerModelcreation: 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 duringPlayerModelcreation: 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 duringPlayerModelcreation: 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 duringPlayerModelcreation: 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 duringPlayerModelcreation: 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 duringPlayerModelcreation: 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 duringPlayerModelcreation: 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 duringPlayerModelcreation: 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_FILTERto 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_FILTERto 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_AUTOinsteadUse this as a key toINTENT_VIDEO_SIZE_FILTERto instruct the player to use device screen resolution for pixel count filtering i.e. all the video tracks havingw x hlarger than the device screen resolution will be filtered out. -
VIDEO_FILTER_AUTO
Use this as a value forINTENT_VIDEO_FILTERto 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_FILTERto 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_FILTERto 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_TYPEto 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_PLAYINGis set totrue.- See Also:
-
ANALYTICS_SESSION_TYPE_PLAY
public static final int ANALYTICS_SESSION_TYPE_PLAYUse this as a key toINTENT_ANALYTICS_SESSION_TYPEwhen playback does not start automatically, i.e.INTENT_START_PLAYINGis set tofalseand 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_SECUREandDisplay.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 THUMBNAILIdentifies the thumbnail content- 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 ofAudioAttributesthat enables Audio Focus management. -
AUDIO_ATTRIBUTES_FOCUS_DISABLED
Instance ofAudioAttributesthat represents disabled Audio Focus management. -
DEFAULT_AUDIO_ATTRIBUTES
The default AudioAttributes -
AD_SCHEDULE_MANUAL
An instance ofAdSchedulewhich 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_EXCEEDSelection reason that indicates frame drop threshold exceeded- See Also:
-
TRACK_TYPE_THUMBNAIL
public static final int TRACK_TYPE_THUMBNAILTrack type defining thumbnails track- See Also:
-
-
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
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
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_PARAMETERSorINTENT_SEGMENT_PARAMETERS, or use the newPlayerConfigclass.