# VideoRendererEventListener.EventDispatcher

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/video/VideoRendererEventListener.java+class:androidx.media3.exoplayer.video.VideoRendererEventListener.EventDispatcher)

*** ** * ** ***


```
public final class VideoRendererEventListener.EventDispatcher
```

<br />

*** ** * ** ***

Dispatches events to a `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener`.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener.EventDispatcher#EventDispatcher(android.os.Handler,androidx.media3.exoplayer.video.VideoRendererEventListener)( @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/android/os/Handler.html handler, @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener listener )` |

| ### Public methods |
|---|---|
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener.EventDispatcher#decoderInitialized(java.lang.String,long,long)( https://developer.android.com/reference/java/lang/String.html decoderName, long initializedTimestampMs, long initializationDurationMs )` Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener#onVideoDecoderInitialized(java.lang.String,long,long)`. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener.EventDispatcher#decoderReleased(java.lang.String)(https://developer.android.com/reference/java/lang/String.html decoderName)` Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener#onVideoDecoderReleased(java.lang.String)`. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener.EventDispatcher#disabled(androidx.media3.exoplayer.DecoderCounters)(https://developer.android.com/reference/androidx/media3/exoplayer/DecoderCounters counters)` Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener#onVideoDisabled(androidx.media3.exoplayer.DecoderCounters)`. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener.EventDispatcher#droppedFrames(int,long)(int droppedFrameCount, long elapsedMs)` Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener#onDroppedFrames(int,long)`. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener.EventDispatcher#enabled(androidx.media3.exoplayer.DecoderCounters)(https://developer.android.com/reference/androidx/media3/exoplayer/DecoderCounters decoderCounters)` Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener#onVideoEnabled(androidx.media3.exoplayer.DecoderCounters)`. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener.EventDispatcher#inputFormatChanged(androidx.media3.common.Format,androidx.media3.exoplayer.DecoderReuseEvaluation)( https://developer.android.com/reference/androidx/media3/common/Format format, @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/exoplayer/DecoderReuseEvaluation decoderReuseEvaluation )` Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener#onVideoInputFormatChanged(androidx.media3.common.Format,androidx.media3.exoplayer.DecoderReuseEvaluation)`. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener.EventDispatcher#renderedFirstFrame(java.lang.Object)(https://developer.android.com/reference/java/lang/Object.html output)` Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener#onRenderedFirstFrame(java.lang.Object,long)`. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener.EventDispatcher#reportVideoFrameProcessingOffset(long,int)( long totalProcessingOffsetUs, int frameCount )` Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener#onVideoFrameProcessingOffset(long,int)`. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener.EventDispatcher#videoCodecError(java.lang.Exception)(https://developer.android.com/reference/java/lang/Exception.html videoCodecError)` Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener#onVideoCodecError(java.lang.Exception)`. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener.EventDispatcher#videoCodecParametersChanged(androidx.media3.exoplayer.CodecParameters)(https://developer.android.com/reference/androidx/media3/exoplayer/CodecParameters codecParameters)` Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener#onVideoCodecParametersChanged(androidx.media3.exoplayer.CodecParameters)`. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener.EventDispatcher#videoSizeChanged(androidx.media3.common.VideoSize)(https://developer.android.com/reference/androidx/media3/common/VideoSize videoSize)` Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener#onVideoSizeChanged(androidx.media3.common.VideoSize)`. |

## Public constructors

### EventDispatcher

```
public EventDispatcher(
    @Nullable Handler handler,
    @Nullable VideoRendererEventListener listener
)
```

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/android/os/Handler.html handler` | A handler for dispatching events, or null if events should not be dispatched. |
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener listener` | The listener to which events should be dispatched, or null if events should not be dispatched. |

## Public methods

### decoderInitialized

```
public void decoderInitialized(
    String decoderName,
    long initializedTimestampMs,
    long initializationDurationMs
)
```

Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener#onVideoDecoderInitialized(java.lang.String,long,long)`.

### decoderReleased

```
public void decoderReleased(String decoderName)
```

Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener#onVideoDecoderReleased(java.lang.String)`.

### disabled

```
public void disabled(DecoderCounters counters)
```

Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener#onVideoDisabled(androidx.media3.exoplayer.DecoderCounters)`.

### droppedFrames

```
public void droppedFrames(int droppedFrameCount, long elapsedMs)
```

Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener#onDroppedFrames(int,long)`.

### enabled

```
public void enabled(DecoderCounters decoderCounters)
```

Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener#onVideoEnabled(androidx.media3.exoplayer.DecoderCounters)`.

### inputFormatChanged

```
public void inputFormatChanged(
    Format format,
    @Nullable DecoderReuseEvaluation decoderReuseEvaluation
)
```

Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener#onVideoInputFormatChanged(androidx.media3.common.Format,androidx.media3.exoplayer.DecoderReuseEvaluation)`.

### renderedFirstFrame

```
public void renderedFirstFrame(Object output)
```

Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener#onRenderedFirstFrame(java.lang.Object,long)`.

### reportVideoFrameProcessingOffset

```
public void reportVideoFrameProcessingOffset(
    long totalProcessingOffsetUs,
    int frameCount
)
```

Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener#onVideoFrameProcessingOffset(long,int)`.

### videoCodecError

```
public void videoCodecError(Exception videoCodecError)
```

Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener#onVideoCodecError(java.lang.Exception)`.

### videoCodecParametersChanged

```
public void videoCodecParametersChanged(CodecParameters codecParameters)
```

Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener#onVideoCodecParametersChanged(androidx.media3.exoplayer.CodecParameters)`.

### videoSizeChanged

```
public void videoSizeChanged(VideoSize videoSize)
```

Invokes `https://developer.android.com/reference/androidx/media3/exoplayer/video/VideoRendererEventListener#onVideoSizeChanged(androidx.media3.common.VideoSize)`.