# ForwardingExtractorsFactory

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

*** ** * ** ***


```
@UnstableApi
public class ForwardingExtractorsFactory implements ExtractorsFactory
```

<br />

*** ** * ** ***

A forwarding `https://developer.android.com/reference/androidx/media3/extractor/ExtractorsFactory` that forwards all methods to the underlying implementation.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/extractor/ForwardingExtractorsFactory#ForwardingExtractorsFactory(androidx.media3.extractor.ExtractorsFactory)(https://developer.android.com/reference/androidx/media3/extractor/ExtractorsFactory factory)` Creates a forwarding `https://developer.android.com/reference/androidx/media3/extractor/ExtractorsFactory`. |

| ### Public methods |
|---|---|
| `Extractor[]` | `https://developer.android.com/reference/androidx/media3/extractor/ForwardingExtractorsFactory#createExtractors()()` Returns an array of new `https://developer.android.com/reference/androidx/media3/extractor/Extractor` instances. |
| `Extractor[]` | `https://developer.android.com/reference/androidx/media3/extractor/ForwardingExtractorsFactory#createExtractors(android.net.Uri,java.util.Map<java.lang.String,java.util.List<java.lang.String>>)(https://developer.android.com/reference/android/net/Uri.html uri, https://developer.android.com/reference/java/util/Map.html<https://developer.android.com/reference/java/lang/String.html, https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/java/lang/String.html>> responseHeaders)` Returns an array of new `https://developer.android.com/reference/androidx/media3/extractor/Extractor` instances. |
| `https://developer.android.com/reference/androidx/media3/extractor/ExtractorsFactory` | `https://developer.android.com/reference/androidx/media3/extractor/ForwardingExtractorsFactory#experimentalSetTextTrackTranscodingEnabled(boolean)( boolean textTrackTranscodingEnabled )` **This method is deprecated.** This method (and all support for 'legacy' subtitle decoding during rendering) will be removed in a future release. <br /> |
| `https://developer.android.com/reference/androidx/media3/extractor/ExtractorsFactory` | `https://developer.android.com/reference/androidx/media3/extractor/ForwardingExtractorsFactory#setParseHagcMetadata(boolean)(boolean parseHagcMetadata)` Sets whether to parse HAGC (ST 2094-50) metadata. |
| `https://developer.android.com/reference/androidx/media3/extractor/ExtractorsFactory` | `https://developer.android.com/reference/androidx/media3/extractor/ForwardingExtractorsFactory#setSubtitleParserFactory(androidx.media3.extractor.text.SubtitleParser.Factory)(https://developer.android.com/reference/androidx/media3/extractor/text/SubtitleParser.Factory subtitleParserFactory)` Sets a `https://developer.android.com/reference/androidx/media3/extractor/text/SubtitleParser.Factory` to use when transcoding text tracks. |

### Inherited Constants

From [androidx.media3.extractor.ExtractorsFactory](https://developer.android.com/reference/androidx/media3/extractor/ExtractorsFactory) `static final https://developer.android.com/reference/androidx/media3/extractor/ExtractorsFactory` `https://developer.android.com/reference/androidx/media3/extractor/ExtractorsFactory#EMPTY()`

Extractor factory that returns an empty list of extractors.

## Public constructors

### ForwardingExtractorsFactory

```
public ForwardingExtractorsFactory(ExtractorsFactory factory)
```

Creates a forwarding `https://developer.android.com/reference/androidx/media3/extractor/ExtractorsFactory`.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/extractor/ExtractorsFactory factory` | The `https://developer.android.com/reference/androidx/media3/extractor/ExtractorsFactory` to forward to. |

## Public methods

### createExtractors

```
public Extractor[] createExtractors()
```

Returns an array of new `https://developer.android.com/reference/androidx/media3/extractor/Extractor` instances.

### createExtractors

```
public Extractor[] createExtractors(Uri uri, Map<String, List<String>> responseHeaders)
```

Returns an array of new `https://developer.android.com/reference/androidx/media3/extractor/Extractor` instances.

| Parameters |
|---|---|
| `https://developer.android.com/reference/android/net/Uri.html uri` | The `https://developer.android.com/reference/android/net/Uri.html` of the media to extract. |
| `https://developer.android.com/reference/java/util/Map.html<https://developer.android.com/reference/java/lang/String.html, https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/java/lang/String.html>> responseHeaders` | The response headers of the media to extract, or an empty map if there are none. The map lookup should be case-insensitive. |

| Returns |
|---|---|
| `Extractor[]` | The `https://developer.android.com/reference/androidx/media3/extractor/Extractor` instances. |

### experimentalSetTextTrackTranscodingEnabled

```
public ExtractorsFactory experimentalSetTextTrackTranscodingEnabled(
    boolean textTrackTranscodingEnabled
)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> This method (and all support for 'legacy' subtitle decoding during rendering) will be removed in a future release.

Enables transcoding of text track samples to `https://developer.android.com/reference/androidx/media3/common/MimeTypes#APPLICATION_MEDIA3_CUES()` before the data is emitted to `https://developer.android.com/reference/androidx/media3/extractor/TrackOutput`.

Transcoding is enabled by default.

This method is experimental and will be renamed or removed in a future release.

| Parameters |
|---|---|
| `boolean textTrackTranscodingEnabled` | Whether to enable transcoding. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/extractor/ExtractorsFactory` | The factory, for convenience. |

### setParseHagcMetadata

```
public ExtractorsFactory setParseHagcMetadata(boolean parseHagcMetadata)
```

Sets whether to parse HAGC (ST 2094-50) metadata.

| Parameters |
|---|---|
| `boolean parseHagcMetadata` | Whether HAGC metadata parsing is enabled. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/extractor/ExtractorsFactory` | This factory, for convenience. |

### setSubtitleParserFactory

```
public ExtractorsFactory setSubtitleParserFactory(SubtitleParser.Factory subtitleParserFactory)
```

Sets a `https://developer.android.com/reference/androidx/media3/extractor/text/SubtitleParser.Factory` to use when transcoding text tracks.

This is only works if `https://developer.android.com/reference/androidx/media3/extractor/ExtractorsFactory#experimentalSetTextTrackTranscodingEnabled(boolean)` is enabled.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/extractor/text/SubtitleParser.Factory subtitleParserFactory` | The factory for `https://developer.android.com/reference/androidx/media3/extractor/text/SubtitleParser` instances. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/extractor/ExtractorsFactory` | The factory, for convenience. |