# 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
  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`
  AmLogicPlayerPlugin
  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
  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
  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.
  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
  DashEventStreamListener
  This listener is responsible to deliver cue-start and cue-end events corresponding to event-streams in DASH manifest.
  DashMetadataListener
  DashPlayerPlugin
  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.
  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
  ExoSubtitlesRendererPlugin
  Plugin which exposes a TrackRenderer for the default Exoplayer subtitles.
  ExoSubtitlesRendererPlugin.ExoSubtitleComponent
  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
  FormatChangeListener
  This interface will receive events whenever the downstream `Format`s change.
  HlsClearKeyCache
  Cache for `Drm.Clearkey`.
  HlsPlayerPlugin
  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.
  IPTVPlayerPlugin
  LiveConfiguration
  Configuration object that groups all relevant parameters related to live streaming.
  LiveConfiguration.Builder
  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
  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.
  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
  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.
  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>
  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.
  Playlist
  Common Playlist interface.
  SingleControllerPlaylist
  `Playlist` implementation.
  SingleControllerPlaylist.AbstractPlaylistListener
  Utility class with empty implementations of the methods defined in `SingleControllerPlaylist.PlaylistListener`
  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.
  StreamingEventListener
  You can use this listener to get callbacks about current content downloads.
  TimelineChangedListener
  TimelineListener
  Deprecated.
  Use `TimelineChangedListener` or `PeriodChangedListener` instead
  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.
  TrickplayConfiguration
  Container which groups several Trickplay (speedup) configuration.
  TrickplayConfiguration.Builder
  `TrickplayConfiguration` Builder.
  TrickplayConfiguration.SpeedupMode
  Speedup mode to use during Trickplay
  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.
  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
  ViewLoader.PlaylistType
  VisualComponentProxy
  VisualComponent whose task is to communicate a `PlayerControllerPlugin.ComponentViewListener` with the `PlayerControllerPlugin.Component` machinery.