All Classes and Interfaces
Class
Description
The ABR configuration.
A builder for ABR configuration instances
Abstract implementation of the 
AudioRendererListenerAbstract 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 
VideoRendererListenerAd container.
An Api to interact with the underlying ad provider.
Implementation of this interface provides Sdk with external Ads metadata enrichment mechanism.
Implementation of this interface provides access to Ad status.
The interface to provide SDK with the 
Ad properties
 The implementations are used by AdProvider.createAdLoader(AdRequest)Ad Pod metadata
Implementation of this interface allows creating new AdsLoader instances.
Container class for Ad requests.
Describes a custom ad schedule.
Builder for 
AdScheduleProvides static access to Ad providers.
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.Container object that stores the buffer configuration.
Utilities around Bundle
Basic CAS configuration that can be used to query keys from a widevine proxy.
Wrapper of the 
FrameworkMediaDrm allowing asynchronously close the DRM session.Exception that represents a player error and wraps the cause and an optional
 error code.
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.
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.
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.
Implementations of this interface are used to create 
DataSources to fetch
 remote data.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.Wraps information about currently connected displays.
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 listener interface.
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
DrmLicenseManager<T extends com.google.android.exoplayer2.drm.ExoMediaCrypto>
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 
DrmTodayConfigurationsUse this Exception class to report any errors from DrmToday services.
DRMToday response code holder and parser
DRMToday clients helper.
Utility methods for the widevine applications.
An Event Message (emsg) as defined in ISO 23009-1.
A DASH in-MPD EventStream element, as defined by ISO/IEC 23009-1, 2nd edition, section 5.10.
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.
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.Interface which receives Track Selection-related callbacks.
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 
Formats
 change.Utility hash functions
Cache for 
Drm.Clearkey.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.
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.
Configuration object that groups all relevant parameters related to live streaming.
Interface definition for a callback to be notified of 
CastlabsLoadControl events.Profile that groups all the relevant parameters related to low latency live streaming.
Implementation of the 
LicenseLoader that will return license data from the
 Manifest meta-data.ManifestModifier<T extends com.google.android.exoplayer2.offline.FilterableManifest>
Allows to modify a manifest before it's used for extracting track info.
Container class holding the media codec name associated with the mimetype
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 
RequestModifiers registered
 with the player controller.Extends the default ExoPlayer DASH Manifest parsers.
Playlist management.
Abstract implementation of the 
MultiControllerPlaylist.PlaylistListener.Builder for 
MultiControllerPlaylistPlaylist-related events listener.
PeriodChangedListener
Implementations of this interface allows to get additional information
 on the period being played.
Implementations of this interface offer the basic infrastructure
 to load and save instances of 
PlayerConfigObject 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.
Represents states of the player backend.
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 
PlayerListeners 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.
PlayerPlugin.DrmInitDataProvider<T extends com.google.android.exoplayer2.offline.FilterableManifest>
This class provides the required methods to initialize the castLabs SDK and register additional
 components and plugins.
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.
The default lifecycle delegate.
Callback to receive delegated Lifecycle events.
Configuration object which will dictate the behaviour of the 
PlayerController whenever
 the enclosingA 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.
A 
SimpleSubtitleDecoder for TTML supporting the DFXP presentation profile.A modifiable request.
Represents a request data type
Implementation of this interface can intercept 
Requests and modify them
 before the request is sent.A modifiable response.
Represents a request data type
Implementation of this interface can intercept 
Responses 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
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.SUBTITLEConvenience Builder to create a 
SideloadedTrack with the type set to SideloadedTrack.Type.THUMBNAILImplementation 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.PlaylistListenerListener which provides callbacks for whenever a 
PlayerConfig is loaded or unloaded
 from the playlist.Playlist-related events listener.
Deprecated.
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.
Timeline object.
A Period.
A Window.
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.
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.
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.
Provides helpers and utilities for 
Uris.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.VideoFilterConfiguration builder static inner class.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.
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.