# VideoFrameProcessor.Factory

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

*** ** * ** ***


```
public interface VideoFrameProcessor.Factory
```

<br />

Known direct subclasses [DefaultVideoFrameProcessor.Factory](https://developer.android.com/reference/androidx/media3/effect/DefaultVideoFrameProcessor.Factory)

|---|---|
| `https://developer.android.com/reference/androidx/media3/effect/DefaultVideoFrameProcessor.Factory` | A factory for `https://developer.android.com/reference/androidx/media3/effect/DefaultVideoFrameProcessor` instances. |

*** ** * ** ***

A factory for `https://developer.android.com/reference/androidx/media3/common/VideoFrameProcessor` instances.

## Summary

| ### Public methods |
|---|---|
| `abstract https://developer.android.com/reference/androidx/media3/common/VideoFrameProcessor` | `https://developer.android.com/reference/androidx/media3/common/VideoFrameProcessor.Factory#create(android.content.Context,androidx.media3.common.DebugViewProvider,androidx.media3.common.ColorInfo,boolean,java.util.concurrent.Executor,androidx.media3.common.VideoFrameProcessor.Listener)( https://developer.android.com/reference/android/content/Context.html context, https://developer.android.com/reference/androidx/media3/common/DebugViewProvider debugViewProvider, https://developer.android.com/reference/androidx/media3/common/ColorInfo outputColorInfo, boolean renderFramesAutomatically, https://developer.android.com/reference/java/util/concurrent/Executor.html listenerExecutor, https://developer.android.com/reference/androidx/media3/common/VideoFrameProcessor.Listener listener )` Creates a new `https://developer.android.com/reference/androidx/media3/common/VideoFrameProcessor` instance. |

## Public methods

### create

```
abstract VideoFrameProcessor create(
    Context context,
    DebugViewProvider debugViewProvider,
    ColorInfo outputColorInfo,
    boolean renderFramesAutomatically,
    Executor listenerExecutor,
    VideoFrameProcessor.Listener listener
)
```

Creates a new `https://developer.android.com/reference/androidx/media3/common/VideoFrameProcessor` instance.

| Parameters |
|---|---|
| `https://developer.android.com/reference/android/content/Context.html context` | A `https://developer.android.com/reference/android/content/Context.html`. |
| `https://developer.android.com/reference/androidx/media3/common/DebugViewProvider debugViewProvider` | A `https://developer.android.com/reference/androidx/media3/common/DebugViewProvider`. In production usage, pass `https://developer.android.com/reference/androidx/media3/common/DebugViewProvider#NONE()`. |
| `https://developer.android.com/reference/androidx/media3/common/ColorInfo outputColorInfo` | The `https://developer.android.com/reference/androidx/media3/common/ColorInfo` for the output frames. |
| `boolean renderFramesAutomatically` | If `true`, the instance will render output frames to the `https://developer.android.com/reference/androidx/media3/common/VideoFrameProcessor#setOutputSurfaceInfo(androidx.media3.common.SurfaceInfo)` automatically as `https://developer.android.com/reference/androidx/media3/common/VideoFrameProcessor` is done processing them. If `false`, the `https://developer.android.com/reference/androidx/media3/common/VideoFrameProcessor` will block until `https://developer.android.com/reference/androidx/media3/common/VideoFrameProcessor#renderOutputFrame(long)` is called, to render or drop the frame. |
| `https://developer.android.com/reference/java/util/concurrent/Executor.html listenerExecutor` | The `https://developer.android.com/reference/java/util/concurrent/Executor.html` on which the `listener` is invoked. |
| `https://developer.android.com/reference/androidx/media3/common/VideoFrameProcessor.Listener listener` | A `https://developer.android.com/reference/androidx/media3/common/VideoFrameProcessor.Listener`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/VideoFrameProcessor` | A new instance. |

| Throws |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/VideoFrameProcessingException` | If a problem occurs while creating the `https://developer.android.com/reference/androidx/media3/common/VideoFrameProcessor`. |