# CapturingFrameProcessor.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/CapturingFrameProcessor.java+class:androidx.media3.test.utils.CapturingFrameProcessor.Factory)

*** ** * ** ***


```
class CapturingFrameProcessor.Factory : FrameProcessor.Factory
```

<br />

*** ** * ** ***

A factory for `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/CapturingFrameProcessor` instances.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/CapturingFrameProcessor.Factory#Factory(androidx.media3.common.video.FrameProcessor.Factory)(underlyingFactory: https://developer.android.com/reference/kotlin/androidx/media3/common/video/FrameProcessor.Factory!)` Creates a new instance. |
| `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/CapturingFrameProcessor.Factory#Factory(androidx.media3.common.video.FrameProcessor.Factory,java.util.function.Consumer<java.util.List<androidx.media3.common.video.AsyncFrame>>)( underlyingFactory: https://developer.android.com/reference/kotlin/androidx/media3/common/video/FrameProcessor.Factory!, onQueueListener: https://developer.android.com/reference/java/util/function/Consumer.html<(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/media3/common/video/AsyncFrame!>!>? )` Creates a new instance. |

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

| ### Public properties |
|---|---|
| `volatile https://developer.android.com/reference/kotlin/androidx/media3/test/utils/CapturingFrameProcessor?` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/CapturingFrameProcessor.Factory#createdProcessor()` |

## Public constructors

### Factory

```
Factory(underlyingFactory: FrameProcessor.Factory!)
```

Creates a new instance.

| Parameters |
|---|---|
| `underlyingFactory: https://developer.android.com/reference/kotlin/androidx/media3/common/video/FrameProcessor.Factory!` | The factory that creates the underlying `https://developer.android.com/reference/kotlin/androidx/media3/common/video/FrameProcessor`. |

### Factory

```
Factory(
    underlyingFactory: FrameProcessor.Factory!,
    onQueueListener: Consumer<(Mutable)List<AsyncFrame!>!>?
)
```

Creates a new instance.

| Parameters |
|---|---|
| `underlyingFactory: https://developer.android.com/reference/kotlin/androidx/media3/common/video/FrameProcessor.Factory!` | The factory that creates the underlying `https://developer.android.com/reference/kotlin/androidx/media3/common/video/FrameProcessor`. |
| `onQueueListener: https://developer.android.com/reference/java/util/function/Consumer.html<(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/media3/common/video/AsyncFrame!>!>?` | A listener that is invoked after each successful `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/CapturingFrameProcessor#queue(java.util.List<androidx.media3.common.video.AsyncFrame>)` call. |

## Public functions

### create

```
fun create(
    output: FrameWriter!,
    listenerExecutor: Executor!,
    listener: FrameProcessor.Listener!
): CapturingFrameProcessor!
```

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

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

| Parameters |
|---|---|
| `output: https://developer.android.com/reference/kotlin/androidx/media3/common/video/FrameWriter!` | The `https://developer.android.com/reference/kotlin/androidx/media3/common/video/FrameWriter` to which the `https://developer.android.com/reference/kotlin/androidx/media3/common/video/FrameProcessor` outputs. |
| `listenerExecutor: https://developer.android.com/reference/java/util/concurrent/Executor.html!` | The `https://developer.android.com/reference/java/util/concurrent/Executor.html` on which the `listener` is invoked. |
| `listener: https://developer.android.com/reference/kotlin/androidx/media3/common/video/FrameProcessor.Listener!` | A `https://developer.android.com/reference/kotlin/androidx/media3/common/video/FrameProcessor.Listener` to be invoked for `https://developer.android.com/reference/kotlin/androidx/media3/common/video/FrameProcessor` events. |

## Public properties

### createdProcessor

```
volatile val createdProcessor: CapturingFrameProcessor?
```