# TransformationRequest.Builder

Artifact: [androidx.media3:media3-transformer](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/transformer/TransformationRequest.java+class:androidx.media3.transformer.TransformationRequest.Builder)

*** ** * ** ***


```
public final class TransformationRequest.Builder
```

<br />

*** ** * ** ***

A builder for `https://developer.android.com/reference/androidx/media3/transformer/TransformationRequest` instances.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/transformer/TransformationRequest.Builder#Builder()()` Creates a new instance with default values. |

| ### Public methods |
|---|---|
| `https://developer.android.com/reference/androidx/media3/transformer/TransformationRequest` | `https://developer.android.com/reference/androidx/media3/transformer/TransformationRequest.Builder#build()()` Builds a `https://developer.android.com/reference/androidx/media3/transformer/TransformationRequest` instance. |
| `https://developer.android.com/reference/androidx/media3/transformer/TransformationRequest.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/transformer/TransformationRequest.Builder#setAudioMimeType(java.lang.String)(@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html audioMimeType)` Sets the audio MIME type of the output. |
| `https://developer.android.com/reference/androidx/media3/transformer/TransformationRequest.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/transformer/TransformationRequest.Builder#setHdrMode(int)(@https://developer.android.com/reference/androidx/media3/transformer/Composition.HdrMode int hdrMode)` Sets the `https://developer.android.com/reference/androidx/media3/transformer/Composition.HdrMode` for HDR video input. |
| `https://developer.android.com/reference/androidx/media3/transformer/TransformationRequest.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/transformer/TransformationRequest.Builder#setVideoMimeType(java.lang.String)(@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html videoMimeType)` Sets the video MIME type of the output. |

## Public constructors

### Builder

```
public Builder()
```

Creates a new instance with default values.

Use `https://developer.android.com/reference/androidx/media3/transformer/TransformationRequest#buildUpon()` to obtain a builder representing an existing `https://developer.android.com/reference/androidx/media3/transformer/TransformationRequest`.

## Public methods

### build

```
public TransformationRequest build()
```

Builds a `https://developer.android.com/reference/androidx/media3/transformer/TransformationRequest` instance.

### setAudioMimeType

```
@CanIgnoreReturnValue
public TransformationRequest.Builder setAudioMimeType(@Nullable String audioMimeType)
```

Sets the audio MIME type of the output.

The default value is `null` which corresponds to using the same MIME type as the input. Supported MIME types are:

- `https://developer.android.com/reference/androidx/media3/common/MimeTypes#AUDIO_AAC()`
- `https://developer.android.com/reference/androidx/media3/common/MimeTypes#AUDIO_AMR_NB()`
- `https://developer.android.com/reference/androidx/media3/common/MimeTypes#AUDIO_AMR_WB()`

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html audioMimeType` | The MIME type of the audio samples in the output. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/transformer/TransformationRequest.Builder` | This builder. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException.html` | If the `audioMimeType` is non-null but not an audio `https://developer.android.com/reference/androidx/media3/common/MimeTypes`. |

### setHdrMode

```
@CanIgnoreReturnValue
public TransformationRequest.Builder setHdrMode(@Composition.HdrMode int hdrMode)
```

Sets the `https://developer.android.com/reference/androidx/media3/transformer/Composition.HdrMode` for HDR video input.

The default value is `https://developer.android.com/reference/androidx/media3/transformer/Composition#HDR_MODE_KEEP_HDR()`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/media3/transformer/Composition.HdrMode int hdrMode` | The `https://developer.android.com/reference/androidx/media3/transformer/Composition.HdrMode` used. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/transformer/TransformationRequest.Builder` | This builder. |

### setVideoMimeType

```
@CanIgnoreReturnValue
public TransformationRequest.Builder setVideoMimeType(@Nullable String videoMimeType)
```

Sets the video MIME type of the output.

The default value is `null` which corresponds to using the same MIME type as the input. Supported MIME types are:

- `https://developer.android.com/reference/androidx/media3/common/MimeTypes#VIDEO_H263()`
- `https://developer.android.com/reference/androidx/media3/common/MimeTypes#VIDEO_H264()`
- `https://developer.android.com/reference/androidx/media3/common/MimeTypes#VIDEO_H265()`
- `https://developer.android.com/reference/androidx/media3/common/MimeTypes#VIDEO_MP4V()`

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html videoMimeType` | The MIME type of the video samples in the output. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/transformer/TransformationRequest.Builder` | This builder. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException.html` | If the `videoMimeType` is non-null but not a video `https://developer.android.com/reference/androidx/media3/common/MimeTypes`. |