# 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 />

```
class DefaultVideoFrameProcessor.Factory : VideoFrameProcessor.Factory
```

<br />

*** ** * ** ***

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

## Summary

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

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/effect/DefaultVideoFrameProcessor.Factory.Builder!` | `https://developer.android.com/reference/kotlin/androidx/media3/effect/DefaultVideoFrameProcessor.Factory#buildUpon()()` |
| `https://developer.android.com/reference/kotlin/androidx/media3/effect/DefaultVideoFrameProcessor!` | `https://developer.android.com/reference/kotlin/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)( context: https://developer.android.com/reference/android/content/Context.html!, debugViewProvider: https://developer.android.com/reference/kotlin/androidx/media3/common/DebugViewProvider!, outputColorInfo: https://developer.android.com/reference/kotlin/androidx/media3/common/ColorInfo!, renderFramesAutomatically: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, listenerExecutor: https://developer.android.com/reference/java/util/concurrent/Executor.html!, listener: https://developer.android.com/reference/kotlin/androidx/media3/common/VideoFrameProcessor.Listener! )` Creates a new instance. |

## Public functions

### buildUpon

```
fun buildUpon(): DefaultVideoFrameProcessor.Factory.Builder!
```

### create

```
fun create(
    context: Context!,
    debugViewProvider: DebugViewProvider!,
    outputColorInfo: ColorInfo!,
    renderFramesAutomatically: Boolean,
    listenerExecutor: Executor!,
    listener: VideoFrameProcessor.Listener!
): DefaultVideoFrameProcessor!
```

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/kotlin/androidx/media3/common/ColorInfo#colorRange()` values are currently ignored, in favor of `https://developer.android.com/reference/kotlin/androidx/media3/common/C#COLOR_RANGE_FULL()`.

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

If invoking the `listener` on `https://developer.android.com/reference/kotlin/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/kotlin/androidx/media3/effect/DefaultVideoFrameProcessor.Factory.Builder#setTextureOutput(androidx.media3.effect.GlTextureProducer.Listener,int)` is set, `https://developer.android.com/reference/kotlin/androidx/media3/effect/DefaultVideoFrameProcessor#setOutputSurfaceInfo(androidx.media3.common.SurfaceInfo)` and `https://developer.android.com/reference/kotlin/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/kotlin/androidx/media3/common/VideoFrameProcessingException` |   |