# FrameProcessorTestUtil

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

*** ** * ** ***


```
@RequiresApi(value = 26)
@UnstableApi
class FrameProcessorTestUtil
```

<br />

*** ** * ** ***

Test utilities for asserting `https://developer.android.com/reference/kotlin/androidx/media3/common/video/FrameProcessor` inputs.

## Summary

| ### Nested types |
|---|
| `class https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FrameProcessorTestUtil.ExpectedFrame` Represents a frame that is expected to be presented. |

| ### Public functions |
|---|---|
| `java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FrameProcessorTestUtil#assertPlaybackOutput(androidx.media3.test.utils.CapturingFrameProcessor,androidx.media3.test.utils.CompositionAssetInfo)( frameProcessor: https://developer.android.com/reference/kotlin/androidx/media3/test/utils/CapturingFrameProcessor!, compositionAssetInfo: https://developer.android.com/reference/kotlin/androidx/media3/test/utils/CompositionAssetInfo! )` Asserts the `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/CapturingFrameProcessor` consumes frames matching the `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/CompositionAssetInfo`, if it was played from start to finish. |
| `java-static https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.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/test/utils/FrameProcessorTestUtil.ExpectedFrame!>!>!` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FrameProcessorTestUtil#getExpectedEvents(androidx.media3.test.utils.CompositionAssetInfo)(compositionAssetInfo: https://developer.android.com/reference/kotlin/androidx/media3/test/utils/CompositionAssetInfo!)` Returns the events expected to be consumed by the `https://developer.android.com/reference/kotlin/androidx/media3/common/video/FrameProcessor` if the `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/CompositionAssetInfo#getComposition()` was played from start to finish. |

## Public functions

### assertPlaybackOutput

```
java-static fun assertPlaybackOutput(
    frameProcessor: CapturingFrameProcessor!,
    compositionAssetInfo: CompositionAssetInfo!
): Unit
```

Asserts the `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/CapturingFrameProcessor` consumes frames matching the `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/CompositionAssetInfo`, if it was played from start to finish.

This method verifies both the timing/structure of the playback (timestamps, sequence indices, EOS) and that the correct `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem` metadata is associated with each frame.

### getExpectedEvents

```
java-static fun getExpectedEvents(compositionAssetInfo: CompositionAssetInfo!): ImmutableList<(Mutable)List<FrameProcessorTestUtil.ExpectedFrame!>!>!
```

Returns the events expected to be consumed by the `https://developer.android.com/reference/kotlin/androidx/media3/common/video/FrameProcessor` if the `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/CompositionAssetInfo#getComposition()` was played from start to finish.