# EncoderSelector

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/EncoderSelector.java+class:androidx.media3.transformer.EncoderSelector)

*** ** * ** ***

<br />

```
@UnstableApi
public interface EncoderSelector
```

<br />

*** ** * ** ***

Selector of `https://developer.android.com/reference/android/media/MediaCodec.html` encoder instances.

## Summary

| ### Constants |
|---|---|
| `default static final https://developer.android.com/reference/androidx/media3/transformer/EncoderSelector` | `https://developer.android.com/reference/androidx/media3/transformer/EncoderSelector#DEFAULT()` Default implementation of `EncoderSelector`, which returns the preferred encoders for the given `https://developer.android.com/reference/androidx/media3/common/MimeTypes`. |

| ### Public methods |
|---|---|
| `abstract https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/android/media/MediaCodecInfo.html>` | `https://developer.android.com/reference/androidx/media3/transformer/EncoderSelector#selectEncoderInfos(java.lang.String)(https://developer.android.com/reference/java/lang/String.html mimeType)` Returns a list of encoders that can encode media in the specified `mimeType`, in priority order. |

## Constants

### DEFAULT

```
default static final EncoderSelector DEFAULT
```

Default implementation of `EncoderSelector`, which returns the preferred encoders for the given `https://developer.android.com/reference/androidx/media3/common/MimeTypes`.

The `EncoderSelector` selection result contains only hardware encoders if they exist, or only software encoders otherwise.

## Public methods

### selectEncoderInfos

```
abstract ImmutableList<MediaCodecInfo> selectEncoderInfos(String mimeType)
```

Returns a list of encoders that can encode media in the specified `mimeType`, in priority order.

| Parameters |
|---|---|
| `https://developer.android.com/reference/java/lang/String.html mimeType` | The `https://developer.android.com/reference/androidx/media3/common/MimeTypes` for which an encoder is required. |

| Returns |
|---|---|
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/android/media/MediaCodecInfo.html>` | An immutable list of `https://developer.android.com/reference/android/media/MediaCodecInfo.html` that support the ` mimeType`. The list may be empty. |