# All Classes

- All Classes Interface Summary Class Summary Enum Summary Exception Summary Annotation Types Summary
  Class | Description
  --- | ---
  AbrConfiguration | The ABR configuration.
  AbrConfiguration.AbrMethod |
  AbrConfiguration.Builder | A builder for ABR configuration instances
  AbstractAudioRendererListener | Abstract implementation of the `AudioRendererListener`
  AbstractCatchupListener | Abstract implementation of `CatchupListener` with empty methods for convenience.
  AbstractPlayerControllerListener | Abstract implementation of the `PlayerControllerListener`.
  AbstractPlayerListener | Abstract implementation of the `PlayerListener`.
  AbstractPlayerModelFilter | Convenience abstract and no-op implementation of `PlayerModelFilter`.
  AbstractStreamingEventListener | Abstract implementation of the `StreamingEventListener`.
  AbstractVideoRendererListener | Abstract implementation of the `VideoRendererListener`
  Ad | Ad container.
  AdApi | An Api to interact with the underlying ad provider.
  AdClientInterface | Implementation of this interface provides Sdk with external Ads metadata enrichment mechanism.
  AdClientInterface.Listener |
  AdInterface | Implementation of this interface provides access to Ad status.
  AdInterface.Listener |
  AdLoader | The interface to provide SDK with the `Ad` properties The implementations are used by `AdProvider.createAdLoader(AdRequest)`
  AdLoader.Listener |
  AdProvider | Implementation of this interface allows creating new AdsLoader instances.
  AdRequest | Container class for Ad requests.
  AdSchedule | Describes a custom ad schedule.
  AdSchedule.Builder | Builder for `AdSchedule`
  AdSchedule.ScheduleType |
  Adverts | Provides static access to Ad providers.
  AmLogicPlayerPlugin |
  AnalyticsMetaData | The meta-data class wraps around mandatory and optional meta-data that are send to various analytics backends.
  AnalyticsSession | Base interface for analytics plugins.
  AnalyticsSessionProxy | Proxy implementation of an `AnalyticsSession` that can delegate to a list of session.
  ArrayUtils | Utilities around arrays
  AssetLicenseLoader | Implementation of the `LicenseLoader` that will load the license file from the Applications assets.
  AssetsUtils | Asset utilities that help to copy assets from the application to a local folder.
  AudioAttributes | Attributes for audio playback.
  AudioAttributes.Builder | Builder for `AudioAttributes`.
  AudioCapabilitiesManager | Common access point to store and keep updated device audio capabilities.
  AudioRendererListener | 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.
  AudioTrack | A Audio track.
  AudioTrackListener | 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`.
  BandwidthMeterWrapper | Wrapper implementation around the bandwidth meter.
  BasePlayerModelBuilder | Helper class that takes care of the track renderer creation using the registered `TrackRendererPlugin` plugins.
  BufferConfiguration | Container object that stores the buffer configuration.
  BufferConfiguration.Builder |
  BundleUtils | Utilities around Bundle
  CasConfiguration | Basic CAS configuration that can be used to query keys from a widevine proxy.
  CastlabsBandwidthMeter | This class is a `TransferListener` receiving transfer progress and providing bandwidth metering via common ABR `BandwidthMeter` and Exo `BandwidthMeter` interfaces.
  CastlabsBandwidthMeter.Builder | Builder for a bandwidth meter.
  CastlabsMediaDrm | Wrapper of the `FrameworkMediaDrm` allowing asynchronously close the DRM session.
  CastlabsMediaDrm.CastlabsMediaDrmException |
  CastlabsMediaDrm.CastlabsMediaDrmException.Type |
  CastlabsPlayerException | Exception that represents a player error and wraps the cause and an optional error code.
  CastlabsPlayerException.Severity |
  CastlabsPlayerException.Type |
  CatchupConfiguration | Represents a catchup configuration.
  CatchupConfiguration.Builder | Builder for a `CatchupConfiguration`.
  CatchupConfiguration.TimeReference | Timing reference which will be used to calculate the thresholds of the CatchupConfiguration
  CatchupConfiguration.Type | Represents the catchup strategy.
  CatchupListener | Listener to get events related to the `catchup` feature.
  Chapter | Basic chapter model that consists of the chapter position, a title, and an image URL.
  ClearkeyTrackRendererBuilder |
  ClearTrackRendererPlugin | A renderer plugin that supports audio and video tracks that are not encrypted
  CLLibraryLoader | The library loader class is a class that provides static methods to register native libraries that will be loaded on request.
  CLLibraryLoader.PostLoadAction | Register instances of this interface to call custom code triggered after all native libraries are loaded.
  Codecs |
  ConfigurationProvider | Implementations of this interface allows to get updated configurations when needed.
  ConnectivityCheck | Implementations of this interface allow to check for internet connectivity.
  ConnectivityRegainedException | This exception is thrown as a marker when the player lost connectivity, was waiting to re-gain it, and then got it back.
  ContainerUtils | Helper class that provides utilities to handle zip containers that contain DASH content.
  Converter<S,​T> | Converter interface where implementation of this interface can convert one data type into another.
  Crashlog | 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.
  CrashReporter | Implementations of this interface allow connections to crash logging systems.
  CustomDashEventListener | This listener provides custom DASH events which appears in DASH manifest.
  CustomDashEventListener.CustomEvent | A model for DASH custom events
  CustomDashEventListener.EventType | Defines different types of DASH custom events
  CustomUtcTimingElement | Represents a UTCTiming element specifying how the client should synchronize its clock with the server.
  CustomX509TrustManager | Custom implementation of X509TrustManager uses two key stores: system default one and provided custom key store.
  DashDescriptor | A Dash descriptor.
  DashDescriptor.DescriptorType |
  DataSourceFactory | Implementations of this interface are used to create `DataSource`s to fetch remote data.
  DataUtils |
  DateUtils |
  DefaultConnectivityCheck | The default implementation of the connectivity checker.
  DefaultDataSourceFactory | The default implementation of the `DataSourceFactory`.
  DefaultHttpDataSourceBuilder | The default http data source builder.
  DefaultMediaCodecSelector | The implementation of MediaCodecSelector allowing to find the decoder based on mimetype and secure flag as well as on codecs string.
  DefaultPlayerPlugin | *Internal* plugin that registers the default player implementations
  DefaultTrackTypeProvider | Default implementation of `TrackTypeProvider` with the video tracks separated according to the following video resolutions: SD, HD or UHD.
  DisplayInfo | Wraps information about currently connected displays.
  Disposable |
  Downloadable | Plugins can implement this interface to add new loadable resources to a download.
  DownloadableResource | Model that is used to add resources to a download session when implementing `Downloadable`.
  DownloadException | Exception that is raised when media download errors occur.
  DownloadInfo | Utility class that can be used to read download.info files to limit the availability of tracks.
  Drm | The DRM types
  DrmConfiguration | Basic DRM configuration that can be used to query keys from a widevine proxy.
  DrmEventListener | A listener interface.
  DrmException |
  DrmInitDataContainer |
  DrmKeyStorage |
  DrmLicenseLoader | Use the `DrmLicenseLoader.Builder` to create instances of the license loader.
  DrmLicenseLoader.Builder | Use this builder class to generate new instances of the `DrmLicenseLoader`.
  DrmLicenseLoader.Callback | 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.
  DrmLicenseManagerComponent | Extensions that add extra functionality to a `DrmLicenseManager`.
  DrmTodayConfiguration | This class contains the configuration parameters necessary to use DRMtoday with the player.
  DrmTodayConfiguration.Builder | A builder implementation to create instances of `DrmTodayConfiguration`s
  DrmTodayConfiguration.Environment |
  DrmTodayException | Use this Exception class to report any errors from DrmToday services.
  DrmTodayException.ErrorCode |
  DrmTodayResponseCode | DRMToday response code holder and parser
  DrmTodayResponseCode.ErrorCode |
  DrmTodayUriFactory | DRMToday clients helper.
  DrmUtils | Utility methods for the widevine applications.
  DrmUtils.HttpExecutorException |
  EventMessage | An Event Message (emsg) as defined in ISO 23009-1.
  EventMessage.Builder |
  EventStream | A DASH in-MPD EventStream element, as defined by ISO/IEC 23009-1, 2nd edition, section 5.10.
  EventStream.Builder |
  ExoSubtitlesPreviewBuilder | Builds `SubtitlesPreview` instances for the Exoplayer subtitles plugin.
  ExoSubtitlesRendererPlugin | Plugin which exposes a TrackRenderer for the default Exoplayer subtitles.
  ExoSubtitlesRendererPlugin.ExoSubtitleComponent |
  ExoSubtitlesStyleObserver | Implementation of the `SubtitlesStyleObserver` that is used to pass the current subtitle style to the underlying ExoPlayer track renderer view.
  ExtendedDataSource | A `DataSource` that supports multiple URI schemes.
  ExtendedMediaCodecVideoTrackRenderer | Extension of `MediaCodecVideoRenderer` to add customizations and extensions.
  ExtendedTrackSelector |
  ExtendedTrackSelector.EventListener | Interface which receives Track Selection-related callbacks.
  ExtendedTrackSelector.PlayerInfoProvider |
  ExternalSourceSelector | The interface defines the source (CDN) fallback selection.
  ExternalSourceSelector.SourceData | Source (CDN) data container
  ExternalSourceSelector.SwitchType | The type of the source (CDN) fallback
  FileHelper | The file helper contains utility functions to work with files and folders, including recursive listings, recursive deletes and file and folder copy.
  FilterException | Exception that is raised when all track types of a particular type (e.g.
  FilterFormat | Wrapper class around a Format, as well as any information that may be required to filter it.
  FormatChangeListener | This interface will receive events whenever the downstream `Format`s change.
  GoogleDNSConnectivityCheck |
  HashUtils | Utility hash functions
  HlsClearKeyCache | Cache for `Drm.Clearkey`.
  HttpDataSourceBuilder | Implementations of this interface are responsible for creating http data source instances.
  HttpListener | Listener related to HTTP events.
  ImageUtils | Image utilities that offers helper functions to decode and scale bitmap images.
  InitialPositionProvider | Callback to define an initial playing position right after the `Timeline` is ready.
  IOUtils | Utility functions for IO operations
  IPlayerView | This interface describes the visual component of the video player.
  IPTVPlayerPlugin |
  KeyStatus | DRM key status types
  KeyStore | Implementations of this interface are used by the DRM Session to store and retrieve keySetIds that are used to store offline licenses.
  LanguageUtils | This object contains enums and utilities for working with language tags.
  LazyImageLoader | 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.
  LicenseLoader | An implementation of this interface is used to fetch the castlabs license file and return its data.
  LicenseServerTimeProvider |
  LiveConfiguration | Configuration object that groups all relevant parameters related to live streaming.
  LiveConfiguration.Builder |
  Log | Custom logger class.
  Log.Logger | Logger interface that receives logging messages.
  LowLatencyProfile | Profile that groups all the relevant parameters related to low latency live streaming.
  LowLatencyProfile.Builder |
  ManifestLicenseLoader | 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.
  MediaCodecInfo | Container class holding the media codec name associated with the mimetype
  MediaTrackEventListener |
  MemoryHlsClearKeyCache | Cache for `Drm.Clearkey` which stores keys in memory.
  MemoryKeyStore | Simple implementation of `KeyStore` that stores all keys in memory.
  MetadataListener | You can use this listener to get callbacks about timed Meta-Data attached to a stream.
  ModifierDataSourceFactory | Delegating data source factory that will trigger all `RequestModifier`s registered with the player controller.
  MPDParser | Extends the default ExoPlayer DASH Manifest parsers.
  MultiControllerPlaylist | Playlist management.
  MultiControllerPlaylist.AbstractPlaylistListener | Abstract implementation of the `MultiControllerPlaylist.PlaylistListener`.
  MultiControllerPlaylist.Builder | Builder for `MultiControllerPlaylist`
  MultiControllerPlaylist.ItemChangeFlags |
  MultiControllerPlaylist.PlaylistListener | Playlist-related events listener.
  MutableVideoTrack | Subclass of `VideoTrack` which allows for `adding` and `removing` `VideoTrackQuality`.
  NetworkConfiguration |
  NetworkConfiguration.Builder |
  ParameterNotSetException |
  PeriodChangedListener | PeriodChangedListener
  PeriodInfoProvider | Implementations of this interface allows to get additional information on the period being played.
  PeriodInfoProvider.PeriodInfo |
  PlaybackStateStorage | Implementations of this interface offer the basic infrastructure to load and save instances of `PlayerConfig`
  PlayerConfig | Object which represents a specific Player configuration.
  PlayerConfig.Builder | A Builder for `PlayerConfig`.
  PlayerController | This class allows you to control and manage the video player instance and receive feedback during playback.
  PlayerController.State | Represents states of the player backend.
  PlayerController.TrackType |
  PlayerControllerListener | This is a high level listener interface that provides callbacks for lifecycle events of the player controller.
  PlayerControllerPlugin | A plugin interface that can be used to create plugins that need access to the `PlayerController`.
  PlayerControllerPlugin.Component | Implementations of this component can be used to gain controlled access to a `PlayerController`.
  PlayerControllerPlugin.ComponentViewListener | Interface which allows `Components` to work with their Views.
  PlayerControllerPlugin.VisualComponent | Special type of `PlayerControllerPlugin.Component` which also happens to depend on a View.
  PlayerListener | This is a high level listener interface that provides callbacks for events from a video player.
  PlayerListeners | This class helps to manage a set of `PlayerListener`s and delegates to the listener methods.
  PlayerModel | General player model that contains information about tracks.
  PlayerModelFilter | Interface which allows to filter `Tracks`, before the `PlayerModel` is built.
  PlayerPlugin | 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> |
  PlayerSDK | This class provides the required methods to initialize the castLabs SDK and register additional components and plugins.
  PlayerSDK.SystemStatusCallback | Callback interface that can be used to detect rooted devices.
  PlayerService | 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.
  PlayerService.NotificationHandler | Implementation of the interface can receive notification intents from the `PlayerService`.
  PlayerView | The CastLabs PlayerView is a custom view that provides the video playback surface.
  PlayerView.ScalingMode |
  PlayerView.SurfaceType |
  PlayerViewLifecycleDelegate | The default lifecycle delegate.
  PlayerViewLifecycleDelegate.LifecycleListener | Callback to receive delegated Lifecycle events.
  PlayerViewLifecycleDelegate.ResumeConfiguration | Configuration object which will dictate the behaviour of the `PlayerController` whenever the enclosing
  PlayerViewLifecycleDelegate.ResumeConfiguration.Builder |
  PlayerViewPlugin | 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.
  PlayerViewPlugin.PlayerViewComponent | Implementations of this view component can be used to gain controlled access to a `IPlayerView` and its `PlayerController`.
  PlayerViewPlugin.SingleViewPlayerViewComponent<ViewType extends View> | Helper class which extracts all the common logic in a `PlayerViewPlugin.PlayerViewComponent` in case it only operates on one single View.
  PlayerViewProvider | 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`.
  Playlist | Common Playlist interface.
  PlaylistController | Deprecated. since 4.2.5.
  Plugin | Simple plugin interface that is used to register components with the castLabs SDK.
  ProvisioningManager | Utility class that can handle device provisioning.
  ProvisioningManager.ProvisionedCallback | You need to provide an implementation of this interface when you are triggering provisioning.
  ProvisioningManager.ProvisionException |
  RelaxedTtmlDecoder | A `SimpleSubtitleDecoder` for TTML supporting the DFXP presentation profile.
  Request | A modifiable request.
  Request.RequestType | Represents a request data type
  RequestModifier | Implementation of this interface can intercept `Request`s and modify them before the request is sent.
  Response | A modifiable response.
  Response.ResponseType | Represents a request data type
  ResponseModifier | Implementation of this interface can intercept `Response`s and modify them before the response is processed further.
  RetryConfiguration | Configures the network request retry behaviour.
  RetryConfiguration.Builder | Use this builder to create new instances of the retry configuration
  ScreenUtils | Utility class that provides helper methods around the device screen
  SdkConsts |
  SdkConsts.AdPosition |
  SdkConsts.AdType |
  SdkConsts.AnalyticsSessionType |
  SdkConsts.CodecBufferMode |
  SdkConsts.ContentType |
  SdkConsts.DataType |
  SdkConsts.DummySurfaceMode |
  SdkConsts.FastBitrateSwitching |
  SdkConsts.FilterReason |
  SdkConsts.MediaType |
  SdkConsts.SelectionReason |
  SdkConsts.VideoCodecFilter |
  SecurityLevel | DRM Security level definitions
  SelectorUtils | Selector utilities facilitating common selection options in both the player and the downloader
  SharedPreferencesKeyStore | KeyStore implementation that stores keySetIds in `SharedPreferences`.
  SideloadedTrack | Represents a track which is side-loaded (not declared in the content manifest).
  SideloadedTrack.Builder<T extends SideloadedTrack.Builder<T>> | Base Builder class
  SideloadedTrack.SubtitleBuilder | Convenience Builder to create a `SideloadedTrack` with the type set to `SideloadedTrack.Type.SUBTITLE`
  SideloadedTrack.ThumbnailBuilder | Convenience Builder to create a `SideloadedTrack` with the type set to `SideloadedTrack.Type.THUMBNAIL`
  SideloadedTrack.Type |
  SimpleLicenseLoader | Implementation of the `LicenseLoader` that will return license data as passed in the constructor.
  SingleControllerPlaylist | `Playlist` implementation.
  SingleControllerPlaylist.PlaylistListener | Playlist-related events listener.
  SocketConnectivityCheck |
  SourceSelector | Deprecated.
  SslUtils |
  StreamingEventListener | You can use this listener to get callbacks about current content downloads.
  StringUtils | String utilities and formats
  SubtitleFonts | This class contains static helpers and functions to manage additional fonts for subtitles and closed captions.
  SubtitleFonts.SubtitleFont |
  SubtitlesPreview | Implementations of this interface provide a view that can render a preview of a given subtitle text.
  SubtitlesPreviewBuilder | Implementations of this interface can create `SubtitlesPreview` instances.
  SubtitlesPreviewView | View component that can be added to show a preview of subtitles with a given style.
  SubtitlesStyle | This is the model class that contains all the styling information used by the subtitles plugins to render subtitles and closed captions.
  SubtitlesStyle.Builder |
  SubtitlesStyle.EdgeType |
  SubtitlesStyle.ImageScalingMode |
  SubtitlesStyleObserver | Implementations of this interface can receive a `SubtitlesStyle` that will be used to render subtitles and closed captions.
  SubtitlesViewComponent<T extends View> | This is a `PlayerViewPlugin.PlayerViewComponent` that will be automatically used when you are using a `PlayerView`.
  SubtitleTrack | A subtitle track.
  ThumbnailDataTrack | A thumbnail track.
  ThumbnailDataTrack.ThumbnailFormat |
  Timeline | Timeline object.
  Timeline.Builder |
  Timeline.Period | A Period.
  Timeline.Period.Builder |
  Timeline.Window | A Window.
  Timeline.Window.Builder |
  TimelineChangedListener |
  TimelineListener | Deprecated. Use `TimelineChangedListener` or `PeriodChangedListener` instead
  TimeUtils | Utilities around time
  Track | Base class for tracks that exposes a track index to uniquely identify the track within a player model.
  TrackFilter | Single-track filter interface.
  TrackIndexConverter | Utility class used to store group and track indices within one integer.
  TrackIndexOverride |
  TrackRendererPlugin | This plugin interface can be used to implement a track renderer integration.
  TrackRendererPlugin.TrackRendererBuilder | Implementations of the builder a responsible to create `Renderer` instances.
  TrackRendererPlugin.TrackRendererContainer | The builder interface creates instances of this container that wraps the renderer instance and an optional view component.
  TrackRendererPlugin.Type | The different content types
  TrackSelectionListener | This is a high level listener interface that provides callbacks for track selection events.
  TrackTypeProvider | The implementations of this interface should provide the track types, track group types and their weights according to some desired model.
  TrackTypeUtils |
  TrickplayConfiguration | Container which groups several Trickplay (speedup) configuration.
  TrickplayConfiguration.Builder | `TrickplayConfiguration` Builder.
  TrickplayConfiguration.SpeedupMode | Speedup mode to use during Trickplay
  UriUtils | Provides helpers and utilities for `Uri`s.
  UserAgent | Instances of this class are used to construct the user agent that is used for HTTP requests.
  UserAgent.UserAgentFlags | The flags that enable or disable field presence in the User-Agent.
  Validate | Helper class that can be used to validate input.
  VideoConfigurationTrackFilter | TrackFilter which uses `VideoFilterConfiguration`.
  VideoFilterConfiguration |
  VideoFilterConfiguration.Builder | `VideoFilterConfiguration` builder static inner class.
  VideoRendererListener | 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.
  VideoTrack | A video track.
  VideoTrackListener | 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`.
  VideoTrackQuality | Represents a single quality of a video track.
  ViewScanner | Utility class to scan views in a ViewGroup
  VisualComponentProxy | VisualComponent whose task is to communicate a `PlayerControllerPlugin.ComponentViewListener` with the `PlayerControllerPlugin.Component` machinery.
  ZipDataSource | Implementation of a DataSource that can read data from a zip file.
  ZipDataSource.ZipDataSourceException | Thrown when IOException is encountered during local file read operation.