# DecoderCountersUtil

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

*** ** * ** ***


```
@UnstableApi
public final class DecoderCountersUtil
```

<br />

*** ** * ** ***

Assertions for `https://developer.android.com/reference/androidx/media3/exoplayer/DecoderCounters`.

## Summary

| ### Public methods |
|---|---|
| `static void` | `https://developer.android.com/reference/androidx/media3/test/utils/DecoderCountersUtil#assertConsecutiveDroppedBufferLimit(java.lang.String,androidx.media3.exoplayer.DecoderCounters,int)( https://developer.android.com/reference/java/lang/String.html name, https://developer.android.com/reference/androidx/media3/exoplayer/DecoderCounters counters, int limit )` |
| `static void` | `https://developer.android.com/reference/androidx/media3/test/utils/DecoderCountersUtil#assertDroppedBufferLimit(java.lang.String,androidx.media3.exoplayer.DecoderCounters,int)( https://developer.android.com/reference/java/lang/String.html name, https://developer.android.com/reference/androidx/media3/exoplayer/DecoderCounters counters, int limit )` |
| `static void` | `https://developer.android.com/reference/androidx/media3/test/utils/DecoderCountersUtil#assertSkippedOutputBufferCount(java.lang.String,androidx.media3.exoplayer.DecoderCounters,int)( https://developer.android.com/reference/java/lang/String.html name, https://developer.android.com/reference/androidx/media3/exoplayer/DecoderCounters counters, int expected )` Asserts that the skipped output buffer count is `expected`. |
| `static void` | `https://developer.android.com/reference/androidx/media3/test/utils/DecoderCountersUtil#assertSkippedOutputBufferCount(java.lang.String,androidx.media3.exoplayer.DecoderCounters,int,int)( https://developer.android.com/reference/java/lang/String.html name, https://developer.android.com/reference/androidx/media3/exoplayer/DecoderCounters counters, int expected, int tolerance )` Asserts that the skipped output buffer count is within `tolerance` of `expected`. |
| `static void` | `https://developer.android.com/reference/androidx/media3/test/utils/DecoderCountersUtil#assertTotalBufferCount(java.lang.String,androidx.media3.exoplayer.DecoderCounters)(https://developer.android.com/reference/java/lang/String.html name, https://developer.android.com/reference/androidx/media3/exoplayer/DecoderCounters counters)` Asserts that the input and output values in `counters` are self-consistent. |
| `static void` | `https://developer.android.com/reference/androidx/media3/test/utils/DecoderCountersUtil#assertTotalBufferCount(java.lang.String,androidx.media3.exoplayer.DecoderCounters,int,int)( https://developer.android.com/reference/java/lang/String.html name, https://developer.android.com/reference/androidx/media3/exoplayer/DecoderCounters counters, int minCount, int maxCount )` |
| `static void` | `https://developer.android.com/reference/androidx/media3/test/utils/DecoderCountersUtil#assertVideoFrameProcessingOffsetSampleCount(java.lang.String,androidx.media3.exoplayer.DecoderCounters,int,int)( https://developer.android.com/reference/java/lang/String.html name, https://developer.android.com/reference/androidx/media3/exoplayer/DecoderCounters counters, int minCount, int maxCount )` |
| `static int` | `https://developer.android.com/reference/androidx/media3/test/utils/DecoderCountersUtil#getTotalBufferCount(androidx.media3.exoplayer.DecoderCounters)(https://developer.android.com/reference/androidx/media3/exoplayer/DecoderCounters counters)` Returns the sum of the skipped, dropped and rendered buffers. |

## Public methods

### assertConsecutiveDroppedBufferLimit

```
public static void assertConsecutiveDroppedBufferLimit(
    String name,
    DecoderCounters counters,
    int limit
)
```

### assertDroppedBufferLimit

```
public static void assertDroppedBufferLimit(
    String name,
    DecoderCounters counters,
    int limit
)
```

### assertSkippedOutputBufferCount

```
public static void assertSkippedOutputBufferCount(
    String name,
    DecoderCounters counters,
    int expected
)
```

Asserts that the skipped output buffer count is `expected`.

| Parameters |
|---|---|
| `https://developer.android.com/reference/java/lang/String.html name` | The name of the decoder. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/DecoderCounters counters` | The decoder counters. |
| `int expected` | The expected number of skipped output buffers. |

### assertSkippedOutputBufferCount

```
public static void assertSkippedOutputBufferCount(
    String name,
    DecoderCounters counters,
    int expected,
    int tolerance
)
```

Asserts that the skipped output buffer count is within `tolerance` of `expected`.

| Parameters |
|---|---|
| `https://developer.android.com/reference/java/lang/String.html name` | The name of the decoder. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/DecoderCounters counters` | The decoder counters. |
| `int expected` | The expected number of skipped output buffers. |
| `int tolerance` | The allowed tolerance around the expected count. |

### assertTotalBufferCount

```
public static void assertTotalBufferCount(String name, DecoderCounters counters)
```

Asserts that the input and output values in `counters` are self-consistent.

### assertTotalBufferCount

```
public static void assertTotalBufferCount(
    String name,
    DecoderCounters counters,
    int minCount,
    int maxCount
)
```

### assertVideoFrameProcessingOffsetSampleCount

```
public static void assertVideoFrameProcessingOffsetSampleCount(
    String name,
    DecoderCounters counters,
    int minCount,
    int maxCount
)
```

### getTotalBufferCount

```
public static int getTotalBufferCount(DecoderCounters counters)
```

Returns the sum of the skipped, dropped and rendered buffers.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/DecoderCounters counters` | The counters for which the total should be calculated. |

| Returns |
|---|---|
| `int` | The sum of the skipped, dropped and rendered buffers. |