# Package com.castlabs.android.player

package com.castlabs.android.player

- Related Packages
  Package
  Description
  com.castlabs.android
  com.castlabs.android.player.exceptions
  com.castlabs.android.player.filter
  com.castlabs.android.player.models
  com.castlabs.android.player.playlist
- Class
  Description
  AbrConfiguration
  The ABR configuration.
  AbrConfiguration.AbrMethod
  The method used for ABR.
  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`.
  AbstractStreamingEventListener
  Abstract implementation of the `StreamingEventListener`.
  AbstractVideoRendererListener
  Abstract implementation of the `VideoRendererListener`
  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.
  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
  Builder for `BufferConfiguration` instances.
  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.
  ChunkSampleSourceListener
  Listener for `MediaSourceEventListener` events that are propagated to the `PlayerController`.
  ClearkeyTrackRendererBuilder
  A `MediaCodecTrackRendererBuilder` that builds `Renderer` instances that support Clearkey DRM.
  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.
  CmcdConfigurationFactory
  Factory for `CmcdConfiguration` instances.
  ConfigurationProvider
  Implementations of this interface allows to get updated configurations when needed.
  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.
  DashDescriptor
  A Dash descriptor.
  DashDescriptor.DescriptorType
  Defines the possible types for a DASH descriptor.
  DashPlayerPlugin
  The DashPlayerPlugin is responsible for creating and configuring a DASH media source and its associated renderers, as well as providing renderer capabilities.
  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.
  DefaultVideoCodecAdapterFactory
  Default implementation of `MediaCodecAdapter.Factory` that uses `DefaultMediaCodecAdapterFactory` to create `MediaCodecAdapter` instances.
  DisplayInfo
  Wraps information about currently connected displays.
  DrmKeyStorage
  Represents a storage for DRM key information.
  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
  EventMessagesListener
  Listener for event messages changes.
  EventMetadataListener
  A listener for handling event metadata in the player.
  EventStreamListener
  This listener is responsible to deliver cue-start and cue-end events corresponding to the event-streams.
  EventStreamListListener
  This listener provides all the events corresponding to the event-streams as a list.
  ExoSubtitlesRendererPlugin
  Plugin which exposes a TrackRenderer for the default Exoplayer subtitles.
  ExoSubtitlesRendererPlugin.ExoSubtitleComponent
  A component for handling ExoPlayer subtitle rendering.
  ExtendedMediaCodecVideoTrackRenderer
  Extension of `MediaCodecVideoRenderer` to add customizations and extensions.
  ExtendedTrackSelector
  Extended Track Selector that provides advanced track selection capabilities.
  ExtendedTrackSelector.EventListener
  Interface which receives Track Selection-related callbacks.
  ExtendedTrackSelector.PlayerInfoProvider
  Provides information about the player.
  ExternalSourceSelector
  The interface defines the source (CDN) fallback selection.
  ExternalSourceSelector.SourceData
  Source (CDN) data container
  ExternalSourceSelector.SwitchType
  The type of the source (CDN) fallback
  FormatChangeListener
  This interface will receive events whenever the downstream `Format`s change.
  HlsClearKeyCache
  Cache for `Drm.Clearkey`.
  HlsInterstitialListener
  Abstract class that provides a listener interface for HLS interstitial events.
  HlsPlayerPlugin
  Plugin that provides HLS playback functionality.
  InitialPositionProvider
  Callback to define an initial playing position right after the `Timeline` is ready.
  IPlayerView
  This interface describes the visual component of the video player.
  IPTVComponent
  IPTV Clear Player component.
  IPTVPlayerPlugin
  A player plugin implementation for IPTV content.
  IPTVPlugin
  Plugin for IPTV playback.
  LiveConfiguration
  Configuration object that groups all relevant parameters related to live streaming.
  LiveConfiguration.Builder
  Builder class for creating LiveConfiguration instances.
  LoadControlListener
  Interface definition for a callback to be notified of `CastlabsLoadControl` events.
  LowLatencyProfile
  Profile that groups all the relevant parameters related to low latency live streaming.
  LowLatencyProfile.Builder
  Builder class for creating LowLatencyProfile instances.
  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
  Interface for receiving notifications about media track events.
  MemoryHlsClearKeyCache
  Cache for `Drm.Clearkey` which stores keys in memory.
  MetadataListener
  You can use this listener to get callbacks about timed Meta-Data attached to a stream.
  MPDParser
  Extends the default ExoPlayer DASH Manifest parsers.
  PeriodChangedListener
  PeriodChangedListener
  PeriodInfoProvider
  Implementations of this interface allows to get additional information on the period being played.
  PeriodInfoProvider.PeriodInfo
  Information about a period.
  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.ExperimentalApi
  Experimental features that are not yet stable.
  PlayerController.State
  Represents states of the player backend.
  PlayerController.TrackType
  Types of tracks.
  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.
  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>
  Abstract class for providing DRM initialization data.
  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
  Annotation to define valid scaling modes for PlayerView.
  PlayerView.SurfaceType
  Annotation to define valid surface types for PlayerView.
  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
  Builder for `PlayerViewLifecycleDelegate.ResumeConfiguration` instances.
  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.
  Playlist
  Common Playlist interface.
  SingleControllerPlaylist
  `Playlist` implementation.
  SingleControllerPlaylist.AbstractPlaylistListener
  Utility class with empty implementations of the methods defined in `SingleControllerPlaylist.PlaylistListener`
  SingleControllerPlaylist.BandwidthResetMode
  Annotation for BandwidthResetMode
  SingleControllerPlaylist.ItemLoadListener
  Listener which provides callbacks for whenever a `PlayerConfig` is loaded or unloaded from the playlist.
  SingleControllerPlaylist.PlaylistListener
  Playlist-related events listener.
  SourceSelector
  Deprecated.
  Use `ExternalSourceSelector`
  StreamingEventListener
  You can use this listener to get callbacks about current content downloads.
  TimelineChangedListener
  Interface definition for a callback to be invoked when the timeline has changed.
  TimelineListener
  Deprecated.
  Use `TimelineChangedListener` or `PeriodChangedListener` instead
  TrackIndexOverride
  Represents an override for a track index within a track group.
  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.
  TrickplayConfiguration
  Container which groups several Trickplay (speedup) configuration.
  TrickplayConfiguration.Builder
  `TrickplayConfiguration` Builder.
  TrickplayConfiguration.SpeedupMode
  Speedup mode to use during Trickplay
  VideoFilterConfiguration
  Configuration for filtering video renditions.
  VideoFilterConfiguration.Builder
  `VideoFilterConfiguration` builder static inner class.
  VideoFrameRenderedListener
  Listener for per-frame video render events.
  VideoMetadataListener
  Listener for metadata associated with video rendering.
  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.
  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`.
  ViewLoader
  Registers views with the Castlabs licensing backend to validate licenses and report usage.
  ViewLoader.PlaylistType
  Defines the type of playlist.
  VisualComponentProxy
  VisualComponent whose task is to communicate a `PlayerControllerPlugin.ComponentViewListener` with the `PlayerControllerPlugin.Component` machinery.