# FrameProcessor.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/video/FrameProcessor.java+class:androidx.media3.common.video.FrameProcessor.Factory)

*** ** * ** ***


```
public interface FrameProcessor.Factory
```

<br />

Known direct subclasses [CapturingFrameProcessor.Factory](https://developer.android.com/reference/androidx/media3/test/utils/CapturingFrameProcessor.Factory), [DefaultGlFrameProcessor.Factory](https://developer.android.com/reference/androidx/media3/effect/DefaultGlFrameProcessor.Factory), [EnhancementSessionDecorator.Factory](https://developer.android.com/reference/androidx/media3/effect/playservices/EnhancementSessionDecorator.Factory), [FakeFrameProcessor.Factory](https://developer.android.com/reference/androidx/media3/test/utils/FakeFrameProcessor.Factory)

|---|---|
| `https://developer.android.com/reference/androidx/media3/test/utils/CapturingFrameProcessor.Factory` | A factory for `https://developer.android.com/reference/androidx/media3/test/utils/CapturingFrameProcessor` instances. |
| `https://developer.android.com/reference/androidx/media3/effect/DefaultGlFrameProcessor.Factory` | A `https://developer.android.com/reference/androidx/media3/common/video/FrameProcessor.Factory` that creates `https://developer.android.com/reference/androidx/media3/effect/DefaultGlFrameProcessor` instances. |
| `https://developer.android.com/reference/androidx/media3/effect/playservices/EnhancementSessionDecorator.Factory` | Factory for `https://developer.android.com/reference/androidx/media3/effect/playservices/EnhancementSessionDecorator`. |
| `https://developer.android.com/reference/androidx/media3/test/utils/FakeFrameProcessor.Factory` | A factory for `https://developer.android.com/reference/androidx/media3/test/utils/FakeFrameProcessor` implementations. |

*** ** * ** ***

Factory for FrameProcessor instances.

## Summary

| ### Public methods |
|---|---|
| `abstract https://developer.android.com/reference/androidx/media3/common/video/FrameProcessor` | `https://developer.android.com/reference/androidx/media3/common/video/FrameProcessor.Factory#create(androidx.media3.common.video.FrameWriter,java.util.concurrent.Executor,androidx.media3.common.video.FrameProcessor.Listener)( https://developer.android.com/reference/androidx/media3/common/video/FrameWriter output, https://developer.android.com/reference/java/util/concurrent/Executor.html listenerExecutor, https://developer.android.com/reference/androidx/media3/common/video/FrameProcessor.Listener listener )` Creates a `https://developer.android.com/reference/androidx/media3/common/video/FrameProcessor` that sends frames to the given `https://developer.android.com/reference/androidx/media3/common/video/FrameWriter`. |

## Public methods

### create

```
abstract FrameProcessor create(
    FrameWriter output,
    Executor listenerExecutor,
    FrameProcessor.Listener listener
)
```

Creates a `https://developer.android.com/reference/androidx/media3/common/video/FrameProcessor` that sends frames to the given `https://developer.android.com/reference/androidx/media3/common/video/FrameWriter`.

The created `https://developer.android.com/reference/androidx/media3/common/video/FrameProcessor` does not `https://developer.android.com/reference/androidx/media3/common/video/FrameWriter#close()` the passed in `https://developer.android.com/reference/androidx/media3/common/video/FrameWriter`.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/video/FrameWriter output` | The `https://developer.android.com/reference/androidx/media3/common/video/FrameWriter` to which the `https://developer.android.com/reference/androidx/media3/common/video/FrameProcessor` outputs. |
| `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/video/FrameProcessor.Listener listener` | A `https://developer.android.com/reference/androidx/media3/common/video/FrameProcessor.Listener` to be invoked for `https://developer.android.com/reference/androidx/media3/common/video/FrameProcessor` events. |