# FakeAudioRenderer

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

*** ** * ** ***


```
@UnstableApi
class FakeAudioRenderer : FakeRenderer
```

<br />

|---|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) ||||
| ↳ | [androidx.media3.exoplayer.BaseRenderer](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer) |||
|   | ↳ | [androidx.media3.test.utils.FakeRenderer](https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeRenderer) ||
|   |   | ↳ | [androidx.media3.test.utils.FakeAudioRenderer](https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeAudioRenderer) |

*** ** * ** ***

A `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeRenderer` that supports `https://developer.android.com/reference/kotlin/androidx/media3/common/C#TRACK_TYPE_AUDIO()`.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeAudioRenderer#FakeAudioRenderer(androidx.media3.common.util.HandlerWrapper,androidx.media3.exoplayer.audio.AudioRendererEventListener)( handler: https://developer.android.com/reference/kotlin/androidx/media3/common/util/HandlerWrapper!, eventListener: https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/audio/AudioRendererEventListener! )` |

| ### Protected functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeAudioRenderer#onDisabled()()` Called when the renderer is disabled. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeAudioRenderer#onEnabled(boolean,boolean)(joining: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, mayRenderStartOfStream: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Called when the renderer is enabled. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeAudioRenderer#onFormatChanged(androidx.media3.common.Format)(format: https://developer.android.com/reference/kotlin/androidx/media3/common/Format!)` Called when the renderer reads a new format. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeAudioRenderer#shouldProcessBuffer(long,long)(bufferTimeUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html, playbackPositionUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)` Called before the renderer processes a buffer. |

| ### Inherited Constants |
|---|
| From [androidx.media3.exoplayer.Renderer](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer) |---|---| | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#DEFAULT_DURATION_TO_PROGRESS_US() = 10000` Default minimum duration that the playback clock must advance before `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#render(long,long)` can make progress. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#DEFAULT_IDLE_DURATION_TO_PROGRESS_US() = 1000000` Default duration to progress reported if the renderer does not need calls to `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#render(long,long)` to progress, if it's in `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#STATE_ENABLED()` and already `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#isReady()` or `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#isEnded()`. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#MSG_CUSTOM_BASE() = 10000` Applications or extensions may define custom `MSG_*` constants that can be passed to renderers. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#MSG_SET_AUDIO_ATTRIBUTES() = 3` A type of a message that can be passed to an audio renderer via `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoPlayer#createMessage(androidx.media3.exoplayer.PlayerMessage.Target)`. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#MSG_SET_AUDIO_OUTPUT_PROVIDER() = 20` The type of a message that can be passed to audio renderers via `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoPlayer#createMessage(androidx.media3.exoplayer.PlayerMessage.Target)`. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#MSG_SET_AUDIO_SESSION_ID() = 10` The type of a message that can be passed to audio and video renderers via `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoPlayer#createMessage(androidx.media3.exoplayer.PlayerMessage.Target)`. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#MSG_SET_AUX_EFFECT_INFO() = 6` A type of a message that can be passed to an audio renderer via `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoPlayer#createMessage(androidx.media3.exoplayer.PlayerMessage.Target)`. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#MSG_SET_CAMERA_MOTION_LISTENER() = 8` The type of a message that can be passed to a camera motion renderer via `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoPlayer#createMessage(androidx.media3.exoplayer.PlayerMessage.Target)`. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#MSG_SET_CHANGE_FRAME_RATE_STRATEGY() = 5` The type of a message that can be passed to a video renderer via `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoPlayer#createMessage(androidx.media3.exoplayer.PlayerMessage.Target)`. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#MSG_SET_CODEC_PARAMETERS() = 21` The type of a message that can be passed to renderers via `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoPlayer#createMessage(androidx.media3.exoplayer.PlayerMessage.Target)`. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#MSG_SET_IMAGE_METADATA_LISTENER() = 23` The type of a message that can be passed to an image renderer via `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoPlayer#createMessage(androidx.media3.exoplayer.PlayerMessage.Target)`. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#MSG_SET_IMAGE_OUTPUT() = 15` The type of message that can be passed to an image renderer to set a desired image output. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#MSG_SET_PREFERRED_AUDIO_DEVICE() = 12` The type of a message that can be passed to audio renderers via `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoPlayer#createMessage(androidx.media3.exoplayer.PlayerMessage.Target)`. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#MSG_SET_PRIORITY() = 16` The type of message that can be passed to a renderer to set its priority. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#MSG_SET_SCALING_MODE() = 4` The type of a message that can be passed to a `https://developer.android.com/reference/android/media/MediaCodec.html`-based video renderer via `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoPlayer#createMessage(androidx.media3.exoplayer.PlayerMessage.Target)`. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#MSG_SET_SCRUBBING_MODE() = 18` The type of message that can be passed to a renderer to direct it to enable or disable scrubbing mode. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#MSG_SET_SKIP_SILENCE_ENABLED() = 9` The type of a message that can be passed to an audio renderer via `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoPlayer#createMessage(androidx.media3.exoplayer.PlayerMessage.Target)`. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#MSG_SET_SUBSCRIBED_CODEC_PARAMETER_KEYS() = 22` A message to set the keys for which a renderer should report parameter changes. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#MSG_SET_VIDEO_EFFECTS() = 13` The type of a message that can be passed to a video renderer. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#MSG_SET_VIDEO_FRAME_METADATA_LISTENER() = 7` The type of a message that can be passed to a video renderer via `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoPlayer#createMessage(androidx.media3.exoplayer.PlayerMessage.Target)`. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#MSG_SET_VIDEO_OUTPUT() = 1` The type of a message that can be passed to a video renderer via `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoPlayer#createMessage(androidx.media3.exoplayer.PlayerMessage.Target)`. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#MSG_SET_VIDEO_OUTPUT_RESOLUTION() = 14` The type of a message that can be passed to a video renderer to set the desired output resolution. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#MSG_SET_VIRTUAL_DEVICE_ID() = 19` The type of a message that can be passed to audio renderers via `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoPlayer#createMessage(androidx.media3.exoplayer.PlayerMessage.Target)`. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#MSG_SET_VOLUME() = 2` A type of a message that can be passed to an audio renderer via `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoPlayer#createMessage(androidx.media3.exoplayer.PlayerMessage.Target)`. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#MSG_SET_WAKEUP_LISTENER() = 11` The type of a message that can be passed to a `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer` via `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoPlayer#createMessage(androidx.media3.exoplayer.PlayerMessage.Target)`, to inform the renderer that it can schedule waking up another component. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#MSG_TRANSFER_RESOURCES() = 17` The type of message that can be passed to a renderer to direct it to transfer relevant resources to another renderer. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#STATE_DISABLED() = 0` The renderer is disabled. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#STATE_ENABLED() = 1` The renderer is enabled but not started. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#STATE_STARTED() = 2` The renderer is started. | |
| From [androidx.media3.exoplayer.RendererCapabilities](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities) |---|---| | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#ADAPTIVE_NOT_SEAMLESS() = 8` The `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer` can adapt between formats, but may suffer a brief discontinuity (\~50-100ms) when adaptation occurs. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#ADAPTIVE_NOT_SUPPORTED() = 0` The `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer` does not support adaptation between formats. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#ADAPTIVE_SEAMLESS() = 16` The `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer` can seamlessly adapt between formats. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#ADAPTIVE_SUPPORT_MASK() = 24` A mask to apply to `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities` to obtain the `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport` only. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#AUDIO_OFFLOAD_GAPLESS_SUPPORTED() = 1024` The renderer supports audio offload and gapless transitions with this format. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#AUDIO_OFFLOAD_NOT_SUPPORTED() = 0` Audio offload is not supported with this format. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#AUDIO_OFFLOAD_SPEED_CHANGE_SUPPORTED() = 2048` The renderer supports audio offload and speed changes with this format. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#AUDIO_OFFLOAD_SUPPORTED() = 512` The renderer supports audio offload with this format. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#AUDIO_OFFLOAD_SUPPORT_MASK() = 3584` A mask to apply to `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities` to obtain `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport` only. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#DECODER_SUPPORT_FALLBACK() = 0` The format exceeds the primary decoder's capabilities but is supported by fallback decoder | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/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. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#DECODER_SUPPORT_MASK() = 384` A mask to apply to `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities` to obtain `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport` only. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#DECODER_SUPPORT_PRIMARY() = 128` The renderer is able to use the primary decoder for the format's MIME type. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#FORMAT_SUPPORT_MASK() = 7` A mask to apply to `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities` to obtain the `https://developer.android.com/reference/kotlin/androidx/media3/common/C.FormatSupport` only. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#HARDWARE_ACCELERATION_NOT_SUPPORTED() = 0` The renderer is not able to use hardware acceleration. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#HARDWARE_ACCELERATION_SUPPORTED() = 64` The renderer is able to use hardware acceleration. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#HARDWARE_ACCELERATION_SUPPORT_MASK() = 64` A mask to apply to `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities` to obtain `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport` only. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#TUNNELING_NOT_SUPPORTED() = 0` The `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer` does not support tunneled output. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#TUNNELING_SUPPORTED() = 32` The `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer` supports tunneled output. | | `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#TUNNELING_SUPPORT_MASK() = 32` A mask to apply to `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities` to obtain `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport` only. | |

| ### Inherited functions |
|---|
| From [androidx.media3.exoplayer.BaseRenderer](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer) |---|---| | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#clearListener()()` Clears the `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Listener`. | | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoPlaybackException!` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#createRendererException(java.lang.Throwable,androidx.media3.common.Format,int)( cause: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/index.html!, format: https://developer.android.com/reference/kotlin/androidx/media3/common/Format?, @https://developer.android.com/reference/kotlin/androidx/media3/common/PlaybackException.ErrorCode errorCode: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html )` Creates an `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoPlaybackException` of type `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoPlaybackException#TYPE_RENDERER()` for this renderer. | | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoPlaybackException!` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#createRendererException(java.lang.Throwable,androidx.media3.common.Format,boolean,int)( cause: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/index.html!, format: https://developer.android.com/reference/kotlin/androidx/media3/common/Format?, isRecoverable: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, @https://developer.android.com/reference/kotlin/androidx/media3/common/PlaybackException.ErrorCode errorCode: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html )` Creates an `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoPlaybackException` of type `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoPlaybackException#TYPE_RENDERER()` for this renderer. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#disable()()` Disable the renderer, transitioning it to the `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#STATE_DISABLED()` state. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#enable(androidx.media3.exoplayer.RendererConfiguration,androidx.media3.common.Format[],androidx.media3.exoplayer.source.SampleStream,long,boolean,boolean,long,long,androidx.media3.exoplayer.source.MediaSource.MediaPeriodId)( configuration: https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererConfiguration!, formats: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://developer.android.com/reference/kotlin/androidx/media3/common/Format!>!, stream: https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SampleStream!, positionUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html, joining: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, mayRenderStartOfStream: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, startPositionUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html, offsetUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html, mediaPeriodId: https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/MediaSource.MediaPeriodId! )` Enables the renderer to consume from the specified `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SampleStream`. | | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities!` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#getCapabilities()()` Returns the capabilities of the renderer. | | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/MediaClock?` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#getMediaClock()()` If the renderer advances its own playback position then this method returns a corresponding `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/MediaClock`. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#handleMessage(int,java.lang.Object)(@https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer.MessageType messageType: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, message: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` Handles a message delivered to the target. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#hasReadStreamToEnd()()` Returns whether the renderer has read the current `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SampleStream` to the end. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#init(int,androidx.media3.exoplayer.analytics.PlayerId,androidx.media3.common.util.Clock)(index: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, playerId: https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/analytics/PlayerId!, clock: https://developer.android.com/reference/kotlin/androidx/media3/common/util/Clock!)` Initializes the renderer for playback with a player. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#isCurrentStreamFinal()()` Returns whether the current `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SampleStream` will be the final one supplied before the renderer is next disabled or reset. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#isSourceReady()()` Returns whether the upstream source is ready. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#maybeThrowStreamError()()` Throws an error that's preventing the renderer from reading from its `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SampleStream`. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#onRendererCapabilitiesChanged()()` Called when the renderer capabilities are changed. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#onStarted()()` Called when the renderer is started. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#onStopped()()` Called when the renderer is stopped. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#onStreamChanged(androidx.media3.common.Format[],long,long,androidx.media3.exoplayer.source.MediaSource.MediaPeriodId)( formats: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://developer.android.com/reference/kotlin/androidx/media3/common/Format!>!, startPositionUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html, offsetUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html, mediaPeriodId: https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/MediaSource.MediaPeriodId! )` Called when the renderer's stream has changed. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#onTimelineChanged(androidx.media3.common.Timeline)(timeline: https://developer.android.com/reference/kotlin/androidx/media3/common/Timeline!)` Called when a new timeline is `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#setTimeline(androidx.media3.common.Timeline)`. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SampleStream.ReadDataResult https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#readSource(androidx.media3.exoplayer.FormatHolder,androidx.media3.decoder.DecoderInputBuffer,int)( formatHolder: https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/FormatHolder!, buffer: https://developer.android.com/reference/kotlin/androidx/media3/decoder/DecoderInputBuffer!, @https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SampleStream.ReadFlags readFlags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html )` Reads from the enabled upstream source. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#release()()` Releases the renderer. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#replaceStream(androidx.media3.common.Format[],androidx.media3.exoplayer.source.SampleStream,long,long,androidx.media3.exoplayer.source.MediaSource.MediaPeriodId)( formats: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://developer.android.com/reference/kotlin/androidx/media3/common/Format!>!, stream: https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SampleStream!, startPositionUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html, offsetUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html, mediaPeriodId: https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/MediaSource.MediaPeriodId! )` Replaces the `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SampleStream` from which samples will be consumed. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#reset()()` Forces the renderer to give up any resources (e.g. media decoders) that it may be holding. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#resetPosition(long,boolean)(positionUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html, sampleStreamIsResetToKeyFrame: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Signals to the renderer that a position discontinuity has occurred. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#setCurrentStreamFinal()()` Signals to the renderer that the current `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SampleStream` will be the final one supplied before it is next disabled or reset. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#setListener(androidx.media3.exoplayer.RendererCapabilities.Listener)(listener: https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Listener!)` Sets the `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Listener`. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#skipSource(long)(positionUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)` Attempts to skip to the keyframe before the specified position, or to the end of the stream if `positionUs` is beyond it. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#start()()` Starts the renderer, meaning that calls to `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#render(long,long)` will cause media to be rendered. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#stop()()` Stops the renderer, transitioning it to the `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#STATE_ENABLED()` state. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#supportsMixedMimeTypeAdaptation()()` Returns the extent to which the `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer` supports adapting between supported formats that have different MIME types. | |
| From [androidx.media3.test.utils.FakeRenderer](https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeRenderer) |---|---| | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeRenderer#getName()()` Returns the name of this renderer, for logging and debugging purposes. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeRenderer#isEnded()()` Whether the renderer is ready for the `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoPlayer` instance to transition to `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#STATE_ENDED()`. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeRenderer#isReady()()` Whether the renderer is able to immediately render media from the current position. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeRenderer#onInit()()` Called when the renderer is initialized. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeRenderer#onPositionReset(long,boolean,boolean)( positionUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html, joining: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, sampleStreamIsResetToKeyFrame: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html )` Called when the position is reset. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeRenderer#onRelease()()` Called when the renderer is released. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeRenderer#onReset()()` Called when the renderer is reset. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeRenderer#render(long,long)(positionUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html, elapsedRealtimeUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)` Incrementally renders the `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SampleStream`. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeRenderer#supportsFormat(androidx.media3.common.Format)(format: https://developer.android.com/reference/kotlin/androidx/media3/common/Format!)` Returns the extent to which the `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer` supports a given format. | |
| From [androidx.media3.exoplayer.Renderer](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer) |---|---| | `abstract https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#enable(androidx.media3.exoplayer.RendererConfiguration,androidx.media3.common.Format[],androidx.media3.exoplayer.source.SampleStream,long,boolean,boolean,long,long,androidx.media3.exoplayer.source.MediaSource.MediaPeriodId)( configuration: https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererConfiguration!, formats: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://developer.android.com/reference/kotlin/androidx/media3/common/Format!>!, stream: https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SampleStream!, positionUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html, joining: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, mayRenderStartOfStream: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, startPositionUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html, offsetUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html, mediaPeriodId: https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/MediaSource.MediaPeriodId! )` Enables the renderer to consume from the specified `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SampleStream`. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#enableMayRenderStartOfStream()()` Enables this renderer to render the start of the stream even if the state is not `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#STATE_STARTED()` yet. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#getDurationToProgressUs(long,long)(positionUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html, elapsedRealtimeUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)` Returns minimum amount of playback clock time that must pass from `elapsedRealtimeUs` in order for the `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#render(long,long)` call to make progress. | | `abstract https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#replaceStream(androidx.media3.common.Format[],androidx.media3.exoplayer.source.SampleStream,long,long,androidx.media3.exoplayer.source.MediaSource.MediaPeriodId)( formats: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://developer.android.com/reference/kotlin/androidx/media3/common/Format!>!, stream: https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SampleStream!, startPositionUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html, offsetUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html, mediaPeriodId: https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/MediaSource.MediaPeriodId! )` Replaces the `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SampleStream` from which samples will be consumed. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#setPlaybackSpeed(float,float)(currentPlaybackSpeed: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, targetPlaybackSpeed: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)` Indicates the playback speed to this renderer. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#supportsResetPositionWithoutKeyFrameReset(long)(positionUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)` Returns whether the renderer can support processing a position discontinuity without a key frame reset. | |
| From [androidx.media3.exoplayer.RendererCapabilities](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities) |---|---| | `java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#create(int)(@https://developer.android.com/reference/kotlin/androidx/media3/common/C.FormatSupport formatSupport: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Returns `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities` for the given `https://developer.android.com/reference/kotlin/androidx/media3/common/C.FormatSupport`. | | `java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#create(int,int,int)( @https://developer.android.com/reference/kotlin/androidx/media3/common/C.FormatSupport formatSupport: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, @https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport adaptiveSupport: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, @https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport tunnelingSupport: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html )` Returns `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities` combining the given `https://developer.android.com/reference/kotlin/androidx/media3/common/C.FormatSupport`, `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport` and `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport`. | | `java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#create(int,int,int,int)( @https://developer.android.com/reference/kotlin/androidx/media3/common/C.FormatSupport formatSupport: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, @https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport adaptiveSupport: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, @https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport tunnelingSupport: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, @https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport audioOffloadSupport: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html )` Returns `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities` combining the given `https://developer.android.com/reference/kotlin/androidx/media3/common/C.FormatSupport`, `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport`, `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport`, and `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport`. | | `java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#create(int,int,int,int,int)( @https://developer.android.com/reference/kotlin/androidx/media3/common/C.FormatSupport formatSupport: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, @https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport adaptiveSupport: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, @https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport tunnelingSupport: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, @https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport hardwareAccelerationSupport: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, @https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport decoderSupport: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html )` Returns `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities` combining the given `https://developer.android.com/reference/kotlin/androidx/media3/common/C.FormatSupport`, `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport`, `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport`, `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport`, and `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport`. | | `java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#create(int,int,int,int,int,int)( @https://developer.android.com/reference/kotlin/androidx/media3/common/C.FormatSupport formatSupport: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, @https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport adaptiveSupport: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, @https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport tunnelingSupport: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, @https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport hardwareAccelerationSupport: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, @https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport decoderSupport: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, @https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport audioOffloadSupport: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html )` Returns `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities` combining the given `https://developer.android.com/reference/kotlin/androidx/media3/common/C.FormatSupport`, `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport`, `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport`, `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport`, `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport` and `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport`. | | `java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#getAdaptiveSupport(int)(@https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities supportFlags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Returns the `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.AdaptiveSupport` from the combined `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities`. | | `java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#getAudioOffloadSupport(int)( @https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities supportFlags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html )` Returns the `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.AudioOffloadSupport` from the combined `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities`. | | `java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#getDecoderSupport(int)(@https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities supportFlags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Returns the `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.DecoderSupport` from the combined `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities`. | | `java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/C.FormatSupport https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#getFormatSupport(int)(@https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities supportFlags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Returns the `https://developer.android.com/reference/kotlin/androidx/media3/common/C.FormatSupport` from the combined `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities`. | | `java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#getHardwareAccelerationSupport(int)( @https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities supportFlags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html )` Returns the `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.HardwareAccelerationSupport` from the combined `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities`. | | `java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#getTunnelingSupport(int)(@https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities supportFlags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Returns the `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.TunnelingSupport` from the combined `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities`. | | `java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#isFormatSupported(int,boolean)( @https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities supportFlags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, allowExceedsCapabilities: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html )` Returns whether the `https://developer.android.com/reference/kotlin/androidx/media3/common/C.FormatSupport` from the combined `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities` indicates the format is supported. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities#setListener(androidx.media3.exoplayer.RendererCapabilities.Listener)(listener: https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Listener!)` Sets the `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Listener`. | |

| ### Inherited properties |
|---|
| From [androidx.media3.exoplayer.BaseRenderer](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer) |---|---| | `@https://checkerframework.org/api/org/checkerframework/checker/nullness/qual/MonotonicNonNull.html https://developer.android.com/reference/kotlin/androidx/media3/common/util/Clock!` | `@https://checkerframework.org/api/org/checkerframework/checker/nullness/qual/MonotonicNonNull.html https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#clock()` | | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererConfiguration?` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#configuration()` | | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/FormatHolder!` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#formatHolder()` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#index()` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#lastResetPositionUs()` | | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/MediaSource.MediaPeriodId?` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#mediaPeriodId()` | | `@https://checkerframework.org/api/org/checkerframework/checker/nullness/qual/MonotonicNonNull.html https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/analytics/PlayerId!` | `@https://checkerframework.org/api/org/checkerframework/checker/nullness/qual/MonotonicNonNull.html https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#playerId()` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#readingPositionUs()` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#state()` | | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SampleStream?` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#stream()` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#streamEndPositionUs()` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://developer.android.com/reference/kotlin/androidx/media3/common/Format!>?` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#streamFormats()` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#streamOffsetUs()` | | `https://developer.android.com/reference/kotlin/androidx/media3/common/Timeline!` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#timeline()` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/C.TrackType https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/BaseRenderer#trackType()` | |
| From [androidx.media3.test.utils.FakeRenderer](https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeRenderer) |---|---| | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeRenderer#enabledCount()` | | `(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/media3/common/Format!>!` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeRenderer#formatsRead()` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeRenderer#isEnded()` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeRenderer#isInitialized()` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeRenderer#isReleased()` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeRenderer#positionResetCount()` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeRenderer#resetCount()` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeRenderer#sampleBufferReadCount()` | |

## Public constructors

### FakeAudioRenderer

```
FakeAudioRenderer(
    handler: HandlerWrapper!,
    eventListener: AudioRendererEventListener!
)
```

## Protected functions

### onDisabled

```
protected fun onDisabled(): Unit
```

Called when the renderer is disabled.

The default implementation is a no-op.

### onEnabled

```
protected fun onEnabled(joining: Boolean, mayRenderStartOfStream: Boolean): Unit
```

Called when the renderer is enabled.

The default implementation is a no-op.

| Parameters |
|---|---|
| `joining: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | Whether this renderer is being enabled to join an ongoing playback. |
| `mayRenderStartOfStream: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | Whether this renderer is allowed to render the start of the stream even if the state is not `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/Renderer#STATE_STARTED()` yet. |

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

### onFormatChanged

```
protected fun onFormatChanged(format: Format!): Unit
```

Called when the renderer reads a new format.

### shouldProcessBuffer

```
protected fun shouldProcessBuffer(bufferTimeUs: Long, playbackPositionUs: Long): Boolean
```

Called before the renderer processes a buffer.

| Parameters |
|---|---|
| `bufferTimeUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | The buffer timestamp, in microseconds. |
| `playbackPositionUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | The playback position, in microseconds |

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | Whether the buffer should be processed. |