# androidx.media3.exoplayer.video

*** ** * ** ***

## Annotations

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoFrameReleaseControl.FrameReleaseAction` | The frame release action returned by `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoFrameReleaseControl#getFrameReleaseAction(long,long,long,long,boolean,boolean,long,long,androidx.media3.exoplayer.video.VideoFrameReleaseControl.FrameReleaseInfo)` or `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoFrameReleaseControl#probeFrameReleaseAction(long,long,long,long,long,long,androidx.media3.exoplayer.video.VideoFrameReleaseControl.FrameReleaseInfo)`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoSink.FirstFrameReleaseInstruction` | The instruction provided when the stream changes for releasing the first frame. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoSink.InputType` | Specifies how the input frames are made available to the video sink. |

## Interfaces

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/FixedFrameRateEstimator.Listener` | A listener for frame rate estimate updates. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoDecoderOutputBufferRenderer` | Renders the `https://developer.android.com/reference/androidx/media3/decoder/VideoDecoderOutputBuffer`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoFrameMetadataListener` | A listener for metadata corresponding to video frames being rendered. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoFrameReleaseControl.FrameTimingEvaluator` | Decides whether a frame should be forced to be released, or dropped. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener` | Listener of video `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` events. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoSink` | A sink that consumes decoded video frames and images. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoSink.Listener` | Listener for `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoSink` events. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoSink.VideoFrameHandler` | Handler for a video frame. |

## Classes

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/Av1ObuUtil` | Utility methods for AV1 OBUs. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/Av1SampleDependencyParser` | An AV1 bitstream parser that identifies frames that are not depended on. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/DecoderVideoRenderer` | Decodes and renders video using a `https://developer.android.com/reference/androidx/media3/decoder/Decoder`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/FixedFrameRateEstimator` | Attempts to detect and refine a fixed frame rate estimate based on frame presentation timestamps. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/HevcSeiUtil` | Utility methods for handling HEVC SEI messages. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/MediaCodecVideoRenderer` | Decodes and renders video using `https://developer.android.com/reference/android/media/MediaCodec.html`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.Builder` | A builder to create `https://developer.android.com/reference/androidx/media3/exoplayer/video/MediaCodecVideoRenderer` instances. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.CodecMaxValues` |   |
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/PlaceholderSurface` | A placeholder `https://developer.android.com/reference/android/view/Surface.html`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoDecoderGLSurfaceView` | GLSurfaceView implementing `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoDecoderOutputBufferRenderer` for rendering `https://developer.android.com/reference/androidx/media3/decoder/VideoDecoderOutputBuffer`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoFrameReleaseControl` | Controls the releasing of video frames. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoFrameReleaseControl.FrameReleaseInfo` | Per `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoFrameReleaseControl.FrameReleaseAction` metadata. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoFrameReleaseHelper` | A helper to release video frames to a `https://developer.android.com/reference/android/view/Surface.html`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener.EventDispatcher` | Dispatches events to a `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener`. |

## Exceptions

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/MediaCodecVideoDecoderException` | Thrown when a failure occurs in a `https://developer.android.com/reference/android/media/MediaCodec.html` video decoder. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoSink.VideoSinkException` | Thrown by `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoSink` implementations. |