# RendererCapabilities

Artifact: [androidx.media3:media3-exoplayer](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/exoplayer/RendererCapabilities.java+class:androidx.media3.exoplayer.RendererCapabilities)

*** ** * ** ***


```
@UnstableApi
public interface RendererCapabilities
```

<br />

Known direct subclasses [BaseRenderer](https://developer.android.com/reference/androidx/media3/exoplayer/BaseRenderer), [NoSampleRenderer](https://developer.android.com/reference/androidx/media3/exoplayer/NoSampleRenderer)

|---|---|
| `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/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`. |

Known indirect subclasses [CameraMotionRenderer](https://developer.android.com/reference/androidx/media3/exoplayer/video/spherical/CameraMotionRenderer), [CapturingRenderersFactory.CapturingMediaCodecVideoRenderer](https://developer.android.com/reference/androidx/media3/test/utils/robolectric/CapturingRenderersFactory.CapturingMediaCodecVideoRenderer), [DecoderAudioRenderer](https://developer.android.com/reference/androidx/media3/exoplayer/audio/DecoderAudioRenderer), [DecoderVideoRenderer](https://developer.android.com/reference/androidx/media3/exoplayer/video/DecoderVideoRenderer), [FakeAudioRenderer](https://developer.android.com/reference/androidx/media3/test/utils/FakeAudioRenderer), [FakeMediaClockRenderer](https://developer.android.com/reference/androidx/media3/test/utils/FakeMediaClockRenderer), [FakeRenderer](https://developer.android.com/reference/androidx/media3/test/utils/FakeRenderer), [FakeVideoRenderer](https://developer.android.com/reference/androidx/media3/test/utils/FakeVideoRenderer), [ImageRenderer](https://developer.android.com/reference/androidx/media3/exoplayer/image/ImageRenderer), [MediaCodecAudioRenderer](https://developer.android.com/reference/androidx/media3/exoplayer/audio/MediaCodecAudioRenderer), [MediaCodecRenderer](https://developer.android.com/reference/androidx/media3/exoplayer/mediacodec/MediaCodecRenderer), [MediaCodecVideoRenderer](https://developer.android.com/reference/androidx/media3/exoplayer/video/MediaCodecVideoRenderer), [MetadataRenderer](https://developer.android.com/reference/androidx/media3/exoplayer/metadata/MetadataRenderer), [TextRenderer](https://developer.android.com/reference/androidx/media3/exoplayer/text/TextRenderer)

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/spherical/CameraMotionRenderer` | A `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` that parses the camera motion track. |
| `https://developer.android.com/reference/androidx/media3/test/utils/robolectric/CapturingRenderersFactory.CapturingMediaCodecVideoRenderer` | A `https://developer.android.com/reference/androidx/media3/exoplayer/video/MediaCodecVideoRenderer` that will not skip or drop buffers due to slow processing. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/DecoderAudioRenderer` | Decodes and renders audio using a `https://developer.android.com/reference/androidx/media3/decoder/Decoder`. |
| `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/test/utils/FakeAudioRenderer` | A `https://developer.android.com/reference/androidx/media3/test/utils/FakeRenderer` that supports `https://developer.android.com/reference/androidx/media3/common/C#TRACK_TYPE_AUDIO()`. |
| `https://developer.android.com/reference/androidx/media3/test/utils/FakeMediaClockRenderer` | Fake abstract `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` which is also a `https://developer.android.com/reference/androidx/media3/exoplayer/MediaClock`. |
| `https://developer.android.com/reference/androidx/media3/test/utils/FakeRenderer` | Fake `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` that supports any format with the matching track type. |
| `https://developer.android.com/reference/androidx/media3/test/utils/FakeVideoRenderer` | A `https://developer.android.com/reference/androidx/media3/test/utils/FakeRenderer` that supports `https://developer.android.com/reference/androidx/media3/common/C#TRACK_TYPE_VIDEO()`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/image/ImageRenderer` | A `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` implementation for images. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/MediaCodecAudioRenderer` | Decodes and renders audio using `https://developer.android.com/reference/android/media/MediaCodec.html` and an `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioSink`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/mediacodec/MediaCodecRenderer` | An abstract renderer that uses `https://developer.android.com/reference/android/media/MediaCodec.html` to decode samples for rendering. |
| `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/metadata/MetadataRenderer` | A renderer for metadata. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/text/TextRenderer` | A `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` for text. |

*** ** * ** ***

Defines the capabilities of a `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer`.

## Summary

| ### Nested types |
|---|
| `@https://developer.android.com/reference/java/lang/annotation/Documented.html @https://developer.android.com/reference/java/lang/annotation/Retention.html(value = https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html#SOURCE) @https://developer.android.com/reference/java/lang/annotation/Target.html(value = https://developer.android.com/reference/java/lang/annotation/ElementType.html#TYPE_USE) @https://developer.android.com/reference/androidx/annotation/IntDef(value = ) public annotation https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport` Level of renderer support for adaptive format switches. |
| `@https://developer.android.com/reference/java/lang/annotation/Documented.html @https://developer.android.com/reference/java/lang/annotation/Retention.html(value = https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html#SOURCE) @https://developer.android.com/reference/java/lang/annotation/Target.html(value = https://developer.android.com/reference/java/lang/annotation/ElementType.html#TYPE_USE) @https://developer.android.com/reference/androidx/annotation/IntDef(value = ) public annotation https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport` Level of renderer support for audio offload. |
| `@https://developer.android.com/reference/java/lang/annotation/Documented.html @https://developer.android.com/reference/java/lang/annotation/Retention.html(value = https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html#SOURCE) @https://developer.android.com/reference/java/lang/annotation/Target.html(value = https://developer.android.com/reference/java/lang/annotation/ElementType.html#TYPE_USE) @https://developer.android.com/reference/androidx/annotation/IntDef(value = ) public annotation https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` Combined renderer capabilities. |
| `@https://developer.android.com/reference/java/lang/annotation/Documented.html @https://developer.android.com/reference/java/lang/annotation/Retention.html(value = https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html#SOURCE) @https://developer.android.com/reference/java/lang/annotation/Target.html(value = https://developer.android.com/reference/java/lang/annotation/ElementType.html#TYPE_USE) @https://developer.android.com/reference/androidx/annotation/IntDef(value = ) public annotation https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport` Level of decoder support. |
| `@https://developer.android.com/reference/java/lang/annotation/Documented.html @https://developer.android.com/reference/java/lang/annotation/Retention.html(value = https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html#SOURCE) @https://developer.android.com/reference/java/lang/annotation/Target.html(value = https://developer.android.com/reference/java/lang/annotation/ElementType.html#TYPE_USE) @https://developer.android.com/reference/androidx/annotation/IntDef(value = ) public annotation https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport` Level of renderer support for hardware acceleration. |
| `public interface https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Listener` Listener for renderer capabilities events. |
| `@https://developer.android.com/reference/java/lang/annotation/Documented.html @https://developer.android.com/reference/java/lang/annotation/Retention.html(value = https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html#SOURCE) @https://developer.android.com/reference/java/lang/annotation/Target.html(value = https://developer.android.com/reference/java/lang/annotation/ElementType.html#TYPE_USE) @https://developer.android.com/reference/androidx/annotation/IntDef(value = ) public annotation https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport` Level of renderer support for tunneling. |

| ### Constants |
|---|---|
| `default static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#ADAPTIVE_NOT_SEAMLESS() = 8` The `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` can adapt between formats, but may suffer a brief discontinuity (\~50-100ms) when adaptation occurs. |
| `default static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#ADAPTIVE_NOT_SUPPORTED() = 0` The `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` does not support adaptation between formats. |
| `default static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#ADAPTIVE_SEAMLESS() = 16` The `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` can seamlessly adapt between formats. |
| `default static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#ADAPTIVE_SUPPORT_MASK() = 24` A mask to apply to `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` to obtain the `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport` only. |
| `default static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#AUDIO_OFFLOAD_GAPLESS_SUPPORTED() = 1024` The renderer supports audio offload and gapless transitions with this format. |
| `default static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#AUDIO_OFFLOAD_NOT_SUPPORTED() = 0` Audio offload is not supported with this format. |
| `default static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#AUDIO_OFFLOAD_SPEED_CHANGE_SUPPORTED() = 2048` The renderer supports audio offload and speed changes with this format. |
| `default static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#AUDIO_OFFLOAD_SUPPORTED() = 512` The renderer supports audio offload with this format. |
| `default static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#AUDIO_OFFLOAD_SUPPORT_MASK() = 3584` A mask to apply to `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` to obtain `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport` only. |
| `default static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#DECODER_SUPPORT_FALLBACK() = 0` The format exceeds the primary decoder's capabilities but is supported by fallback decoder |
| `default static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#DECODER_SUPPORT_FALLBACK_MIMETYPE() = 256` The format's MIME type is unsupported and the renderer may use a decoder for a fallback MIME type. |
| `default static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#DECODER_SUPPORT_MASK() = 384` A mask to apply to `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` to obtain `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport` only. |
| `default static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#DECODER_SUPPORT_PRIMARY() = 128` The renderer is able to use the primary decoder for the format's MIME type. |
| `default static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#FORMAT_SUPPORT_MASK() = 7` A mask to apply to `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` to obtain the `https://developer.android.com/reference/androidx/media3/common/C.FormatSupport` only. |
| `default static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#HARDWARE_ACCELERATION_NOT_SUPPORTED() = 0` The renderer is not able to use hardware acceleration. |
| `default static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#HARDWARE_ACCELERATION_SUPPORTED() = 64` The renderer is able to use hardware acceleration. |
| `default static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#HARDWARE_ACCELERATION_SUPPORT_MASK() = 64` A mask to apply to `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` to obtain `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport` only. |
| `default static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#TUNNELING_NOT_SUPPORTED() = 0` The `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` does not support tunneled output. |
| `default static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#TUNNELING_SUPPORTED() = 32` The `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` supports tunneled output. |
| `default static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#TUNNELING_SUPPORT_MASK() = 32` A mask to apply to `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` to obtain `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport` only. |

| ### Public methods |
|---|---|
| `default void` | `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#clearListener()()` Clears the `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Listener`. |
| `default static int` | `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#create(int)(@https://developer.android.com/reference/androidx/media3/common/C.FormatSupport int formatSupport)` Returns `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` for the given `https://developer.android.com/reference/androidx/media3/common/C.FormatSupport`. |
| `default static int` | `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#create(int,int,int)( @https://developer.android.com/reference/androidx/media3/common/C.FormatSupport int formatSupport, @https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport int adaptiveSupport, @https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport int tunnelingSupport )` Returns `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` combining the given `https://developer.android.com/reference/androidx/media3/common/C.FormatSupport`, `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport` and `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport`. |
| `default static int` | `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#create(int,int,int,int)( @https://developer.android.com/reference/androidx/media3/common/C.FormatSupport int formatSupport, @https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport int adaptiveSupport, @https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport int tunnelingSupport, @https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport int audioOffloadSupport )` Returns `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` combining the given `https://developer.android.com/reference/androidx/media3/common/C.FormatSupport`, `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport`, `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport`, and `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport`. |
| `default static int` | `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#create(int,int,int,int,int)( @https://developer.android.com/reference/androidx/media3/common/C.FormatSupport int formatSupport, @https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport int adaptiveSupport, @https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport int tunnelingSupport, @https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport int hardwareAccelerationSupport, @https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport int decoderSupport )` Returns `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` combining the given `https://developer.android.com/reference/androidx/media3/common/C.FormatSupport`, `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport`, `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport`, `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport`, and `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport`. |
| `default static int` | `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#create(int,int,int,int,int,int)( @https://developer.android.com/reference/androidx/media3/common/C.FormatSupport int formatSupport, @https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport int adaptiveSupport, @https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport int tunnelingSupport, @https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport int hardwareAccelerationSupport, @https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport int decoderSupport, @https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport int audioOffloadSupport )` Returns `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` combining the given `https://developer.android.com/reference/androidx/media3/common/C.FormatSupport`, `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport`, `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport`, `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport`, `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport` and `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport`. |
| `default static int` | `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#getAdaptiveSupport(int)(@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities int supportFlags)` Returns the `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport` from the combined `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities`. |
| `default static int` | `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#getAudioOffloadSupport(int)( @https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities int supportFlags )` Returns the `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport` from the combined `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities`. |
| `default static int` | `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#getDecoderSupport(int)(@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities int supportFlags)` Returns the `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport` from the combined `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities`. |
| `default static int` | `@https://developer.android.com/reference/androidx/media3/common/C.FormatSupport https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#getFormatSupport(int)(@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities int supportFlags)` Returns the `https://developer.android.com/reference/androidx/media3/common/C.FormatSupport` from the combined `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities`. |
| `default static int` | `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#getHardwareAccelerationSupport(int)( @https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities int supportFlags )` Returns the `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport` from the combined `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities`. |
| `abstract https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#getName()()` Returns the name of the `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer`. |
| `abstract int` | `@https://developer.android.com/reference/androidx/media3/common/C.TrackType https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#getTrackType()()` Returns the track type that the `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` handles. |
| `default static int` | `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#getTunnelingSupport(int)(@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities int supportFlags)` Returns the `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport` from the combined `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities`. |
| `default static boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#isFormatSupported(int,boolean)( @https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities int supportFlags, boolean allowExceedsCapabilities )` Returns whether the `https://developer.android.com/reference/androidx/media3/common/C.FormatSupport` from the combined `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` indicates the format is supported. |
| `default void` | `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#setListener(androidx.media3.exoplayer.RendererCapabilities.Listener)(https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Listener listener)` Sets the `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Listener`. |
| `abstract int` | `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#supportsFormat(androidx.media3.common.Format)(https://developer.android.com/reference/androidx/media3/common/Format format)` Returns the extent to which the `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` supports a given format. |
| `abstract int` | `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#supportsMixedMimeTypeAdaptation()()` Returns the extent to which the `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` supports adapting between supported formats that have different MIME types. |

## Constants

### ADAPTIVE_NOT_SEAMLESS

```
default static final int ADAPTIVE_NOT_SEAMLESS = 8
```

The `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` can adapt between formats, but may suffer a brief discontinuity (\~50-100ms) when adaptation occurs.

### ADAPTIVE_NOT_SUPPORTED

```
default static final int ADAPTIVE_NOT_SUPPORTED = 0
```

The `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` does not support adaptation between formats.

### ADAPTIVE_SEAMLESS

```
default static final int ADAPTIVE_SEAMLESS = 16
```

The `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` can seamlessly adapt between formats.

### ADAPTIVE_SUPPORT_MASK

```
default static final int ADAPTIVE_SUPPORT_MASK = 24
```

A mask to apply to `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` to obtain the `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport` only.

### AUDIO_OFFLOAD_GAPLESS_SUPPORTED

```
default static final int AUDIO_OFFLOAD_GAPLESS_SUPPORTED = 1024
```

The renderer supports audio offload and gapless transitions with this format.

### AUDIO_OFFLOAD_NOT_SUPPORTED

```
default static final int AUDIO_OFFLOAD_NOT_SUPPORTED = 0
```

Audio offload is not supported with this format.

### AUDIO_OFFLOAD_SPEED_CHANGE_SUPPORTED

```
default static final int AUDIO_OFFLOAD_SPEED_CHANGE_SUPPORTED = 2048
```

The renderer supports audio offload and speed changes with this format.

### AUDIO_OFFLOAD_SUPPORTED

```
default static final int AUDIO_OFFLOAD_SUPPORTED = 512
```

The renderer supports audio offload with this format.

### AUDIO_OFFLOAD_SUPPORT_MASK

```
default static final int AUDIO_OFFLOAD_SUPPORT_MASK = 3584
```

A mask to apply to `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` to obtain `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport` only.

### DECODER_SUPPORT_FALLBACK

```
default static final int DECODER_SUPPORT_FALLBACK = 0
```

The format exceeds the primary decoder's capabilities but is supported by fallback decoder

### DECODER_SUPPORT_FALLBACK_MIMETYPE

```
default static final int DECODER_SUPPORT_FALLBACK_MIMETYPE = 256
```

The format's MIME type is unsupported and the renderer may use a decoder for a fallback MIME type.

### DECODER_SUPPORT_MASK

```
default static final int DECODER_SUPPORT_MASK = 384
```

A mask to apply to `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` to obtain `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport` only.

### DECODER_SUPPORT_PRIMARY

```
default static final int DECODER_SUPPORT_PRIMARY = 128
```

The renderer is able to use the primary decoder for the format's MIME type.

### FORMAT_SUPPORT_MASK

```
default static final int FORMAT_SUPPORT_MASK = 7
```

A mask to apply to `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` to obtain the `https://developer.android.com/reference/androidx/media3/common/C.FormatSupport` only.

### HARDWARE_ACCELERATION_NOT_SUPPORTED

```
default static final int HARDWARE_ACCELERATION_NOT_SUPPORTED = 0
```

The renderer is not able to use hardware acceleration.

### HARDWARE_ACCELERATION_SUPPORTED

```
default static final int HARDWARE_ACCELERATION_SUPPORTED = 64
```

The renderer is able to use hardware acceleration.

### HARDWARE_ACCELERATION_SUPPORT_MASK

```
default static final int HARDWARE_ACCELERATION_SUPPORT_MASK = 64
```

A mask to apply to `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` to obtain `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport` only.

### TUNNELING_NOT_SUPPORTED

```
default static final int TUNNELING_NOT_SUPPORTED = 0
```

The `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` does not support tunneled output.

### TUNNELING_SUPPORTED

```
default static final int TUNNELING_SUPPORTED = 32
```

The `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` supports tunneled output.

### TUNNELING_SUPPORT_MASK

```
default static final int TUNNELING_SUPPORT_MASK = 32
```

A mask to apply to `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` to obtain `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport` only.

## Public methods

### clearListener

```
default void clearListener()
```

Clears the `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Listener`.

### create

```
@RendererCapabilities.Capabilities
default static int create(@C.FormatSupport int formatSupport)
```

Returns `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` for the given `https://developer.android.com/reference/androidx/media3/common/C.FormatSupport`.

`https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport` is set to `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#ADAPTIVE_NOT_SUPPORTED()`, `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport` is set to `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#TUNNELING_NOT_SUPPORTED()`, `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport` is set to `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#HARDWARE_ACCELERATION_NOT_SUPPORTED()`, `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport` is set to `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#DECODER_SUPPORT_PRIMARY()` and `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport` is set to `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#AUDIO_OFFLOAD_NOT_SUPPORTED()`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/media3/common/C.FormatSupport int formatSupport` | The `https://developer.android.com/reference/androidx/media3/common/C.FormatSupport`. |

| Returns |
|---|---|
| `int` | The combined `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` of the given `https://developer.android.com/reference/androidx/media3/common/C.FormatSupport`, `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#ADAPTIVE_NOT_SUPPORTED()`, `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#TUNNELING_NOT_SUPPORTED()` and `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#AUDIO_OFFLOAD_NOT_SUPPORTED()`. |

### create

```
@RendererCapabilities.Capabilities
default static int create(
    @C.FormatSupport int formatSupport,
    @RendererCapabilities.AdaptiveSupport int adaptiveSupport,
    @RendererCapabilities.TunnelingSupport int tunnelingSupport
)
```

Returns `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` combining the given `https://developer.android.com/reference/androidx/media3/common/C.FormatSupport`, `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport` and `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport`.

`https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport` is set to `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#HARDWARE_ACCELERATION_NOT_SUPPORTED()`, `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport` is set to `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#DECODER_SUPPORT_PRIMARY()`, and `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport` is set to `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#AUDIO_OFFLOAD_NOT_SUPPORTED()`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/media3/common/C.FormatSupport int formatSupport` | The `https://developer.android.com/reference/androidx/media3/common/C.FormatSupport`. |
| `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport int adaptiveSupport` | The `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport`. |
| `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport int tunnelingSupport` | The `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport`. |

| Returns |
|---|---|
| `int` | The combined `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities`. |

### create

```
@RendererCapabilities.Capabilities
default static int create(
    @C.FormatSupport int formatSupport,
    @RendererCapabilities.AdaptiveSupport int adaptiveSupport,
    @RendererCapabilities.TunnelingSupport int tunnelingSupport,
    @RendererCapabilities.AudioOffloadSupport int audioOffloadSupport
)
```

Returns `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` combining the given `https://developer.android.com/reference/androidx/media3/common/C.FormatSupport`, `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport`, `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport`, and `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport`.

`https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport` is set to `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#HARDWARE_ACCELERATION_NOT_SUPPORTED()` and `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport` is set to `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#DECODER_SUPPORT_PRIMARY()`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/media3/common/C.FormatSupport int formatSupport` | The `https://developer.android.com/reference/androidx/media3/common/C.FormatSupport`. |
| `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport int adaptiveSupport` | The `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport`. |
| `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport int tunnelingSupport` | The `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport`. |
| `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport int audioOffloadSupport` | The `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport`. |

| Returns |
|---|---|
| `int` | The combined `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities`. |

### create

```
@RendererCapabilities.Capabilities
default static int create(
    @C.FormatSupport int formatSupport,
    @RendererCapabilities.AdaptiveSupport int adaptiveSupport,
    @RendererCapabilities.TunnelingSupport int tunnelingSupport,
    @RendererCapabilities.HardwareAccelerationSupport int hardwareAccelerationSupport,
    @RendererCapabilities.DecoderSupport int decoderSupport
)
```

Returns `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` combining the given `https://developer.android.com/reference/androidx/media3/common/C.FormatSupport`, `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport`, `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport`, `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport`, and `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport`.

`https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport` is set to `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities#AUDIO_OFFLOAD_NOT_SUPPORTED()`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/media3/common/C.FormatSupport int formatSupport` | The `https://developer.android.com/reference/androidx/media3/common/C.FormatSupport`. |
| `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport int adaptiveSupport` | The `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport`. |
| `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport int tunnelingSupport` | The `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport`. |
| `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport int hardwareAccelerationSupport` | The `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport`. |
| `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport int decoderSupport` | The `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport`. |

| Returns |
|---|---|
| `int` | The combined `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities`. |

### create

```
@RendererCapabilities.Capabilities
default static int create(
    @C.FormatSupport int formatSupport,
    @RendererCapabilities.AdaptiveSupport int adaptiveSupport,
    @RendererCapabilities.TunnelingSupport int tunnelingSupport,
    @RendererCapabilities.HardwareAccelerationSupport int hardwareAccelerationSupport,
    @RendererCapabilities.DecoderSupport int decoderSupport,
    @RendererCapabilities.AudioOffloadSupport int audioOffloadSupport
)
```

Returns `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` combining the given `https://developer.android.com/reference/androidx/media3/common/C.FormatSupport`, `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport`, `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport`, `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport`, `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport` and `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/media3/common/C.FormatSupport int formatSupport` | The `https://developer.android.com/reference/androidx/media3/common/C.FormatSupport`. |
| `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport int adaptiveSupport` | The `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport`. |
| `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport int tunnelingSupport` | The `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport`. |
| `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport int hardwareAccelerationSupport` | The `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport`. |
| `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport int decoderSupport` | The `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport`. |
| `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport int audioOffloadSupport` | The `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport` |

| Returns |
|---|---|
| `int` | The combined `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities`. |

### getAdaptiveSupport

```
@RendererCapabilities.AdaptiveSupport
default static int getAdaptiveSupport(@RendererCapabilities.Capabilities int supportFlags)
```

Returns the `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport` from the combined `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities int supportFlags` | The combined `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities`. |

| Returns |
|---|---|
| `int` | The `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport` only. |

### getAudioOffloadSupport

```
@RendererCapabilities.AudioOffloadSupport
default static int getAudioOffloadSupport(
    @RendererCapabilities.Capabilities int supportFlags
)
```

Returns the `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport` from the combined `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities int supportFlags` | The combined `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities`. |

| Returns |
|---|---|
| `int` | The `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport` only. |

### getDecoderSupport

```
@RendererCapabilities.DecoderSupport
default static int getDecoderSupport(@RendererCapabilities.Capabilities int supportFlags)
```

Returns the `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport` from the combined `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities int supportFlags` | The combined `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities`. |

| Returns |
|---|---|
| `int` | The `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport` only. |

### getFormatSupport

```
@C.FormatSupport
default static int getFormatSupport(@RendererCapabilities.Capabilities int supportFlags)
```

Returns the `https://developer.android.com/reference/androidx/media3/common/C.FormatSupport` from the combined `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities int supportFlags` | The combined `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities`. |

| Returns |
|---|---|
| `int` | The `https://developer.android.com/reference/androidx/media3/common/C.FormatSupport` only. |

### getHardwareAccelerationSupport

```
@RendererCapabilities.HardwareAccelerationSupport
default static int getHardwareAccelerationSupport(
    @RendererCapabilities.Capabilities int supportFlags
)
```

Returns the `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport` from the combined `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities int supportFlags` | The combined `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities`. |

| Returns |
|---|---|
| `int` | The `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport` only. |

### getName

```
abstract String getName()
```

Returns the name of the `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer`.

### getTrackType

```
@C.TrackType
abstract int getTrackType()
```

Returns the track type that the `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` handles. For example, a video renderer will return `https://developer.android.com/reference/androidx/media3/common/C#TRACK_TYPE_VIDEO()`, an audio renderer will return `https://developer.android.com/reference/androidx/media3/common/C#TRACK_TYPE_AUDIO()`, a text renderer will return `https://developer.android.com/reference/androidx/media3/common/C#TRACK_TYPE_TEXT()`, and so on.

| Returns |
|---|---|
| `int` | The `https://developer.android.com/reference/androidx/media3/common/C.TrackType`. |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer#getTrackType()` |   |

### getTunnelingSupport

```
@RendererCapabilities.TunnelingSupport
default static int getTunnelingSupport(@RendererCapabilities.Capabilities int supportFlags)
```

Returns the `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport` from the combined `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities int supportFlags` | The combined `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities`. |

| Returns |
|---|---|
| `int` | The `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport` only. |

### isFormatSupported

```
default static boolean isFormatSupported(
    @RendererCapabilities.Capabilities int supportFlags,
    boolean allowExceedsCapabilities
)
```

Returns whether the `https://developer.android.com/reference/androidx/media3/common/C.FormatSupport` from the combined `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` indicates the format is supported.

A format is considered supported if its `https://developer.android.com/reference/androidx/media3/common/C.FormatSupport` value is `https://developer.android.com/reference/androidx/media3/common/C#FORMAT_HANDLED()`, or optionally `https://developer.android.com/reference/androidx/media3/common/C#FORMAT_EXCEEDS_CAPABILITIES()` if enabled by `
allowExceedsCapabilities`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities int supportFlags` | The combined `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities`. |
| `boolean allowExceedsCapabilities` | Whether `https://developer.android.com/reference/androidx/media3/common/C#FORMAT_EXCEEDS_CAPABILITIES()` should be considered as supported. |

| Returns |
|---|---|
| `boolean` | Whether the `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` indicate a format is supported. |

### setListener

```
default void setListener(RendererCapabilities.Listener listener)
```

Sets the `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Listener`.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Listener listener` | The listener to be set. |

### supportsFormat

```
@RendererCapabilities.Capabilities
abstract int supportsFormat(Format format)
```

Returns the extent to which the `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` supports a given format.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/Format format` | The format. |

| Returns |
|---|---|
| `int` | The `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.Capabilities` for this format. |

| Throws |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/ExoPlaybackException` | If an error occurs. |

### supportsMixedMimeTypeAdaptation

```
@RendererCapabilities.AdaptiveSupport
abstract int supportsMixedMimeTypeAdaptation()
```

Returns the extent to which the `https://developer.android.com/reference/androidx/media3/exoplayer/Renderer` supports adapting between supported formats that have different MIME types.

| Returns |
|---|---|
| `int` | The `https://developer.android.com/reference/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport` for adapting between supported formats that have different MIME types. |

| Throws |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/ExoPlaybackException` | If an error occurs. |