# OutputConfigurationInterop

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

*** ** * ** ***


```
public interface OutputConfigurationInterop
```

<br />

Known direct subclasses [ImageCaptureCamera2Interop](https://developer.android.com/reference/androidx/camera/camera2/interop/ImageCaptureCamera2Interop), [UseCaseCamera2Interop](https://developer.android.com/reference/androidx/camera/camera2/interop/UseCaseCamera2Interop)

|---|---|
| `https://developer.android.com/reference/androidx/camera/camera2/interop/ImageCaptureCamera2Interop` | Configures Camera2 options on an `https://developer.android.com/reference/androidx/camera/core/ImageCapture` use case. |
| `https://developer.android.com/reference/androidx/camera/camera2/interop/UseCaseCamera2Interop` | Configures Camera2 options on a `https://developer.android.com/reference/androidx/camera/core/UseCase`. |

*** ** * ** ***

Configures Camera2 `https://developer.android.com/reference/android/hardware/camera2/params/OutputConfiguration.html` options.

## Summary

| ### Public methods |
|---|---|
| `abstract void` | `@https://developer.android.com/reference/androidx/annotation/RequiresApi(value = 31) https://developer.android.com/reference/androidx/camera/camera2/interop/OutputConfigurationInterop#addSensorPixelModeUsed(kotlin.Int)(int sensorPixelMode)` Adds a sensor pixel mode that this output configuration will be used in. |
| `abstract long` | `@https://developer.android.com/reference/androidx/annotation/RequiresApi(value = 33) https://developer.android.com/reference/androidx/camera/camera2/interop/OutputConfigurationInterop#getDynamicRangeProfile()()` The dynamic range profile. |
| `abstract int` | `@https://developer.android.com/reference/androidx/annotation/RequiresApi(value = 33) https://developer.android.com/reference/androidx/camera/camera2/interop/OutputConfigurationInterop#getMirrorMode()()` The mirror mode. |
| `abstract https://developer.android.com/reference/java/lang/String.html` | `@https://developer.android.com/reference/androidx/annotation/RequiresApi(value = 28) https://developer.android.com/reference/androidx/camera/camera2/interop/OutputConfigurationInterop#getPhysicalCameraId()()` The physical camera ID. |
| `abstract @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Set.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Integer.html>` | `@https://developer.android.com/reference/androidx/annotation/RequiresApi(value = 31) https://developer.android.com/reference/androidx/camera/camera2/interop/OutputConfigurationInterop#getSensorPixelModesUsed()()` The sensor pixel modes that this output configuration will be used in. |
| `abstract long` | `@https://developer.android.com/reference/androidx/annotation/RequiresApi(value = 33) https://developer.android.com/reference/androidx/camera/camera2/interop/OutputConfigurationInterop#getStreamUseCase()()` The stream use case. |
| `abstract int` | `https://developer.android.com/reference/androidx/camera/camera2/interop/OutputConfigurationInterop#getSurfaceGroupId()()` The surface group ID. |
| `abstract int` | `@https://developer.android.com/reference/androidx/annotation/RequiresApi(value = 33) https://developer.android.com/reference/androidx/camera/camera2/interop/OutputConfigurationInterop#getTimestampBase()()` The timestamp base. |
| `abstract void` | `@https://developer.android.com/reference/androidx/annotation/RequiresApi(value = 33) https://developer.android.com/reference/androidx/camera/camera2/interop/OutputConfigurationInterop#setDynamicRangeProfile(kotlin.Long)(long value)` The dynamic range profile. |
| `abstract void` | `@https://developer.android.com/reference/androidx/annotation/RequiresApi(value = 33) https://developer.android.com/reference/androidx/camera/camera2/interop/OutputConfigurationInterop#setMirrorMode(kotlin.Int)(int value)` The mirror mode. |
| `abstract void` | `@https://developer.android.com/reference/androidx/annotation/RequiresApi(value = 28) https://developer.android.com/reference/androidx/camera/camera2/interop/OutputConfigurationInterop#setPhysicalCameraId(kotlin.String)(https://developer.android.com/reference/java/lang/String.html value)` The physical camera ID. |
| `abstract void` | `@https://developer.android.com/reference/androidx/annotation/RequiresApi(value = 31) https://developer.android.com/reference/androidx/camera/camera2/interop/OutputConfigurationInterop#setSensorPixelModesUsed(kotlin.collections.Set)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Set.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Integer.html> value)` The sensor pixel modes that this output configuration will be used in. |
| `abstract void` | `@https://developer.android.com/reference/androidx/annotation/RequiresApi(value = 33) https://developer.android.com/reference/androidx/camera/camera2/interop/OutputConfigurationInterop#setStreamUseCase(kotlin.Long)(long value)` The stream use case. |
| `abstract void` | `https://developer.android.com/reference/androidx/camera/camera2/interop/OutputConfigurationInterop#setSurfaceGroupId(kotlin.Int)(int value)` The surface group ID. |
| `abstract void` | `@https://developer.android.com/reference/androidx/annotation/RequiresApi(value = 33) https://developer.android.com/reference/androidx/camera/camera2/interop/OutputConfigurationInterop#setTimestampBase(kotlin.Int)(int value)` The timestamp base. |

## Public methods

### addSensorPixelModeUsed

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

```
@RequiresApi(value = 31)
abstract void addSensorPixelModeUsed(int sensorPixelMode)
```

Adds a sensor pixel mode that this output configuration will be used in.

| Parameters |
|---|---|
| `int sensorPixelMode` | sensor pixel mode to add |

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

### getDynamicRangeProfile

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

```
@RequiresApi(value = 33)
abstract long getDynamicRangeProfile()
```

The dynamic range profile.

### getMirrorMode

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

```
@RequiresApi(value = 33)
abstract int getMirrorMode()
```

The mirror mode.

### getPhysicalCameraId

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

```
@RequiresApi(value = 28)
abstract String getPhysicalCameraId()
```

The physical camera ID.

### getSensorPixelModesUsed

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

```
@RequiresApi(value = 31)
abstract @NonNull Set<@NonNull Integer> getSensorPixelModesUsed()
```

The sensor pixel modes that this output configuration will be used in.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/camera/camera2/interop/OutputConfigurationInterop#addSensorPixelModeUsed(kotlin.Int)` |   |

### getStreamUseCase

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

```
@RequiresApi(value = 33)
abstract long getStreamUseCase()
```

The stream use case.

### getSurfaceGroupId

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

```
abstract int getSurfaceGroupId()
```

The surface group ID.

### getTimestampBase

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

```
@RequiresApi(value = 33)
abstract int getTimestampBase()
```

The timestamp base.

### setDynamicRangeProfile

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

```
@RequiresApi(value = 33)
abstract void setDynamicRangeProfile(long value)
```

The dynamic range profile.

### setMirrorMode

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

```
@RequiresApi(value = 33)
abstract void setMirrorMode(int value)
```

The mirror mode.

### setPhysicalCameraId

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

```
@RequiresApi(value = 28)
abstract void setPhysicalCameraId(String value)
```

The physical camera ID.

### setSensorPixelModesUsed

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

```
@RequiresApi(value = 31)
abstract void setSensorPixelModesUsed(@NonNull Set<@NonNull Integer> value)
```

The sensor pixel modes that this output configuration will be used in.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/camera/camera2/interop/OutputConfigurationInterop#addSensorPixelModeUsed(kotlin.Int)` |   |

### setStreamUseCase

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

```
@RequiresApi(value = 33)
abstract void setStreamUseCase(long value)
```

The stream use case.

### setSurfaceGroupId

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

```
abstract void setSurfaceGroupId(int value)
```

The surface group ID.

### setTimestampBase

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

```
@RequiresApi(value = 33)
abstract void setTimestampBase(int value)
```

The timestamp base.