Package com.castlabs.android.player
Class HlsPlayerPlugin
java.lang.Object
com.castlabs.android.player.HlsPlayerPlugin
- All Implemented Interfaces:
PlayerPlugin
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.castlabs.android.player.PlayerPlugin
PlayerPlugin.DrmInitDataProvider<T extends com.google.android.exoplayer2.offline.FilterableManifest>
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncreateDrmInitDataProvider
(ManifestModifier manifestModifier) com.google.android.exoplayer2.source.MediaSource
createMediaSource
(PlayerConfig config, boolean attachInitialPositionProvider, PlayerController playerController) Create the content media source based on the supplied path and thePlayerController
createRendererContainers
(PlayerController playerController, DrmConfiguration drmConfiguration) Create the list of renderer containers based on the suppliedDrmConfiguration
andPlayerController
com.google.android.exoplayer2.RendererCapabilities[]
getRendererCapabilities
(Context context, DrmConfiguration drmConfiguration) Retrieve array of supported RendererCapabilities.boolean
isFormatSupported
(int format, DrmConfiguration configuration)
-
Constructor Details
-
HlsPlayerPlugin
public HlsPlayerPlugin()
-
-
Method Details
-
isFormatSupported
- Specified by:
isFormatSupported
in interfacePlayerPlugin
- Parameters:
format
- the content format (one ofSdkConsts.CONTENT_TYPE_UNKNOWN
,SdkConsts.CONTENT_TYPE_DASH
,SdkConsts.CONTENT_TYPE_HLS
,SdkConsts.CONTENT_TYPE_SMOOTHSTREAMING
, orSdkConsts.CONTENT_TYPE_MP4
)configuration
- the drm configuration- Returns:
- true if this plugin can create a player for the given content format and drm configuration
-
getRendererCapabilities
@Nullable public com.google.android.exoplayer2.RendererCapabilities[] getRendererCapabilities(@NonNull Context context, @Nullable DrmConfiguration drmConfiguration) Description copied from interface:PlayerPlugin
Retrieve array of supported RendererCapabilities.- Specified by:
getRendererCapabilities
in interfacePlayerPlugin
- Parameters:
context
- the contextdrmConfiguration
- the drm configuration- Returns:
- RendererCapabilities array supported by the player plugin or null
-
createDrmInitDataProvider
@Nullable public PlayerPlugin.DrmInitDataProvider createDrmInitDataProvider(ManifestModifier manifestModifier) - Specified by:
createDrmInitDataProvider
in interfacePlayerPlugin
-
createMediaSource
@NonNull public com.google.android.exoplayer2.source.MediaSource createMediaSource(@NonNull PlayerConfig config, boolean attachInitialPositionProvider, @NonNull PlayerController playerController) Description copied from interface:PlayerPlugin
Create the content media source based on the supplied path and thePlayerController
- Specified by:
createMediaSource
in interfacePlayerPlugin
- Parameters:
config
- ThePlayerConfig
playerController
- ThePlayerController
instance- Returns:
- The media source
-
createRendererContainers
@NonNull public List<TrackRendererPlugin.TrackRendererContainer> createRendererContainers(@NonNull PlayerController playerController, @Nullable DrmConfiguration drmConfiguration) throws CastlabsPlayerException Description copied from interface:PlayerPlugin
Create the list of renderer containers based on the suppliedDrmConfiguration
andPlayerController
- Specified by:
createRendererContainers
in interfacePlayerPlugin
- Parameters:
playerController
- ThePlayerController
instancedrmConfiguration
- TheDrmConfiguration
, might benull
- Returns:
- The list of renderer containers
- Throws:
CastlabsPlayerException
- when render containers can not be created or an error occurs
-