Stay organized with collections
Save and categorize content based on your preferences.
Annotations
Interfaces
Classes
Exceptions
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-07-10 UTC.
[null,null,["Last updated 2025-07-10 UTC."],[],[],null,["# androidx.media3.exoplayer.video\n===============================\n\n*** ** * ** ***\n\n[Kotlin](/reference/kotlin/androidx/media3/exoplayer/video/package-summary \"View this page in Kotlin\") \\|Java\n\nAnnotations\n-----------\n\n|---------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [VideoFrameReleaseControl.FrameReleaseAction](/reference/androidx/media3/exoplayer/video/VideoFrameReleaseControl.FrameReleaseAction) | The frame release action returned by [getFrameReleaseAction](/reference/androidx/media3/exoplayer/video/VideoFrameReleaseControl#getFrameReleaseAction(long,long,long,long,boolean,boolean,androidx.media3.exoplayer.video.VideoFrameReleaseControl.FrameReleaseInfo)). |\n| [VideoSink.FirstFrameReleaseInstruction](/reference/androidx/media3/exoplayer/video/VideoSink.FirstFrameReleaseInstruction) | The instruction provided when the stream changes for releasing the first frame. |\n| [VideoSink.InputType](/reference/androidx/media3/exoplayer/video/VideoSink.InputType) | Specifies how the input frames are made available to the video sink. |\n\nInterfaces\n----------\n\n|-------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------|\n| [VideoDecoderOutputBufferRenderer](/reference/androidx/media3/exoplayer/video/VideoDecoderOutputBufferRenderer) | Renders the [VideoDecoderOutputBuffer](/reference/androidx/media3/decoder/VideoDecoderOutputBuffer). |\n| [VideoFrameMetadataListener](/reference/androidx/media3/exoplayer/video/VideoFrameMetadataListener) | A listener for metadata corresponding to video frames being rendered. |\n| [VideoFrameReleaseControl.FrameTimingEvaluator](/reference/androidx/media3/exoplayer/video/VideoFrameReleaseControl.FrameTimingEvaluator) | Decides whether a frame should be forced to be released, or dropped. |\n| [VideoRendererEventListener](/reference/androidx/media3/exoplayer/video/VideoRendererEventListener) | Listener of video [Renderer](/reference/androidx/media3/exoplayer/Renderer) events. |\n| [VideoSink](/reference/androidx/media3/exoplayer/video/VideoSink) | A sink that consumes decoded video frames and images. |\n| [VideoSink.Listener](/reference/androidx/media3/exoplayer/video/VideoSink.Listener) | Listener for [VideoSink](/reference/androidx/media3/exoplayer/video/VideoSink) events. |\n| [VideoSink.VideoFrameHandler](/reference/androidx/media3/exoplayer/video/VideoSink.VideoFrameHandler) | Handler for a video frame. |\n\nClasses\n-------\n\n|-------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [Av1SampleDependencyParser](/reference/androidx/media3/exoplayer/video/Av1SampleDependencyParser) | An AV1 bitstream parser that identifies frames that are not depended on. |\n| [DecoderVideoRenderer](/reference/androidx/media3/exoplayer/video/DecoderVideoRenderer) | Decodes and renders video using a [Decoder](/reference/androidx/media3/decoder/Decoder). |\n| [MediaCodecVideoRenderer](/reference/androidx/media3/exoplayer/video/MediaCodecVideoRenderer) | Decodes and renders video using [MediaCodec](https://developer.android.com/reference/android/media/MediaCodec.html). |\n| [MediaCodecVideoRenderer.Builder](/reference/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.Builder) | A builder to create [MediaCodecVideoRenderer](/reference/androidx/media3/exoplayer/video/MediaCodecVideoRenderer) instances. |\n| [MediaCodecVideoRenderer.CodecMaxValues](/reference/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.CodecMaxValues) | |\n| [PlaceholderSurface](/reference/androidx/media3/exoplayer/video/PlaceholderSurface) | A placeholder [Surface](https://developer.android.com/reference/android/view/Surface.html). |\n| [VideoDecoderGLSurfaceView](/reference/androidx/media3/exoplayer/video/VideoDecoderGLSurfaceView) | GLSurfaceView implementing [VideoDecoderOutputBufferRenderer](/reference/androidx/media3/exoplayer/video/VideoDecoderOutputBufferRenderer) for rendering VideoDecoderOutputBuffers. |\n| [VideoFrameReleaseControl](/reference/androidx/media3/exoplayer/video/VideoFrameReleaseControl) | Controls the releasing of video frames. |\n| [VideoFrameReleaseControl.FrameReleaseInfo](/reference/androidx/media3/exoplayer/video/VideoFrameReleaseControl.FrameReleaseInfo) | Per [FrameReleaseAction](/reference/androidx/media3/exoplayer/video/VideoFrameReleaseControl.FrameReleaseAction) metadata. |\n| [VideoFrameReleaseHelper](/reference/androidx/media3/exoplayer/video/VideoFrameReleaseHelper) | A helper to release video frames to a [Surface](https://developer.android.com/reference/android/view/Surface.html). |\n| [VideoRendererEventListener.EventDispatcher](/reference/androidx/media3/exoplayer/video/VideoRendererEventListener.EventDispatcher) | Dispatches events to a [VideoRendererEventListener](/reference/androidx/media3/exoplayer/video/VideoRendererEventListener). |\n\nExceptions\n----------\n\n|---------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------|\n| [MediaCodecVideoDecoderException](/reference/androidx/media3/exoplayer/video/MediaCodecVideoDecoderException) | Thrown when a failure occurs in a [MediaCodec](https://developer.android.com/reference/android/media/MediaCodec.html) video decoder. |\n| [VideoSink.VideoSinkException](/reference/androidx/media3/exoplayer/video/VideoSink.VideoSinkException) | Thrown by [VideoSink](/reference/androidx/media3/exoplayer/video/VideoSink) implementations. |"]]