# Decoder.Callback

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

*** ** * ** ***


```
public interface Decoder.Callback
```

<br />

Known direct subclasses [DecoderAudioRenderer](https://developer.android.com/reference/androidx/media3/exoplayer/audio/DecoderAudioRenderer), [DecoderVideoRenderer](https://developer.android.com/reference/androidx/media3/exoplayer/video/DecoderVideoRenderer)

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

*** ** * ** ***

Callback for asynchronous events.

## Summary

| ### Public methods |
|---|---|
| `abstract void` | `https://developer.android.com/reference/androidx/media3/decoder/Decoder.Callback#onInputBufferAvailable()()` Called when an input buffer becomes available to be dequeued. |
| `abstract void` | `https://developer.android.com/reference/androidx/media3/decoder/Decoder.Callback#onOutputBufferAvailable()()` Called when an output buffer becomes available to be dequeued. |

## Public methods

### onInputBufferAvailable

```
abstract void onInputBufferAvailable()
```

Called when an input buffer becomes available to be dequeued.

### onOutputBufferAvailable

```
abstract void onOutputBufferAvailable()
```

Called when an output buffer becomes available to be dequeued.