# VideoFrameProcessor.Factory

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

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/media3/common/VideoFrameProcessor.Factory "View this page in Java")

<br />

```
interface VideoFrameProcessor.Factory
```

<br />

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

|------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------|
| [DefaultVideoFrameProcessor.Factory](https://developer.android.com/reference/kotlin/androidx/media3/effect/DefaultVideoFrameProcessor.Factory) | A factory for[DefaultVideoFrameProcessor](https://developer.android.com/reference/kotlin/androidx/media3/effect/DefaultVideoFrameProcessor)instances. |

*** ** * ** ***

A factory for[VideoFrameProcessor](https://developer.android.com/reference/kotlin/androidx/media3/common/VideoFrameProcessor)instances.

## Summary

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

## Public functions

### create

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

Creates a new[VideoFrameProcessor](https://developer.android.com/reference/kotlin/androidx/media3/common/VideoFrameProcessor)instance.  

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

|                                                       Returns                                                       |
|---------------------------------------------------------------------------------------------------------------------|-----------------|
| [VideoFrameProcessor](https://developer.android.com/reference/kotlin/androidx/media3/common/VideoFrameProcessor)`!` | A new instance. |

|                                                                           Throws                                                                            |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------|
| [androidx.media3.common.VideoFrameProcessingException](https://developer.android.com/reference/kotlin/androidx/media3/common/VideoFrameProcessingException) | If a problem occurs while creating the[VideoFrameProcessor](https://developer.android.com/reference/kotlin/androidx/media3/common/VideoFrameProcessor). |