# TsPayloadReader.Factory

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/ts/TsPayloadReader.java+class:androidx.media3.extractor.ts.TsPayloadReader.Factory)

*** ** * ** ***


```
public interface TsPayloadReader.Factory
```

<br />

Known direct subclasses [DefaultTsPayloadReaderFactory](https://developer.android.com/reference/androidx/media3/extractor/ts/DefaultTsPayloadReaderFactory)

|---|---|
| `https://developer.android.com/reference/androidx/media3/extractor/ts/DefaultTsPayloadReaderFactory` | Default `https://developer.android.com/reference/androidx/media3/extractor/ts/TsPayloadReader.Factory` implementation. |

*** ** * ** ***

Factory of `https://developer.android.com/reference/androidx/media3/extractor/ts/TsPayloadReader` instances.

## Summary

| ### Public methods |
|---|---|
| `abstract https://developer.android.com/reference/android/util/SparseArray.html<https://developer.android.com/reference/androidx/media3/extractor/ts/TsPayloadReader>` | `https://developer.android.com/reference/androidx/media3/extractor/ts/TsPayloadReader.Factory#createInitialPayloadReaders()()` Returns the initial mapping from PIDs to payload readers. |
| `abstract @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/extractor/ts/TsPayloadReader` | `https://developer.android.com/reference/androidx/media3/extractor/ts/TsPayloadReader.Factory#createPayloadReader(int,androidx.media3.extractor.ts.TsPayloadReader.EsInfo)(int streamType, https://developer.android.com/reference/androidx/media3/extractor/ts/TsPayloadReader.EsInfo esInfo)` Returns a `https://developer.android.com/reference/androidx/media3/extractor/ts/TsPayloadReader` for a given stream type and elementary stream information. |

## Public methods

### createInitialPayloadReaders

```
abstract SparseArray<TsPayloadReader> createInitialPayloadReaders()
```

Returns the initial mapping from PIDs to payload readers.

This method allows the injection of payload readers for reserved PIDs, excluding PID 0.

| Returns |
|---|---|
| `https://developer.android.com/reference/android/util/SparseArray.html<https://developer.android.com/reference/androidx/media3/extractor/ts/TsPayloadReader>` | A `https://developer.android.com/reference/android/util/SparseArray.html` that maps PIDs to payload readers. |

### createPayloadReader

```
abstract @Nullable TsPayloadReader createPayloadReader(int streamType, TsPayloadReader.EsInfo esInfo)
```

Returns a `https://developer.android.com/reference/androidx/media3/extractor/ts/TsPayloadReader` for a given stream type and elementary stream information. May return null if the stream type is not supported.

| Parameters |
|---|---|
| `int streamType` | Stream type value as defined in the PMT entry or associated descriptors. |
| `https://developer.android.com/reference/androidx/media3/extractor/ts/TsPayloadReader.EsInfo esInfo` | Information associated to the elementary stream provided in the PMT. |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/extractor/ts/TsPayloadReader` | A `https://developer.android.com/reference/androidx/media3/extractor/ts/TsPayloadReader` for the packet stream carried by the provided pid, or `null` if the stream is not supported. |