# FakeFrameProcessor.Factory

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

*** ** * ** ***


```
public class FakeFrameProcessor.Factory implements FrameProcessor.Factory
```

<br />

*** ** * ** ***

A factory for `https://developer.android.com/reference/androidx/media3/test/utils/FakeFrameProcessor` implementations.

## Summary

| ### Public fields |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/test/utils/FakeFrameProcessor` | `https://developer.android.com/reference/androidx/media3/test/utils/FakeFrameProcessor.Factory#createdProcessor()` |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/test/utils/FakeFrameProcessor.Factory#Factory(boolean)(boolean shouldCompleteIncomingFrames)` Creates a new instance. |

| ### Public methods |
|---|---|
| `https://developer.android.com/reference/androidx/media3/test/utils/FakeFrameProcessor` | `https://developer.android.com/reference/androidx/media3/test/utils/FakeFrameProcessor.Factory#create(androidx.media3.common.video.FrameWriter)(https://developer.android.com/reference/androidx/media3/common/video/FrameWriter output)` Helper create method for tests that don't need to specify listener. |
| `https://developer.android.com/reference/androidx/media3/test/utils/FakeFrameProcessor` | `https://developer.android.com/reference/androidx/media3/test/utils/FakeFrameProcessor.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 fields

### createdProcessor

```
public @Nullable FakeFrameProcessor createdProcessor
```

## Public constructors

### Factory

```
public Factory(boolean shouldCompleteIncomingFrames)
```

Creates a new instance.

| Parameters |
|---|---|
| `boolean shouldCompleteIncomingFrames` | When true, the `https://developer.android.com/reference/androidx/media3/common/video/FrameProcessor` will call the completion listener for every queued frame. |

## Public methods

### create

```
public FakeFrameProcessor create(FrameWriter output)
```

Helper create method for tests that don't need to specify listener.

### create

```
public FakeFrameProcessor 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. |