# StreamConfigurationMapWrapper

Artifact: [androidx.camera:camera-common](https://developer.android.com/jetpack/androidx/releases/camera) [View Source](https://cs.android.com/search?q=file:androidx/camera/common/StreamConfigurationMapWrapper.kt+class:androidx.camera.common.StreamConfigurationMapWrapper) Added in [1.7.0-rc02](https://developer.android.com/jetpack/androidx/releases/camera#1.7.0-rc02)

*** ** * ** ***


```
public interface StreamConfigurationMapWrapper extends UnsafeWrapper
```

<br />

Known direct subclasses [FakeStreamConfigurationMap](https://developer.android.com/reference/androidx/camera/common/testing/FakeStreamConfigurationMap)

|---|---|
| `https://developer.android.com/reference/androidx/camera/common/testing/FakeStreamConfigurationMap` | A fake implementation of `https://developer.android.com/reference/androidx/camera/common/StreamConfigurationMapWrapper` for testing. |

*** ** * ** ***

A compatibility wrapper for `https://developer.android.com/reference/android/hardware/camera2/params/StreamConfigurationMap.html`.

## Summary

| ### Public methods |
|---|---|
| `abstract @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/util/Size.html>` | `https://developer.android.com/reference/androidx/camera/common/StreamConfigurationMapWrapper#getHighResolutionOutputSizes(kotlin.Int)(int format)` |
| `abstract @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/util/Range.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Integer.html>>` | `https://developer.android.com/reference/androidx/camera/common/StreamConfigurationMapWrapper#getHighSpeedVideoFpsRanges()()` |
| `abstract @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/util/Range.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Integer.html>>` | `https://developer.android.com/reference/androidx/camera/common/StreamConfigurationMapWrapper#getHighSpeedVideoFpsRangesFor(android.util.Size)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/util/Size.html size)` |
| `abstract @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/util/Size.html>` | `https://developer.android.com/reference/androidx/camera/common/StreamConfigurationMapWrapper#getHighSpeedVideoSizes()()` |
| `abstract @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/util/Size.html>` | `https://developer.android.com/reference/androidx/camera/common/StreamConfigurationMapWrapper#getHighSpeedVideoSizesFor(android.util.Range)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/util/Range.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Integer.html> fpsRange)` |
| `abstract @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Integer.html>` | `https://developer.android.com/reference/androidx/camera/common/StreamConfigurationMapWrapper#getInputFormats()()` |
| `abstract @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/util/Size.html>` | `https://developer.android.com/reference/androidx/camera/common/StreamConfigurationMapWrapper#getInputSizes(kotlin.Int)(int format)` |
| `abstract @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Integer.html>` | `https://developer.android.com/reference/androidx/camera/common/StreamConfigurationMapWrapper#getOutputFormats()()` |
| `abstract long` | `https://developer.android.com/reference/androidx/camera/common/StreamConfigurationMapWrapper#getOutputMinFrameDuration(kotlin.Int,android.util.Size)(int format, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/util/Size.html size)` |
| `abstract long` | `<T extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/camera/common/StreamConfigurationMapWrapper#getOutputMinFrameDuration(java.lang.Class,android.util.Size)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Class.html<@https://developer.android.com/reference/androidx/annotation/NonNull T> klass, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/util/Size.html size )` |
| `abstract @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/util/Size.html>` | `https://developer.android.com/reference/androidx/camera/common/StreamConfigurationMapWrapper#getOutputSizes(kotlin.Int)(int format)` |
| `abstract @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/util/Size.html>` | `<T extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/camera/common/StreamConfigurationMapWrapper#getOutputSizes(java.lang.Class)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Class.html<@https://developer.android.com/reference/androidx/annotation/NonNull T> klass)` |
| `abstract long` | `https://developer.android.com/reference/androidx/camera/common/StreamConfigurationMapWrapper#getOutputStallDuration(kotlin.Int,android.util.Size)(int format, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/util/Size.html size)` |
| `abstract long` | `<T extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/camera/common/StreamConfigurationMapWrapper#getOutputStallDuration(java.lang.Class,android.util.Size)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Class.html<@https://developer.android.com/reference/androidx/annotation/NonNull T> klass, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/util/Size.html size )` |
| `abstract @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Integer.html>` | `https://developer.android.com/reference/androidx/camera/common/StreamConfigurationMapWrapper#getValidOutputFormatsForInput(kotlin.Int)(int inputFormat)` |
| `abstract boolean` | `https://developer.android.com/reference/androidx/camera/common/StreamConfigurationMapWrapper#isOutputSupportedFor(kotlin.Int)(int format)` |
| `abstract boolean` | `<T extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/camera/common/StreamConfigurationMapWrapper#isOutputSupportedFor(java.lang.Class)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Class.html<@https://developer.android.com/reference/androidx/annotation/NonNull T> klass)` Converting this method to non-static for testability. |
| `abstract boolean` | `https://developer.android.com/reference/androidx/camera/common/StreamConfigurationMapWrapper#isOutputSupportedFor(android.view.Surface)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/view/Surface.html surface)` |

### Inherited methods

From [androidx.camera.common.UnsafeWrapper](https://developer.android.com/reference/androidx/camera/common/UnsafeWrapper) `abstract T` `<T extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/camera/common/UnsafeWrapper#unwrapAs(java.lang.Class)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Class.html<@https://developer.android.com/reference/androidx/annotation/NonNull T> type)`

Attempts to unwrap this object into the specified underlying `https://developer.android.com/reference/androidx/camera/common/UnsafeWrapper#unwrapAs(java.lang.Class)`.

## Public methods

### getHighResolutionOutputSizes

Added in [1.7.0-rc02](https://developer.android.com/jetpack/androidx/releases/camera#1.7.0-rc02)

```
abstract @NonNull List<@NonNull Size> getHighResolutionOutputSizes(int format)
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/hardware/camera2/params/StreamConfigurationMap.html#getHighResolutionOutputSizes(int)` |   |

### getHighSpeedVideoFpsRanges

Added in [1.7.0-rc02](https://developer.android.com/jetpack/androidx/releases/camera#1.7.0-rc02)

```
abstract @NonNull List<@NonNull Range<@NonNull Integer>> getHighSpeedVideoFpsRanges()
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/hardware/camera2/params/StreamConfigurationMap.html#getHighSpeedVideoFpsRanges()` |   |

### getHighSpeedVideoFpsRangesFor

Added in [1.7.0-rc02](https://developer.android.com/jetpack/androidx/releases/camera#1.7.0-rc02)

```
abstract @NonNull List<@NonNull Range<@NonNull Integer>> getHighSpeedVideoFpsRangesFor(@NonNull Size size)
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/hardware/camera2/params/StreamConfigurationMap.html#getHighSpeedVideoFpsRangesFor(android.util.Size)` |   |

### getHighSpeedVideoSizes

Added in [1.7.0-rc02](https://developer.android.com/jetpack/androidx/releases/camera#1.7.0-rc02)

```
abstract @NonNull List<@NonNull Size> getHighSpeedVideoSizes()
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/hardware/camera2/params/StreamConfigurationMap.html#getHighSpeedVideoSizes()` |   |

### getHighSpeedVideoSizesFor

Added in [1.7.0-rc02](https://developer.android.com/jetpack/androidx/releases/camera#1.7.0-rc02)

```
abstract @NonNull List<@NonNull Size> getHighSpeedVideoSizesFor(@NonNull Range<@NonNull Integer> fpsRange)
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/hardware/camera2/params/StreamConfigurationMap.html#getHighSpeedVideoSizesFor(android.util.Range&lt;java.lang.Integer&gt;)` |   |

### getInputFormats

Added in [1.7.0-rc02](https://developer.android.com/jetpack/androidx/releases/camera#1.7.0-rc02)

```
abstract @NonNull List<@NonNull Integer> getInputFormats()
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/hardware/camera2/params/StreamConfigurationMap.html#getInputFormats()` |   |

### getInputSizes

Added in [1.7.0-rc02](https://developer.android.com/jetpack/androidx/releases/camera#1.7.0-rc02)

```
abstract @NonNull List<@NonNull Size> getInputSizes(int format)
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/hardware/camera2/params/StreamConfigurationMap.html#getInputSizes(int)` |   |

### getOutputFormats

Added in [1.7.0-rc02](https://developer.android.com/jetpack/androidx/releases/camera#1.7.0-rc02)

```
abstract @NonNull List<@NonNull Integer> getOutputFormats()
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/hardware/camera2/params/StreamConfigurationMap.html#getOutputFormats()` |   |

### getOutputMinFrameDuration

Added in [1.7.0-rc02](https://developer.android.com/jetpack/androidx/releases/camera#1.7.0-rc02)

```
abstract long getOutputMinFrameDuration(int format, @NonNull Size size)
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/hardware/camera2/params/StreamConfigurationMap.html#getOutputMinFrameDuration(int, android.util.Size)` |   |

### getOutputMinFrameDuration

Added in [1.7.0-rc02](https://developer.android.com/jetpack/androidx/releases/camera#1.7.0-rc02)

```
abstract long <T extends Object> getOutputMinFrameDuration(
    @NonNull Class<@NonNull T> klass,
    @NonNull Size size
)
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/hardware/camera2/params/StreamConfigurationMap.html#getOutputMinFrameDuration(int, android.util.Size)` |   |

### getOutputSizes

Added in [1.7.0-rc02](https://developer.android.com/jetpack/androidx/releases/camera#1.7.0-rc02)

```
abstract @NonNull List<@NonNull Size> getOutputSizes(int format)
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/hardware/camera2/params/StreamConfigurationMap.html#getOutputSizes(int)` |   |

### getOutputSizes

Added in [1.7.0-rc02](https://developer.android.com/jetpack/androidx/releases/camera#1.7.0-rc02)

```
abstract @NonNull List<@NonNull Size> <T extends Object> getOutputSizes(@NonNull Class<@NonNull T> klass)
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/hardware/camera2/params/StreamConfigurationMap.html#getOutputSizes(int)` |   |

### getOutputStallDuration

Added in [1.7.0-rc02](https://developer.android.com/jetpack/androidx/releases/camera#1.7.0-rc02)

```
abstract long getOutputStallDuration(int format, @NonNull Size size)
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/hardware/camera2/params/StreamConfigurationMap.html#getOutputStallDuration(int, android.util.Size)` |   |

### getOutputStallDuration

Added in [1.7.0-rc02](https://developer.android.com/jetpack/androidx/releases/camera#1.7.0-rc02)

```
abstract long <T extends Object> getOutputStallDuration(
    @NonNull Class<@NonNull T> klass,
    @NonNull Size size
)
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/hardware/camera2/params/StreamConfigurationMap.html#getOutputStallDuration(int, android.util.Size)` |   |

### getValidOutputFormatsForInput

Added in [1.7.0-rc02](https://developer.android.com/jetpack/androidx/releases/camera#1.7.0-rc02)

```
abstract @NonNull List<@NonNull Integer> getValidOutputFormatsForInput(int inputFormat)
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/hardware/camera2/params/StreamConfigurationMap.html#getValidOutputFormatsForInput(int)` |   |

### isOutputSupportedFor

Added in [1.7.0-rc02](https://developer.android.com/jetpack/androidx/releases/camera#1.7.0-rc02)

```
abstract boolean isOutputSupportedFor(int format)
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/hardware/camera2/params/StreamConfigurationMap.html#isOutputSupportedFor(android.view.Surface)` |   |

### isOutputSupportedFor

Added in [1.7.0-rc02](https://developer.android.com/jetpack/androidx/releases/camera#1.7.0-rc02)

```
abstract boolean <T extends Object> isOutputSupportedFor(@NonNull Class<@NonNull T> klass)
```

Converting this method to non-static for testability.

| See also |
|---|---|
| `https://developer.android.com/reference/android/hardware/camera2/params/StreamConfigurationMap.html#isOutputSupportedFor(android.view.Surface)` |   |

### isOutputSupportedFor

Added in [1.7.0-rc02](https://developer.android.com/jetpack/androidx/releases/camera#1.7.0-rc02)

```
abstract boolean isOutputSupportedFor(@NonNull Surface surface)
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/hardware/camera2/params/StreamConfigurationMap.html#isOutputSupportedFor(android.view.Surface)` |   |