All Classes and Interfaces
Class
Description
The ABR configuration.
The method used for ABR.
A builder for ABR configuration instances
Abstract implementation of the
AudioRendererListener
Abstract implementation of
CatchupListener
with empty methods for convenience.Abstract implementation of the
PlayerControllerListener
.Abstract implementation of the
PlayerListener
.Convenience abstract and no-op implementation of
PlayerModelFilter
.Abstract implementation of the
StreamingEventListener
.Abstract implementation of the
VideoRendererListener
Ad container.
An Api to interact with the underlying ad provider.
Implementation of this interface provides Sdk with external Ads metadata enrichment mechanism.
Listener for Ad metadata.
Implementation of this interface provides access to Ad status.
Listener for ad events.
The interface to provide SDK with the
Ad
properties
The implementations are used by AdProvider.createAdLoader(AdRequest)
Listener for
AdLoader
events.Ad Pod metadata
Implementation of this interface allows creating new AdsLoader instances.
Container class for Ad requests.
Describes a custom ad schedule.
Builder for
AdSchedule
Defines the possible types of ad schedules.
Provides static access to Ad providers.
Player plugin for AmLogic devices.
The meta-data class wraps around mandatory and optional meta-data that are send to
various analytics backends.
Implementation of
IAnalyticsSession
which could be enabled or disabled.Proxy which extends
AnalyticsSession
that can delegate
to a list of session.Utilities around arrays
Implementation of the
LicenseLoader
that will load the license file from the
Applications assets.Asset utilities that help to copy assets from the application
to a local folder.
Attributes for audio playback.
Builder for
AudioAttributes
.Common access point to store and keep updated device audio capabilities.
A listener that can be attached to the
PlayerController
to be informed about
audio rendering events such as decoder initializations, format changes and frame drops.A Audio track.
This is an implementation of the
MediaTrackEventListener
and AudioRendererEventListener
that is
used to delegate events from the track renderer to the PlayerListener
instances that
are registered with the current PlayerController
.Wrapper implementation around the bandwidth meter.
Helper class that takes care of the track renderer creation using the registered
TrackRendererPlugin
plugins.Exception thrown when a track is blocklisted.
Container object that stores the buffer configuration.
Builder for
BufferConfiguration
instances.Utilities around Bundle
Basic CAS configuration that can be used to query keys from a widevine proxy.
A wrapper around
FrameworkMediaDrm
that provides asynchronous session management capabilities.Exception thrown when operations on the MediaDrm instance fail.
Defines the types of DRM exceptions that can occur.
Exception that represents a player error and wraps the cause and an optional
error code.
Defines the severity of an error.
Defines the type of an error.
Represents a catchup configuration.
Builder for a
CatchupConfiguration
.Timing reference which will be used to calculate the thresholds of the CatchupConfiguration
Represents the catchup strategy.
Listener to get events related to the
catchup
feature.Basic chapter model that consists of the chapter position, a title, and an image
URL.
Listener for
MediaSourceEventListener
events that are propagated to the PlayerController
.A
MediaCodecTrackRendererBuilder
that builds Renderer
instances that support Clearkey DRM.A renderer plugin that supports audio and video tracks that are not encrypted
The library loader class is a class that provides static methods to register native libraries that will be
loaded on request.
Register instances of this interface to call custom code triggered after all
native libraries are loaded.
Factory for
CmcdConfiguration
instances.Utility class for handling codecs.
Implementations of this interface allows to get updated configurations when needed.
Implementations of this interface allow to check for internet connectivity.
This exception is thrown as a marker when the player lost connectivity, was waiting to
re-gain it, and then got it back.
Helper class that provides utilities to handle zip containers that contain DASH content.
Converter interface where implementation of this interface can convert
one data type into another.
This class provides the ability to manager the crash context and connect
CrashReporter
implementations that are then used to send crash data to a backend service.Implementations of this interface allow connections to crash logging systems.
This listener provides custom DASH events which appears in DASH manifest.
A model for DASH custom events
Defines different types of DASH custom events
Represents a UTCTiming element specifying how the client should synchronize its clock
with the server.
Custom implementation of X509TrustManager uses two key stores: system default one and provided
custom key store.
A Dash descriptor.
Defines the possible types for a DASH descriptor.
The DashPlayerPlugin is responsible for creating and configuring a DASH media source
and its associated renderers, as well as providing renderer capabilities.
Implementations of this interface are used to create
DataSource
s to fetch
remote data.Utility class for data manipulation.
Utility class for date operations.
The default implementation of the connectivity checker.
The default implementation of the
DataSourceFactory
.The default http data source builder.
The implementation of MediaCodecSelector allowing to find the decoder based on mimetype and
secure flag as well as on codecs string.
*Internal* plugin that registers the default player implementations
Default implementation of
TrackTypeProvider
with the video tracks
separated according to the following video resolutions: SD, HD or UHD.Default implementation of
MediaCodecAdapter.Factory
that uses DefaultMediaCodecAdapterFactory
to create MediaCodecAdapter
instances.Wraps information about currently connected displays.
Interface for objects that can be disposed of.
Plugins can implement this interface to add new loadable resources to a download.
Model that is used to add resources to a download session when implementing
Downloadable
.Exception that is raised when media download errors occur.
Utility class that can be used to read download.info files
to limit the availability of tracks.
The DRM types
Basic DRM configuration that can be used to query keys from a widevine proxy.
A builder implementation to create instances of
DrmConfiguration
sA listener interface.
Represents an exception that occurred during a DRM operation.
Container for DRM initialization data for video and audio tracks.
Represents a storage for DRM key information.
Use the
DrmLicenseLoader.Builder
to create instances of the license loader.Use this builder class to generate new instances of the
DrmLicenseLoader
.The callback interface for license loader tasks
Extension of the
DrmSessionManager
that also allows to load licenses
headless and in one blocking function.Extensions that add extra functionality to a
DrmLicenseManager
.This class contains the configuration parameters necessary to use DRMtoday with the player.
A builder implementation to create instances of
DrmTodayConfiguration
sSpecifies the environment for the DRM Today service.
Use this Exception class to report any errors from DrmToday services.
Annotation interface for error codes used in DrmTodayException.
DRMToday response code holder and parser.
Annotation that defines the valid error codes for DRMToday responses.
Factory class for creating DRMToday URIs and managing DRMToday request properties.
Utility class providing DRM-related functionality for the Android SDK.
Exception thrown when HTTP execution fails.
An Event Message (emsg) as defined in ISO 23009-1.
Builder for creating EventMessage instances.
Listener for event messages changes.
A listener for handling event metadata in the player.
A DASH in-MPD EventStream element, as defined by ISO/IEC 23009-1, 2nd edition, section 5.10.
Builder for creating EventStream instances.
This listener is responsible to deliver cue-start and cue-end events
corresponding to the event-streams.
This listener provides all the events corresponding to the event-streams as a list.
Builds
SubtitlesPreview
instances for the Exoplayer subtitles plugin.Plugin which exposes a TrackRenderer for the default Exoplayer subtitles.
A component for handling ExoPlayer subtitle rendering.
Implementation of the
SubtitlesStyleObserver
that is used to pass the current
subtitle style to the underlying ExoPlayer track renderer view.A
DataSource
that supports multiple URI schemes.Extension of
MediaCodecVideoRenderer
to add customizations and extensions.Extended Track Selector that provides advanced track selection capabilities.
Interface which receives Track Selection-related callbacks.
Provides information about the player.
Base class for SDK elements that can be extended with additional functionality.
Interface for extensions that can be added to an
ExtensibleSdkElement
.The interface defines the source (CDN) fallback selection.
Source (CDN) data container
The type of the source (CDN) fallback
The file helper contains utility functions to work with files and folders, including recursive
listings, recursive deletes and file and folder copy.
Exception that is raised when all track types of a particular type
(e.g.
Wrapper class around a Format, as well as any information that may be required to filter it.
This interface will receive events whenever the downstream
Format
s
change.Connectivity check implementation that attempts to connect to Google's public DNS server (8.8.8.8:53).
Utility hash functions
Cache for
Drm.Clearkey
.Represents a date range in an HLS playlist.
Represents an HLS interstitial content that can be inserted into the main content stream.
Represents an asset within an HLS interstitial.
AdLoader implementation for handling HLS interstitial ads using ExoPlayer's HlsInterstitialMediaSource.
Abstract class that provides a listener interface for HLS interstitial events.
Plugin that provides HLS interstitial advertisement functionality.
Plugin that provides HLS playback functionality.
Implementations of this interface are responsible for creating http data source instances.
Listener related to HTTP events.
Base interface for analytics plugins.
Image utilities that offers helper functions to decode and scale bitmap images.
Callback to define an initial playing position right after the
Timeline
is ready.Utility functions for IO operations
This interface describes the visual component of the video player.
A player plugin implementation for IPTV content.
DRM key status types
Implementations of this interface are used by the DRM Session to store and retrieve
keySetIds that are used to store offline licenses.
This object contains enums and utilities for working with language tags.
An instance of this class can be used to load images from a given URL as Bitmaps lazily
and apply them to a given
ImageView
once loaded.An implementation of this interface is used to fetch the castlabs license file and
return its data.
Interface for providing server time information for DRM license requests.
Configuration object that groups all relevant parameters related to live streaming.
Builder class for creating LiveConfiguration instances.
Interface definition for a callback to be notified of
CastlabsLoadControl
events.Profile that groups all the relevant parameters related to low latency live streaming.
Builder class for creating LowLatencyProfile instances.
Implementation of the
LicenseLoader
that will return license data from the
Manifest meta-data.Allows to modify a manifest before it's used for extracting track info.
Container class holding the media codec name associated with the mimetype
Interface for receiving notifications about media track events.
Cache for
Drm.Clearkey
which stores keys in memory.Simple implementation of
KeyStore
that stores all keys in memory.You can use this listener to get callbacks about timed Meta-Data attached to a stream.
Delegating data source factory that will trigger all
RequestModifier
s registered
with the player controller.Extends the default ExoPlayer DASH Manifest parsers.
Playlist management.
Abstract implementation of the
MultiControllerPlaylist.PlaylistListener
.Builder for
MultiControllerPlaylist
Flags to be used when changing the item in the Playlist.
Playlist-related events listener.
Network configuration for the Castlabs SDK.
Builder for
NetworkConfiguration
instances.Exception thrown when a required parameter is not set in the player configuration.
PeriodChangedListener
Implementations of this interface allows to get additional information
on the period being played.
Information about a period.
Implementations of this interface offer the basic infrastructure
to load and save instances of
PlayerConfig
Object which represents a specific Player configuration.
A Builder for
PlayerConfig
.This class allows you to control and manage the video player instance and receive feedback
during playback.
Experimental features that are not yet stable.
Represents states of the player backend.
Types of tracks.
This is a high level listener interface that provides callbacks for lifecycle events of the
player controller.
A plugin interface that can be used to create plugins that need access to the
PlayerController
.Implementations of this component can be used to gain controlled access to a
PlayerController
.Interface which allows
Components
to work with their Views.Special type of
PlayerControllerPlugin.Component
which also happens to depend on a View.This is a high level listener interface that provides callbacks for events from a
video player.
This class helps to manage a set of
PlayerListener
s and delegates to the listener
methods.General player model that contains information about tracks.
Interface which allows to filter
Tracks
, before
the PlayerModel
is built.A plugin interface that is used to initialize player instances for different content formats such
as HLS, DASH, or SmoothStreaming.
Abstract class for providing DRM initialization data.
This class provides the required methods to initialize the castLabs SDK and register additional
components and plugins.
Holds flags for experimental features.
Callback interface that can be used to detect rooted devices.
This class implements a bounded Android Service that can be used to start a
PlayerController
in a service, send the player to background to continue audio playback, and resume video playback
from a background session.Implementation of the interface can receive notification intents from the
PlayerService
.The CastLabs PlayerView is a custom view that provides the video playback surface.
Annotation to define valid scaling modes for PlayerView.
Annotation to define valid surface types for PlayerView.
The default lifecycle delegate.
Callback to receive delegated Lifecycle events.
Configuration object which will dictate the behaviour of the
PlayerController
whenever
the enclosingBuilder for
PlayerViewLifecycleDelegate.ResumeConfiguration
instances.A plugin interface that can be used to create plugins that need access to the
IPlayerView
or the PlayerController
that is responsible for the
playback lifecycle.Implementations of this view component can be used to gain controlled access to a
IPlayerView
and its PlayerController
.Helper class which extracts all the common logic in a
PlayerViewPlugin.PlayerViewComponent
in case
it only operates on one single View.Activities use any of the utility fragments or dialog fragments in this package can
implement this interface so fragment implementations can be recreated and easily get access
to the
IPlayerView
.Common Playlist interface.
Deprecated.
since 4.2.5.
Simple plugin interface that is used to register components with the castLabs SDK.
Utility class that can handle device provisioning.
You need to provide an implementation of this interface when you are triggering
provisioning.
Exception thrown when there is an issue with provisioning.
A
SimpleSubtitleDecoder
for TTML supporting the DFXP presentation profile.A modifiable request.
Represents a request data type
Implementation of this interface can intercept
Request
s and modify them
before the request is sent.Listener related to
RequestModifier
eventsA modifiable response.
Represents a request data type
Implementation of this interface can intercept
Response
s and modify them
before the response is processed further.Configures the network request retry behaviour.
Use this builder to create new instances of the retry configuration
Utility class that provides helper methods around the device screen
Contains constants used by the Player SDK.
Annotation for ad position constants
Annotation for ad type constants
Annotation for analytics session type constants
Annotation for codec buffer mode constants
Annotation for content type constants
Annotation for data type constants
Annotation for dummy surface mode constants
Annotation for fast bitrate switching mode constants
Annotation for filter reason constants
Annotation for media type constants
Annotation for seek mode constants
Annotation for selection reason constants
Annotation for subtitle sub sample type constants
Annotation for video codec filter constants
DRM Security level definitions
Selector utilities facilitating common selection options in both
the player and the downloader
KeyStore implementation that stores keySetIds in
SharedPreferences
.Represents a track which is side-loaded (not declared in the content manifest).
Base Builder class
Convenience Builder to create a
SideloadedTrack
with the type set to SideloadedTrack.Type.SUBTITLE
Convenience Builder to create a
SideloadedTrack
with the type set to SideloadedTrack.Type.THUMBNAIL
Represents the type of the sideloaded track.
Implementation of the
LicenseLoader
that will return license data as passed in
the constructor.Playlist
implementation.Utility class with empty implementations of the methods defined in
SingleControllerPlaylist.PlaylistListener
Listener which provides callbacks for whenever a
PlayerConfig
is loaded or unloaded
from the playlist.Playlist-related events listener.
Connectivity check that uses a socket connection to a specified host and port.
Deprecated.
Utility class for SSL related operations.
You can use this listener to get callbacks about current content downloads.
String utilities and formats
Implementations of this interface provide a view that can render a preview of a
given subtitle text.
Implementations of this interface can create
SubtitlesPreview
instances.View component that can be added to show a preview of subtitles with a given style.
Implementations of this interface can receive a
SubtitlesStyle
that will be
used to render subtitles and closed captions.This is a
PlayerViewPlugin.PlayerViewComponent
that will
be automatically used when you are using a PlayerView
.A subtitle track.
A thumbnail track.
Defines the possible thumbnail formats.
Timeline object.
Builder for
Timeline
s.A Period.
Builder for
Timeline.Period
s.A Window.
Builder for
Timeline.Window
s.Interface definition for a callback to be invoked when the timeline has changed.
Deprecated.
Use
TimelineChangedListener
or PeriodChangedListener
insteadUtilities around time
Base class for tracks that exposes a track index to uniquely identify the track
within a player model.
Single-track filter interface.
Utility class used to store group and track indices within one integer.
Represents an override for a track index within a track group.
This plugin interface can be used to implement a track renderer integration.
Implementations of the builder a responsible to create
Renderer
instances.The builder interface creates instances of this container that wraps the renderer instance
and an optional view component.
The different content types
This is a high level listener interface that provides callbacks for track selection events.
The implementations of this interface should provide the track types, track group types and their
weights according to some desired model.
Utility class for converting track types to renderer track types and vice versa.
Container which groups several Trickplay (speedup) configuration.
TrickplayConfiguration
Builder.Speedup mode to use during Trickplay
Exception that is raised when tunneling mode can not be enabled because of specified reasons.
The reason why tunneling mode could not be enabled.
Provides helpers and utilities for
Uri
s.Instances of this class are used to construct the user agent that is used for HTTP requests.
The flags that enable or disable field presence in the User-Agent.
Helper class that can be used to validate input.
TrackFilter which uses
VideoFilterConfiguration
.Configuration for filtering video renditions.
VideoFilterConfiguration
builder static inner class.Listener for metadata associated with video rendering.
A listener that can be attached to the
PlayerController
to be informed about
video rendering events such as decoder initializations, format changes and frame drops.A video track.
This is an implementation of the
VideoRendererEventListener
that is
used to delegate events from the track renderer to the PlayerListener
instances that
are registered with the current PlayerController
.Represents a single quality of a video track.
Registers views with the castLabs licensing backend to validate licenses and report usage.
Defines the type of playlist.
Utility class to scan views in a ViewGroup
VisualComponent whose task is to communicate a
PlayerControllerPlugin.ComponentViewListener
with the PlayerControllerPlugin.Component
machinery.Implementation of a DataSource that can read data from a zip file.
Thrown when IOException is encountered during local file read operation.