# TsPayloadReader.Factory

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

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/media3/extractor/ts/TsPayloadReader.Factory "View this page in Java")

<br />

```
interface TsPayloadReader.Factory
```

<br />

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

|--------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------|
| [DefaultTsPayloadReaderFactory](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/DefaultTsPayloadReaderFactory) | Default[TsPayloadReader.Factory](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsPayloadReader.Factory)implementation. |

*** ** * ** ***

Factory of[TsPayloadReader](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsPayloadReader)instances.

## Summary

|                                                                                            ### Public functions                                                                                            |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [SparseArray](https://developer.android.com/reference/android/util/SparseArray.html)`<`[TsPayloadReader](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsPayloadReader)`!>!` | [createInitialPayloadReaders](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsPayloadReader.Factory#createInitialPayloadReaders())`()` Returns the initial mapping from PIDs to payload readers.                                                                                                                                                                                                                                                                                                                                                                                                  |
| [TsPayloadReader](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsPayloadReader)`?`                                                                                          | [createPayloadReader](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsPayloadReader.Factory#createPayloadReader(int,androidx.media3.extractor.ts.TsPayloadReader.EsInfo))`(streamType: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`, esInfo: `[TsPayloadReader.EsInfo](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsPayloadReader.EsInfo)`!)` Returns a[TsPayloadReader](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsPayloadReader)for a given stream type and elementary stream information. |

## Public functions

### createInitialPayloadReaders

```
fun createInitialPayloadReaders(): SparseArray<TsPayloadReader!>!
```

Returns the initial mapping from PIDs to payload readers.

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

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

### createPayloadReader

```
fun createPayloadReader(streamType: Int, esInfo: TsPayloadReader.EsInfo!): TsPayloadReader?
```

Returns a[TsPayloadReader](https://developer.android.com/reference/kotlin/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                                                                 |
|-------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------|
| `streamType: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                                 | Stream type value as defined in the PMT entry or associated descriptors. |
| `esInfo: `[TsPayloadReader.EsInfo](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsPayloadReader.EsInfo)`!` | Information associated to the elementary stream provided in the PMT.     |

|                                                      Returns                                                      |
|-------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [TsPayloadReader](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsPayloadReader)`?` | A[TsPayloadReader](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsPayloadReader)for the packet stream carried by the provided pid, or`null`if the stream is not supported. |