# DefaultVideoFrameProcessor.Factory

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

*** ** * ** ***

<br />

```
public final class DefaultVideoFrameProcessor.Factory implements VideoFrameProcessor.Factory
```

<br />

*** ** * ** ***

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

## Summary

| ### Nested types |
|---|
| `public final class https://developer.android.com/reference/androidx/media3/effect/DefaultVideoFrameProcessor.Factory.Builder` A builder for `https://developer.android.com/reference/androidx/media3/effect/DefaultVideoFrameProcessor.Factory` instances. |

| ### Public methods |
|---|---|
| `https://developer.android.com/reference/androidx/media3/effect/DefaultVideoFrameProcessor.Factory.Builder` | `https://developer.android.com/reference/androidx/media3/effect/DefaultVideoFrameProcessor.Factory#buildUpon()()` |
| `https://developer.android.com/reference/androidx/media3/effect/DefaultVideoFrameProcessor` | `https://developer.android.com/reference/androidx/media3/effect/DefaultVideoFrameProcessor.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 instance. |

## Public methods

### buildUpon

```
public DefaultVideoFrameProcessor.Factory.Builder buildUpon()
```

### create

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

Creates a new instance.

Using HDR `outputColorInfo` requires OpenGL ES 3.0.

If outputting HDR content to a display, `EGL_GL_COLORSPACE_BT2020_PQ_EXT` or ` EGL_GL_COLORSPACE_BT2020_HLG_EXT` is required.

`outputColorInfo`'s `https://developer.android.com/reference/androidx/media3/common/ColorInfo#colorRange()` values are currently ignored, in favor of `https://developer.android.com/reference/androidx/media3/common/C#COLOR_RANGE_FULL()`.

If `outputColorInfo``https://developer.android.com/reference/androidx/media3/common/ColorInfo#isTransferHdr(androidx.media3.common.ColorInfo)`, the context will be configured with `https://developer.android.com/reference/androidx/media3/common/util/GlUtil#EGL_CONFIG_ATTRIBUTES_RGBA_1010102()`. Otherwise, the context will be configured with `https://developer.android.com/reference/androidx/media3/common/util/GlUtil#EGL_CONFIG_ATTRIBUTES_RGBA_8888()`.

If invoking the `listener` on `https://developer.android.com/reference/androidx/media3/effect/DefaultVideoFrameProcessor`'s internal thread is desired, pass a `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/MoreExecutors.html#directExecutor()`.

If `https://developer.android.com/reference/androidx/media3/effect/DefaultVideoFrameProcessor.Factory.Builder#setTextureOutput(androidx.media3.effect.GlTextureProducer.Listener,int)` is set, `https://developer.android.com/reference/androidx/media3/effect/DefaultVideoFrameProcessor#setOutputSurfaceInfo(androidx.media3.common.SurfaceInfo)` and `https://developer.android.com/reference/androidx/media3/effect/DefaultVideoFrameProcessor#renderOutputFrame(long)` will be no-ops, and ` renderFramesAutomatically` will behave as if it is set to `true`.

| Throws |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/VideoFrameProcessingException` |   |