# Package com.google.android.exoplayer2

- Interface Summary
  Interface | Description
  --- | ---
  Bundleable | Interface for classes whose instance can be stored in a `Bundle` by `Bundleable.toBundle()` and can be restored from the `Bundle` by using the static `CREATOR` field that implements `Bundleable.Creator`.
  Bundleable.Creator<T extends Bundleable> | Interface for the static `CREATOR` field of `Bundleable` classes.
  ControlDispatcher | Deprecated. Use a `ForwardingPlayer` or configure the player to customize operations.
  ExoPlayer | An extensible media player that plays `MediaSource`s.
  ExoPlayer.AudioComponent | The audio component of an `ExoPlayer`.
  ExoPlayer.AudioOffloadListener | A listener for audio offload events.
  ExoPlayer.DeviceComponent | The device component of an `ExoPlayer`.
  ExoPlayer.MetadataComponent | The metadata component of an `ExoPlayer`.
  ExoPlayer.TextComponent | The text component of an `ExoPlayer`.
  ExoPlayer.VideoComponent | The video component of an `ExoPlayer`.
  LivePlaybackSpeedControl | Controls the playback speed while playing live content in order to maintain a steady target live offset.
  LoadControl | Controls buffering of media.
  Player | A media player interface defining traditional high-level functionality, such as the ability to play, pause, seek and query properties of the currently playing media.
  Player.EventListener | Deprecated. Use `Player.Listener`.
  Player.Listener | Listener of all changes in the Player.
  PlayerMessage.Sender | A sender for messages.
  PlayerMessage.Target | A target for messages.
  Renderer | Renders media read from a `SampleStream`.
  Renderer.WakeupListener | Some renderers can signal when `Renderer.render(long, long)` should be called.
  RendererCapabilities | Defines the capabilities of a `Renderer`.
  RenderersFactory | Builds `Renderer` instances for use by a `SimpleExoPlayer`.

- Class Summary
  Class | Description
  --- | ---
  AbstractConcatenatedTimeline | Abstract base class for the concatenation of one or more `Timeline`s.
  BasePlayer | Abstract base `Player` which implements common implementation independent methods.
  BaseRenderer | An abstract base class suitable for most `Renderer` implementations.
  BundleListRetriever | A `Binder` to transfer a list of `Bundles` across processes by splitting the list into multiple transactions.
  C | Defines constants used by the library.
  DefaultControlDispatcher | Deprecated. Use a `ForwardingPlayer` or configure the player to customize operations.
  DefaultLivePlaybackSpeedControl | A `LivePlaybackSpeedControl` that adjusts the playback speed using a proportional controller.
  DefaultLivePlaybackSpeedControl.Builder | Builder for a `DefaultLivePlaybackSpeedControl`.
  DefaultLoadControl | The default `LoadControl` implementation.
  DefaultLoadControl.Builder | Builder for `DefaultLoadControl`.
  DefaultRenderersFactory | Default `RenderersFactory` implementation.
  ExoPlayer.Builder | Deprecated. Use `SimpleExoPlayer.Builder` instead.
  ExoPlayerLibraryInfo | Information about the ExoPlayer library.
  Format | Represents a media format.
  Format.Builder | Builds `Format` instances.
  FormatHolder | Holds a `Format`.
  ForwardingPlayer | A `Player` that forwards operations to another `Player`.
  HeartRating | A rating expressed as "heart" or "no heart".
  MediaItem | Representation of a media item.
  MediaItem.AdsConfiguration | Configuration for playing back linear ads with a media item.
  MediaItem.Builder | A builder for `MediaItem` instances.
  MediaItem.ClippingProperties | Optionally clips the media item to a custom start and end position.
  MediaItem.DrmConfiguration | DRM configuration for a media item.
  MediaItem.LiveConfiguration | Live playback configuration.
  MediaItem.PlaybackProperties | Properties for local playback.
  MediaItem.Subtitle | Properties for a text track.
  MediaMetadata | Metadata of a `MediaItem`, playlist, or a combination of multiple sources of `Metadata`.
  MediaMetadata.Builder | A builder for `MediaMetadata` instances.
  MetadataRetriever | Retrieves the static metadata of `MediaItems`.
  NoSampleRenderer | A `Renderer` implementation whose track type is `C.TRACK_TYPE_NONE` and does not consume data from its `SampleStream`.
  PercentageRating | A rating expressed as a percentage.
  PlaybackParameters | Parameters that apply to playback, including speed setting.
  Player.Commands | A set of `commands`.
  Player.Commands.Builder | A builder for `Player.Commands` instances.
  Player.Events | A set of `events`.
  Player.PositionInfo | Position info describing a playback position involved in a discontinuity.
  PlayerMessage | Defines a player message which can be sent with a `PlayerMessage.Sender` and received by a `PlayerMessage.Target`.
  Rating | A rating for media content.
  RendererConfiguration | The configuration of a `Renderer`.
  SeekParameters | Parameters that apply to seeking.
  SimpleExoPlayer | An `ExoPlayer` implementation that uses default `Renderer` components.
  SimpleExoPlayer.Builder | A builder for `SimpleExoPlayer` instances.
  StarRating | A rating expressed as a fractional number of stars.
  ThumbRating | A rating expressed as "thumbs up" or "thumbs down".
  Timeline | A flexible representation of the structure of media.
  Timeline.Period | Holds information about a period in a `Timeline`.
  Timeline.RemotableTimeline | A concrete class of `Timeline` to restore a `Timeline` instance from a `Bundle` sent by another process via `IBinder`.
  Timeline.Window | Holds information about a window in a `Timeline`.

- Exception Summary
  Exception | Description
  --- | ---
  ExoPlaybackException | Thrown when a non locally recoverable playback failure occurs.
  ExoTimeoutException | A timeout of an operation on the ExoPlayer playback thread.
  IllegalSeekPositionException | Thrown when an attempt is made to seek to a position that does not exist in the player's `Timeline`.
  ParserException | Thrown when an error occurs parsing media data and metadata.
  PlaybackException | Thrown when a non locally recoverable playback failure occurs.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  C.AudioAllowedCapturePolicy | Capture policies for audio attributes.
  C.AudioContentType | Content types for audio attributes.
  C.AudioFlags | Flags for audio attributes.
  C.AudioFocusGain | Audio focus types.
  C.AudioUsage | Usage types for audio attributes.
  C.BufferFlags | Flags which can apply to a buffer containing a media sample.
  C.ColorRange | Video color range.
  C.ColorSpace | Video colorspaces.
  C.ColorTransfer | Video color transfer characteristics.
  C.ContentType | Represents a streaming or other media type.
  C.CryptoMode | Crypto modes for a codec.
  C.DataType | Represents a type of data.
  C.Encoding | Represents an audio encoding, or an invalid or unset value.
  C.FormatSupport | Level of renderer support for a format.
  C.NetworkType | Network connection type.
  C.PcmEncoding | Represents a PCM audio encoding, or an invalid or unset value.
  C.Projection | Video projection types.
  C.RoleFlags | Track role flags.
  C.SelectionFlags | Track selection flags.
  C.StereoMode | The stereo mode for 360/3D/VR videos.
  C.StreamType | Stream types for an `AudioTrack`.
  C.VideoOutputMode | Video decoder output modes.
  C.VideoScalingMode | Video scaling modes for `MediaCodec`-based renderers.
  C.WakeMode | Mode specifying whether the player should hold a WakeLock and a WifiLock.
  DefaultRenderersFactory.ExtensionRendererMode | Modes for using extension renderers.
  ExoPlaybackException.Type | The type of source that produced the error.
  ExoTimeoutException.TimeoutOperation | The operation which produced the timeout error.
  MediaMetadata.FolderType | The folder type of the media item.
  MediaMetadata.PictureType | The picture type of the artwork.
  PlaybackException.ErrorCode | Codes that identify causes of player errors.
  PlaybackException.FieldNumber | Identifiers for fields in a `Bundle` which represents a playback exception.
  Player.Command | Commands that can be executed on a `Player`.
  Player.DiscontinuityReason | Reasons for position discontinuities.
  Player.Event | Events that can be reported via `Player.Listener.onEvents(Player, Events)`.
  Player.MediaItemTransitionReason | Reasons for media item transitions.
  Player.PlaybackSuppressionReason | Reason why playback is suppressed even though `Player.getPlayWhenReady()` is `true`.
  Player.PlayWhenReadyChangeReason | Reasons for `playWhenReady` changes.
  Player.RepeatMode | Repeat modes for playback.
  Player.State | Playback state.
  Player.TimelineChangeReason | Reasons for timeline changes.
  Renderer.State | The renderer states.
  Renderer.VideoScalingMode | Deprecated. Use `C.VideoScalingMode`.
  RendererCapabilities.AdaptiveSupport | Level of renderer support for adaptive format switches.
  RendererCapabilities.Capabilities | Combined renderer capabilities.
  RendererCapabilities.FormatSupport | Deprecated. Use `C.FormatSupport` instead.
  RendererCapabilities.TunnelingSupport | Level of renderer support for tunneling.