# androidx.media3.exoplayer

*** ** * ** ***

## Annotations

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/DecoderReuseEvaluation.DecoderDiscardReasons` | Possible reasons why reuse is not possible. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/DecoderReuseEvaluation.DecoderReuseResult` | Possible outcomes of the evaluation. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultRenderersFactory.ExtensionRendererMode` | Modes for using extension renderers. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/ExoPlaybackException.Type` | The type of source that produced the error. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/ExoTimeoutException.TimeoutOperation` | The operation which produced the timeout error. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer.MessageType` | Represents a type of message that can be passed to a renderer. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer.State` | The renderer states. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport` | Level of renderer support for adaptive format switches. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport` | Level of renderer support for audio offload. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` | Combined renderer capabilities. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport` | Level of decoder support. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport` | Level of renderer support for hardware acceleration. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport` | Level of renderer support for tunneling. |

## Interfaces

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/CodecParametersChangeListener` | A listener for changes to codec parameters. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/ExoPlayer` | An extensible media player that plays `https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaSource`s. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/ExoPlayer.AudioOffloadListener` | A listener for audio offload events. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/LivePlaybackSpeedControl` | Controls the playback speed while playing live content in order to maintain a steady target live offset. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/LoadControl` | Controls buffering of media. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/MediaClock` | Tracks the progression of media time. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/PlayerMessage.Sender` | A sender for messages. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/PlayerMessage.Target` | A target for messages. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` | Renders media read from a `https://developer.android.com/reference/androidx/media3/exoplayer/source/SampleStream`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer.WakeupListener` | Some renderers can signal when `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer#render(long,long)` should be called. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities` | Defines the capabilities of a `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Listener` | Listener for renderer capabilities events. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilitiesList` | A list of `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilitiesList.Factory` | A factory for `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilitiesList` instances. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/RenderersFactory` | Builds `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` instances for use by an `https://developer.android.com/reference/androidx/media3/exoplayer/ExoPlayer`. |

## Classes

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/AbstractConcatenatedTimeline` | Abstract base class for the concatenation of one or more `https://developer.android.com/reference/androidx/media3/common/Timeline`s. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/BaseRenderer` | An abstract base class suitable for most `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` implementations. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/CodecParameters` | An immutable collection of parameters to be applied to a codec. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/CodecParameters.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/exoplayer/CodecParameters` instances. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/DecoderCounters` | Maintains decoder event counts, for debugging purposes only. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/DecoderReuseEvaluation` | The result of an evaluation to determine whether a decoder can be reused for a new input format. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl` | A `https://developer.android.com/reference/androidx/media3/exoplayer/LivePlaybackSpeedControl` that adjusts the playback speed using a proportional controller. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.Builder` | Builder for a `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLoadControl` | The default `https://developer.android.com/reference/androidx/media3/exoplayer/LoadControl` implementation. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLoadControl.Builder` | Builder for `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLoadControl`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultRendererCapabilitiesList` | The default `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilitiesList` implementation. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultRendererCapabilitiesList.Factory` | Factory for `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultRendererCapabilitiesList`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultRenderersFactory` | Default `https://developer.android.com/reference/androidx/media3/exoplayer/RenderersFactory` implementation. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/ExoPlayer.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/exoplayer/ExoPlayer` instances. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/ExoPlayer.PreloadConfiguration` | Configuration options for preloading playlist items. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/FormatHolder` | Holds a `https://developer.android.com/reference/androidx/media3/common/Format`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/ForwardingRenderer` | An overridable `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` implementation forwarding all methods to another renderer. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/LoadControl.Parameters` | Information about the current playback context and the `https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaPeriod` for which `https://developer.android.com/reference/androidx/media3/exoplayer/LoadControl` methods are called. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/LoadingInfo` | Information about the player state when loading is started or continued. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/LoadingInfo.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/exoplayer/LoadingInfo` instances. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/NoSampleRenderer` | A `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` implementation whose track type is `https://developer.android.com/reference/androidx/media3/common/C#TRACK_TYPE_NONE()` and does not consume data from its `https://developer.android.com/reference/androidx/media3/exoplayer/source/SampleStream`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/PlayerMessage` | Defines a player message which can be sent with a `https://developer.android.com/reference/androidx/media3/exoplayer/PlayerMessage.Sender` and received by a `https://developer.android.com/reference/androidx/media3/exoplayer/PlayerMessage.Target`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/RendererConfiguration` | The configuration of a `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/ScrubbingModeParameters` | Parameters to control the behavior of `https://developer.android.com/reference/androidx/media3/exoplayer/ExoPlayer#setScrubbingModeEnabled(boolean)`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/ScrubbingModeParameters.Builder` | Builder for `https://developer.android.com/reference/androidx/media3/exoplayer/ScrubbingModeParameters` instances. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/SeekParameters` | Parameters that apply to seeking. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/SimpleExoPlayer` | **This class is deprecated.** Use `https://developer.android.com/reference/androidx/media3/exoplayer/ExoPlayer` instead. <br /> |
| `https://developer.android.com/reference/androidx/media3/exoplayer/SimpleExoPlayer.Builder` | **This class is deprecated.** Use `https://developer.android.com/reference/androidx/media3/exoplayer/ExoPlayer.Builder` instead. <br /> |
| `https://developer.android.com/reference/androidx/media3/exoplayer/StandaloneMediaClock` | A `https://developer.android.com/reference/androidx/media3/exoplayer/MediaClock` whose position advances with real time based on the playback parameters when started. |

## Exceptions

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/ExoPlaybackException` | Thrown when a non locally recoverable playback failure occurs. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/ExoTimeoutException` | A timeout of an operation on the ExoPlayer playback thread. |