# MetadataDecoderFactory

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

*** ** * ** ***


```
@UnstableApi
public interface MetadataDecoderFactory
```

<br />

*** ** * ** ***

A factory for `https://developer.android.com/reference/androidx/media3/extractor/metadata/MetadataDecoder` instances.

## Summary

| ### Constants |
|---|---|
| `default static final https://developer.android.com/reference/androidx/media3/exoplayer/metadata/MetadataDecoderFactory` | `https://developer.android.com/reference/androidx/media3/exoplayer/metadata/MetadataDecoderFactory#DEFAULT()` Default `https://developer.android.com/reference/androidx/media3/extractor/metadata/MetadataDecoder` implementation. |

| ### Public methods |
|---|---|
| `abstract https://developer.android.com/reference/androidx/media3/extractor/metadata/MetadataDecoder` | `https://developer.android.com/reference/androidx/media3/exoplayer/metadata/MetadataDecoderFactory#createDecoder(androidx.media3.common.Format)(https://developer.android.com/reference/androidx/media3/common/Format format)` Creates a `https://developer.android.com/reference/androidx/media3/extractor/metadata/MetadataDecoder` for the given `https://developer.android.com/reference/androidx/media3/common/Format`. |
| `abstract boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/metadata/MetadataDecoderFactory#supportsFormat(androidx.media3.common.Format)(https://developer.android.com/reference/androidx/media3/common/Format format)` Returns whether the factory is able to instantiate a `https://developer.android.com/reference/androidx/media3/extractor/metadata/MetadataDecoder` for the given `https://developer.android.com/reference/androidx/media3/common/Format`. |

## Constants

### DEFAULT

```
default static final MetadataDecoderFactory DEFAULT
```

Default `https://developer.android.com/reference/androidx/media3/extractor/metadata/MetadataDecoder` implementation.

The formats supported by this factory are:

- ID3 (`https://developer.android.com/reference/androidx/media3/extractor/metadata/id3/Id3Decoder`)
- EMSG (`https://developer.android.com/reference/androidx/media3/extractor/metadata/emsg/EventMessageDecoder`)
- SCTE-35 (`https://developer.android.com/reference/androidx/media3/extractor/metadata/scte35/SpliceInfoDecoder`)
- ICY (`https://developer.android.com/reference/androidx/media3/extractor/metadata/icy/IcyDecoder`)

## Public methods

### createDecoder

```
abstract MetadataDecoder createDecoder(Format format)
```

Creates a `https://developer.android.com/reference/androidx/media3/extractor/metadata/MetadataDecoder` for the given `https://developer.android.com/reference/androidx/media3/common/Format`.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/Format format` | The `https://developer.android.com/reference/androidx/media3/common/Format`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/extractor/metadata/MetadataDecoder` | A new `https://developer.android.com/reference/androidx/media3/extractor/metadata/MetadataDecoder`. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException.html` | If the `https://developer.android.com/reference/androidx/media3/common/Format` is not supported. |

### supportsFormat

```
abstract boolean supportsFormat(Format format)
```

Returns whether the factory is able to instantiate a `https://developer.android.com/reference/androidx/media3/extractor/metadata/MetadataDecoder` for the given `https://developer.android.com/reference/androidx/media3/common/Format`.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/Format format` | The `https://developer.android.com/reference/androidx/media3/common/Format`. |

| Returns |
|---|---|
| `boolean` | Whether the factory can instantiate a suitable `https://developer.android.com/reference/androidx/media3/extractor/metadata/MetadataDecoder`. |