# MetadataDecoderFactory

# 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)

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/media3/exoplayer/metadata/MetadataDecoderFactory "View this page in Java")

<br />

```
@UnstableApi
interface MetadataDecoderFactory
```

<br />

*** ** * ** ***

A factory for[MetadataDecoder](https://developer.android.com/reference/kotlin/androidx/media3/extractor/metadata/MetadataDecoder)instances.

## Summary

|                                                                 ### Constants                                                                 |
|-----------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `const `[MetadataDecoderFactory](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/metadata/MetadataDecoderFactory)`!` | [DEFAULT](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/metadata/MetadataDecoderFactory#DEFAULT()) Default[MetadataDecoder](https://developer.android.com/reference/kotlin/androidx/media3/extractor/metadata/MetadataDecoder)implementation. |

|                                                  ### Public functions                                                   |
|-------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [MetadataDecoder](https://developer.android.com/reference/kotlin/androidx/media3/extractor/metadata/MetadataDecoder)`!` | [createDecoder](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/metadata/MetadataDecoderFactory#createDecoder(androidx.media3.common.Format))`(format: `[Format](https://developer.android.com/reference/kotlin/androidx/media3/common/Format)`!)` Creates a[MetadataDecoder](https://developer.android.com/reference/kotlin/androidx/media3/extractor/metadata/MetadataDecoder)for the given[Format](https://developer.android.com/reference/kotlin/androidx/media3/common/Format).                                              |
| [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)                                     | [supportsFormat](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/metadata/MetadataDecoderFactory#supportsFormat(androidx.media3.common.Format))`(format: `[Format](https://developer.android.com/reference/kotlin/androidx/media3/common/Format)`!)` Returns whether the factory is able to instantiate a[MetadataDecoder](https://developer.android.com/reference/kotlin/androidx/media3/extractor/metadata/MetadataDecoder)for the given[Format](https://developer.android.com/reference/kotlin/androidx/media3/common/Format). |

## Constants

### DEFAULT

```
const val DEFAULT: MetadataDecoderFactory!
```

Default[MetadataDecoder](https://developer.android.com/reference/kotlin/androidx/media3/extractor/metadata/MetadataDecoder)implementation.

The formats supported by this factory are:

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

## Public functions

### createDecoder

```
fun createDecoder(format: Format!): MetadataDecoder!
```

Creates a[MetadataDecoder](https://developer.android.com/reference/kotlin/androidx/media3/extractor/metadata/MetadataDecoder)for the given[Format](https://developer.android.com/reference/kotlin/androidx/media3/common/Format).  

|                                             Parameters                                              |
|-----------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------|
| `format: `[Format](https://developer.android.com/reference/kotlin/androidx/media3/common/Format)`!` | The[Format](https://developer.android.com/reference/kotlin/androidx/media3/common/Format). |

|                                                         Returns                                                         |
|-------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|
| [MetadataDecoder](https://developer.android.com/reference/kotlin/androidx/media3/extractor/metadata/MetadataDecoder)`!` | A new[MetadataDecoder](https://developer.android.com/reference/kotlin/androidx/media3/extractor/metadata/MetadataDecoder). |

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

### supportsFormat

```
fun supportsFormat(format: Format!): Boolean
```

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

|                                             Parameters                                              |
|-----------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------|
| `format: `[Format](https://developer.android.com/reference/kotlin/androidx/media3/common/Format)`!` | The[Format](https://developer.android.com/reference/kotlin/androidx/media3/common/Format). |

|                                       Returns                                       |
|-------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | Whether the factory can instantiate a suitable[MetadataDecoder](https://developer.android.com/reference/kotlin/androidx/media3/extractor/metadata/MetadataDecoder). |