# TsExtractor

# TsExtractor

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

*** ** * ** ***

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

<br />

```
@UnstableApi
class TsExtractor : Extractor
```

<br />

*** ** * ** ***

Extracts data from the MPEG-2 TS container format.

## Summary

|                                                                                                                                                                                                                                                                                                                                                                                                               ### Nested types                                                                                                                                                                                                                                                                                                                                                                                                               |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `@`[Documented](https://developer.android.com/reference/java/lang/annotation/Documented.html) `@`[Retention](https://developer.android.com/reference/java/lang/annotation/Retention.html)`(value = `[RetentionPolicy.SOURCE](https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html#SOURCE)`)` `@`[Target](https://developer.android.com/reference/java/lang/annotation/Target.html)`(value = `[ElementType.TYPE_USE](https://developer.android.com/reference/java/lang/annotation/ElementType.html#TYPE_USE)`)` `@`[IntDef](https://developer.android.com/reference/kotlin/androidx/annotation/IntDef)`(flag = true, value = )` `annotation `[TsExtractor.Flags](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor.Flags) Flags controlling the behavior of the extractor. |
| `@`[Documented](https://developer.android.com/reference/java/lang/annotation/Documented.html) `@`[Retention](https://developer.android.com/reference/java/lang/annotation/Retention.html)`(value = `[RetentionPolicy.SOURCE](https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html#SOURCE)`)` `@`[Target](https://developer.android.com/reference/java/lang/annotation/Target.html)`(value = `[ElementType.TYPE_USE](https://developer.android.com/reference/java/lang/annotation/ElementType.html#TYPE_USE)`)` `@`[IntDef](https://developer.android.com/reference/kotlin/androidx/annotation/IntDef)`(value = )` `annotation `[TsExtractor.Mode](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor.Mode) Modes for the extractor.                                        |

|                                                       ### Constants                                                        |
|----------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [DEFAULT_TIMESTAMP_SEARCH_BYTES](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#DEFAULT_TIMESTAMP_SEARCH_BYTES())` = 112800`                                                                                                                                                                   |
| `const `[ExtractorsFactory](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorsFactory)`!` | [FACTORY](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#FACTORY()) **This property is deprecated.** Use[newFactory](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#newFactory(androidx.media3.extractor.text.SubtitleParser.Factory))instead. <br /> |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [FLAG_EMIT_RAW_SUBTITLE_DATA](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#FLAG_EMIT_RAW_SUBTITLE_DATA())` = 1` Flag to use the source subtitle formats without modification.                                                                                                                |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [MODE_HLS](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#MODE_HLS())` = 2` Enable single PMT mode, map[TrackOutput](https://developer.android.com/reference/kotlin/androidx/media3/extractor/TrackOutput)s by their type (instead of PID) and ignore continuity counters.                     |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [MODE_MULTI_PMT](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#MODE_MULTI_PMT())` = 0` Behave as defined in ISO/IEC 13818-1.                                                                                                                                                                  |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [MODE_SINGLE_PMT](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#MODE_SINGLE_PMT())` = 1` Assume only one PMT will be contained in the stream, even if more are declared by the PAT.                                                                                                           |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [TS_PACKET_SIZE](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TS_PACKET_SIZE())` = 188`                                                                                                                                                                                                      |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [TS_STREAM_TYPE_AAC_ADTS](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TS_STREAM_TYPE_AAC_ADTS())` = 15`                                                                                                                                                                                     |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [TS_STREAM_TYPE_AAC_LATM](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TS_STREAM_TYPE_AAC_LATM())` = 17`                                                                                                                                                                                     |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [TS_STREAM_TYPE_AC3](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TS_STREAM_TYPE_AC3())` = 129`                                                                                                                                                                                              |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [TS_STREAM_TYPE_AC4](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TS_STREAM_TYPE_AC4())` = 172`                                                                                                                                                                                              |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [TS_STREAM_TYPE_AIT](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TS_STREAM_TYPE_AIT())` = 257`                                                                                                                                                                                              |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [TS_STREAM_TYPE_DC2_H262](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TS_STREAM_TYPE_DC2_H262())` = 128`                                                                                                                                                                                    |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [TS_STREAM_TYPE_DTS](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TS_STREAM_TYPE_DTS())` = 138`                                                                                                                                                                                              |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [TS_STREAM_TYPE_DTS_HD](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TS_STREAM_TYPE_DTS_HD())` = 136`                                                                                                                                                                                        |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [TS_STREAM_TYPE_DTS_UHD](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TS_STREAM_TYPE_DTS_UHD())` = 139`                                                                                                                                                                                      |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [TS_STREAM_TYPE_DVBSUBS](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TS_STREAM_TYPE_DVBSUBS())` = 89`                                                                                                                                                                                       |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [TS_STREAM_TYPE_E_AC3](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TS_STREAM_TYPE_E_AC3())` = 135`                                                                                                                                                                                          |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [TS_STREAM_TYPE_H262](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TS_STREAM_TYPE_H262())` = 2`                                                                                                                                                                                              |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [TS_STREAM_TYPE_H263](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TS_STREAM_TYPE_H263())` = 16`                                                                                                                                                                                             |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [TS_STREAM_TYPE_H264](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TS_STREAM_TYPE_H264())` = 27`                                                                                                                                                                                             |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [TS_STREAM_TYPE_H265](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TS_STREAM_TYPE_H265())` = 36`                                                                                                                                                                                             |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [TS_STREAM_TYPE_HDMV_DTS](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TS_STREAM_TYPE_HDMV_DTS())` = 130`                                                                                                                                                                                    |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [TS_STREAM_TYPE_ID3](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TS_STREAM_TYPE_ID3())` = 21`                                                                                                                                                                                               |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [TS_STREAM_TYPE_MHAS](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TS_STREAM_TYPE_MHAS())` = 45`                                                                                                                                                                                             |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [TS_STREAM_TYPE_MPA](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TS_STREAM_TYPE_MPA())` = 3`                                                                                                                                                                                                |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [TS_STREAM_TYPE_MPA_LSF](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TS_STREAM_TYPE_MPA_LSF())` = 4`                                                                                                                                                                                        |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [TS_STREAM_TYPE_SPLICE_INFO](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TS_STREAM_TYPE_SPLICE_INFO())` = 134`                                                                                                                                                                              |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                        | [TS_SYNC_BYTE](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TS_SYNC_BYTE())` = 71`                                                                                                                                                                                                           |

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ### Public constructors                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ~~[TsExtractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TsExtractor())~~`()` **This function is deprecated.** Use[TsExtractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TsExtractor(androidx.media3.extractor.text.SubtitleParser.Factory))instead. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| ~~[TsExtractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TsExtractor(int))~~`(` ` @`[DefaultTsPayloadReaderFactory.Flags](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/DefaultTsPayloadReaderFactory.Flags)` defaultTsPayloadReaderFlags: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) `)` **This function is deprecated.** Use[TsExtractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TsExtractor(int,int,androidx.media3.extractor.text.SubtitleParser.Factory,androidx.media3.common.util.TimestampAdjuster,androidx.media3.extractor.ts.TsPayloadReader.Factory,int))instead. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| [TsExtractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TsExtractor(androidx.media3.extractor.text.SubtitleParser.Factory))`(subtitleParserFactory: `[SubtitleParser.Factory](https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser.Factory)`!)` Constructs an instance.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| [TsExtractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TsExtractor(int,androidx.media3.extractor.text.SubtitleParser.Factory))`(` ` @`[TsExtractor.Flags](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor.Flags)` extractorFlags: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`,` ` subtitleParserFactory: `[SubtitleParser.Factory](https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser.Factory)`!` `)` Constructs an instance.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ~~[TsExtractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TsExtractor(int,int,int))~~`(` ` @`[TsExtractor.Mode](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor.Mode)` mode: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`,` ` @`[DefaultTsPayloadReaderFactory.Flags](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/DefaultTsPayloadReaderFactory.Flags)` defaultTsPayloadReaderFlags: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`,` ` timestampSearchBytes: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) `)` **This function is deprecated.** Use[TsExtractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TsExtractor(int,int,androidx.media3.extractor.text.SubtitleParser.Factory,androidx.media3.common.util.TimestampAdjuster,androidx.media3.extractor.ts.TsPayloadReader.Factory,int))instead. <br />                                                                                                                                                                                                                                                      |
| ~~[TsExtractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TsExtractor(int,androidx.media3.common.util.TimestampAdjuster,androidx.media3.extractor.ts.TsPayloadReader.Factory))~~`(` ` @`[TsExtractor.Mode](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor.Mode)` mode: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`,` ` timestampAdjuster: `[TimestampAdjuster](https://developer.android.com/reference/kotlin/androidx/media3/common/util/TimestampAdjuster)`!,` ` payloadReaderFactory: `[TsPayloadReader.Factory](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsPayloadReader.Factory)`!` `)` **This function is deprecated.** Use[TsExtractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TsExtractor(int,int,androidx.media3.extractor.text.SubtitleParser.Factory,androidx.media3.common.util.TimestampAdjuster,androidx.media3.extractor.ts.TsPayloadReader.Factory,int))instead. <br />                                                                                                                                                                                                                                  |
| ~~[TsExtractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TsExtractor(int,androidx.media3.common.util.TimestampAdjuster,androidx.media3.extractor.ts.TsPayloadReader.Factory,int))~~`(` ` @`[TsExtractor.Mode](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor.Mode)` mode: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`,` ` timestampAdjuster: `[TimestampAdjuster](https://developer.android.com/reference/kotlin/androidx/media3/common/util/TimestampAdjuster)`!,` ` payloadReaderFactory: `[TsPayloadReader.Factory](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsPayloadReader.Factory)`!,` ` timestampSearchBytes: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) `)` **This function is deprecated.** Use[TsExtractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TsExtractor(int,int,androidx.media3.extractor.text.SubtitleParser.Factory,androidx.media3.common.util.TimestampAdjuster,androidx.media3.extractor.ts.TsPayloadReader.Factory,int))instead. <br />                                                                                                                        |
| [TsExtractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TsExtractor(int,int,androidx.media3.extractor.text.SubtitleParser.Factory,androidx.media3.common.util.TimestampAdjuster,androidx.media3.extractor.ts.TsPayloadReader.Factory,int))`(` ` @`[TsExtractor.Mode](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor.Mode)` mode: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`,` ` @`[TsExtractor.Flags](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor.Flags)` extractorFlags: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`,` ` subtitleParserFactory: `[SubtitleParser.Factory](https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser.Factory)`!,` ` timestampAdjuster: `[TimestampAdjuster](https://developer.android.com/reference/kotlin/androidx/media3/common/util/TimestampAdjuster)`!,` ` payloadReaderFactory: `[TsPayloadReader.Factory](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsPayloadReader.Factory)`!,` ` timestampSearchBytes: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) `)` Constructs an instance. |

|                                                       ### Public functions                                                       |
|----------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                    | [init](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#init(androidx.media3.extractor.ExtractorOutput))`(output: `[ExtractorOutput](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorOutput)`!)` Initializes the extractor with an[ExtractorOutput](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorOutput).                                                                                                                                                                                                                                                                                          |
| `java-static `[ExtractorsFactory](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorsFactory)`!` | [newFactory](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#newFactory(androidx.media3.extractor.text.SubtitleParser.Factory))`(subtitleParserFactory: `[SubtitleParser.Factory](https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser.Factory)`!)` Creates a factory for[TsExtractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor)instances with the provided[SubtitleParser.Factory](https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser.Factory).                                                                                        |
| [Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                                      | `@`[Extractor.ReadResult](https://developer.android.com/reference/kotlin/androidx/media3/extractor/Extractor.ReadResult) [read](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#read(androidx.media3.extractor.ExtractorInput,androidx.media3.extractor.PositionHolder))`(input: `[ExtractorInput](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorInput)`!, seekPosition: `[PositionHolder](https://developer.android.com/reference/kotlin/androidx/media3/extractor/PositionHolder)`!)` Extracts data read from a provided[ExtractorInput](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorInput). |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                    | [release](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#release())`()` Releases all kept resources.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                    | [seek](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#seek(long,long))`(position: `[Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)`, timeUs: `[Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)`)` Notifies the extractor that a seek has occurred.                                                                                                                                                                                                                                                                                                                                                           |
| [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)                                              | [sniff](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#sniff(androidx.media3.extractor.ExtractorInput))`(input: `[ExtractorInput](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorInput)`!)` Returns whether this extractor can extract samples from the[ExtractorInput](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorInput), which must provide data from the start of the stream.                                                                                                                                                                                                              |

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ### Inherited Constants                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| From[androidx.media3.extractor.Extractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/Extractor) |-------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | [RESULT_CONTINUE](https://developer.android.com/reference/kotlin/androidx/media3/extractor/Extractor#RESULT_CONTINUE())` = 0` Returned by[read](https://developer.android.com/reference/kotlin/androidx/media3/extractor/Extractor#read(androidx.media3.extractor.ExtractorInput,androidx.media3.extractor.PositionHolder))if the[ExtractorInput](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorInput)passed to the next[read](https://developer.android.com/reference/kotlin/androidx/media3/extractor/Extractor#read(androidx.media3.extractor.ExtractorInput,androidx.media3.extractor.PositionHolder))is required to provide data continuing from the position in the stream reached by the returning call. | | `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | [RESULT_END_OF_INPUT](https://developer.android.com/reference/kotlin/androidx/media3/extractor/Extractor#RESULT_END_OF_INPUT())` = -1` Returned by[read](https://developer.android.com/reference/kotlin/androidx/media3/extractor/Extractor#read(androidx.media3.extractor.ExtractorInput,androidx.media3.extractor.PositionHolder))if the end of the[ExtractorInput](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorInput)was reached.                                                                                                                                                                                                                                                                          | | `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | [RESULT_SEEK](https://developer.android.com/reference/kotlin/androidx/media3/extractor/Extractor#RESULT_SEEK())` = 1` Returned by[read](https://developer.android.com/reference/kotlin/androidx/media3/extractor/Extractor#read(androidx.media3.extractor.ExtractorInput,androidx.media3.extractor.PositionHolder))if the[ExtractorInput](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorInput)passed to the next[read](https://developer.android.com/reference/kotlin/androidx/media3/extractor/Extractor#read(androidx.media3.extractor.ExtractorInput,androidx.media3.extractor.PositionHolder))is required to provide data starting from a specified position in the stream.                                 | |

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ### Inherited functions                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| From[androidx.media3.extractor.Extractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/Extractor) |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `(`[Mutable](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)`)`[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)`<`[SniffFailure](https://developer.android.com/reference/kotlin/androidx/media3/extractor/SniffFailure)`!>!` | [getSniffFailureDetails](https://developer.android.com/reference/kotlin/androidx/media3/extractor/Extractor#getSniffFailureDetails())`()` Returns additional details about the last call to[sniff](https://developer.android.com/reference/kotlin/androidx/media3/extractor/Extractor#sniff(androidx.media3.extractor.ExtractorInput)).                                                                                                           | | [Extractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/Extractor)`!`                                                                                                                                                                                                               | `@`[SideEffectFree](https://checkerframework.org/api/org/checkerframework/dataflow/qual/SideEffectFree.html) [getUnderlyingImplementation](https://developer.android.com/reference/kotlin/androidx/media3/extractor/Extractor#getUnderlyingImplementation())`()` Returns the 'real'`Extractor`implementation if this is a delegating instance, or` this`if this instance does the extraction directly without delegating (the default behaviour). | |

## Constants

### DEFAULT_TIMESTAMP_SEARCH_BYTES

```
const val DEFAULT_TIMESTAMP_SEARCH_BYTES = 112800: Int
```  

### FACTORY

```
const val FACTORY: ExtractorsFactory!
```
| **This property is deprecated.**   
|
Use[newFactory](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#newFactory(androidx.media3.extractor.text.SubtitleParser.Factory))instead.  

### FLAG_EMIT_RAW_SUBTITLE_DATA

```
const val FLAG_EMIT_RAW_SUBTITLE_DATA = 1: Int
```

Flag to use the source subtitle formats without modification. If unset, subtitles will be transcoded to[APPLICATION_MEDIA3_CUES](https://developer.android.com/reference/kotlin/androidx/media3/common/MimeTypes#APPLICATION_MEDIA3_CUES())during extraction.  

### MODE_HLS

```
const val MODE_HLS = 2: Int
```

Enable single PMT mode, map[TrackOutput](https://developer.android.com/reference/kotlin/androidx/media3/extractor/TrackOutput)s by their type (instead of PID) and ignore continuity counters.  

### MODE_MULTI_PMT

```
const val MODE_MULTI_PMT = 0: Int
```

Behave as defined in ISO/IEC 13818-1.  

### MODE_SINGLE_PMT

```
const val MODE_SINGLE_PMT = 1: Int
```

Assume only one PMT will be contained in the stream, even if more are declared by the PAT.  

### TS_PACKET_SIZE

```
const val TS_PACKET_SIZE = 188: Int
```  

### TS_STREAM_TYPE_AAC_ADTS

```
const val TS_STREAM_TYPE_AAC_ADTS = 15: Int
```  

### TS_STREAM_TYPE_AAC_LATM

```
const val TS_STREAM_TYPE_AAC_LATM = 17: Int
```  

### TS_STREAM_TYPE_AC3

```
const val TS_STREAM_TYPE_AC3 = 129: Int
```  

### TS_STREAM_TYPE_AC4

```
const val TS_STREAM_TYPE_AC4 = 172: Int
```  

### TS_STREAM_TYPE_AIT

```
const val TS_STREAM_TYPE_AIT = 257: Int
```  

### TS_STREAM_TYPE_DC2_H262

```
const val TS_STREAM_TYPE_DC2_H262 = 128: Int
```  

### TS_STREAM_TYPE_DTS

```
const val TS_STREAM_TYPE_DTS = 138: Int
```  

### TS_STREAM_TYPE_DTS_HD

```
const val TS_STREAM_TYPE_DTS_HD = 136: Int
```  

### TS_STREAM_TYPE_DTS_UHD

```
const val TS_STREAM_TYPE_DTS_UHD = 139: Int
```  

### TS_STREAM_TYPE_DVBSUBS

```
const val TS_STREAM_TYPE_DVBSUBS = 89: Int
```  

### TS_STREAM_TYPE_E_AC3

```
const val TS_STREAM_TYPE_E_AC3 = 135: Int
```  

### TS_STREAM_TYPE_H262

```
const val TS_STREAM_TYPE_H262 = 2: Int
```  

### TS_STREAM_TYPE_H263

```
const val TS_STREAM_TYPE_H263 = 16: Int
```  

### TS_STREAM_TYPE_H264

```
const val TS_STREAM_TYPE_H264 = 27: Int
```  

### TS_STREAM_TYPE_H265

```
const val TS_STREAM_TYPE_H265 = 36: Int
```  

### TS_STREAM_TYPE_HDMV_DTS

```
const val TS_STREAM_TYPE_HDMV_DTS = 130: Int
```  

### TS_STREAM_TYPE_ID3

```
const val TS_STREAM_TYPE_ID3 = 21: Int
```  

### TS_STREAM_TYPE_MHAS

```
const val TS_STREAM_TYPE_MHAS = 45: Int
```  

### TS_STREAM_TYPE_MPA

```
const val TS_STREAM_TYPE_MPA = 3: Int
```  

### TS_STREAM_TYPE_MPA_LSF

```
const val TS_STREAM_TYPE_MPA_LSF = 4: Int
```  

### TS_STREAM_TYPE_SPLICE_INFO

```
const val TS_STREAM_TYPE_SPLICE_INFO = 134: Int
```  

### TS_SYNC_BYTE

```
const val TS_SYNC_BYTE = 71: Int
```  

## Public constructors

### TsExtractor

```
[TsExtractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TsExtractor())()
```
| **This function is deprecated.**   
|
Use[TsExtractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TsExtractor(androidx.media3.extractor.text.SubtitleParser.Factory))instead.  

### TsExtractor

```
[TsExtractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TsExtractor(int))(
    @DefaultTsPayloadReaderFactory.Flags defaultTsPayloadReaderFlags: Int
)
```
| **This function is deprecated.**   
|
Use[TsExtractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TsExtractor(int,int,androidx.media3.extractor.text.SubtitleParser.Factory,androidx.media3.common.util.TimestampAdjuster,androidx.media3.extractor.ts.TsPayloadReader.Factory,int))instead.  

### TsExtractor

```
TsExtractor(subtitleParserFactory: SubtitleParser.Factory!)
```

Constructs an instance.  

|                                                                         Parameters                                                                         |
|------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `subtitleParserFactory: `[SubtitleParser.Factory](https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser.Factory)`!` | The[SubtitleParser.Factory](https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser.Factory)for parsing subtitles during extraction. |

### TsExtractor

```
TsExtractor(
    @TsExtractor.Flags extractorFlags: Int,
    subtitleParserFactory: SubtitleParser.Factory!
)
```

Constructs an instance.  

|                                                                                                     Parameters                                                                                                      |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `@`[TsExtractor.Flags](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor.Flags)` extractorFlags: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | Flags that control the extractor's behavior.                                                                                                                              |
| `subtitleParserFactory: `[SubtitleParser.Factory](https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser.Factory)`!`                                                          | The[SubtitleParser.Factory](https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser.Factory)for parsing subtitles during extraction. |

### TsExtractor

```
[TsExtractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TsExtractor(int,int,int))(
    @TsExtractor.Mode mode: Int,
    @DefaultTsPayloadReaderFactory.Flags defaultTsPayloadReaderFlags: Int,
    timestampSearchBytes: Int
)
```
| **This function is deprecated.**   
|
Use[TsExtractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TsExtractor(int,int,androidx.media3.extractor.text.SubtitleParser.Factory,androidx.media3.common.util.TimestampAdjuster,androidx.media3.extractor.ts.TsPayloadReader.Factory,int))instead.  

### TsExtractor

```
[TsExtractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TsExtractor(int,androidx.media3.common.util.TimestampAdjuster,androidx.media3.extractor.ts.TsPayloadReader.Factory))(
    @TsExtractor.Mode mode: Int,
    timestampAdjuster: TimestampAdjuster!,
    payloadReaderFactory: TsPayloadReader.Factory!
)
```
| **This function is deprecated.**   
|
Use[TsExtractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TsExtractor(int,int,androidx.media3.extractor.text.SubtitleParser.Factory,androidx.media3.common.util.TimestampAdjuster,androidx.media3.extractor.ts.TsPayloadReader.Factory,int))instead.  

### TsExtractor

```
[TsExtractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TsExtractor(int,androidx.media3.common.util.TimestampAdjuster,androidx.media3.extractor.ts.TsPayloadReader.Factory,int))(
    @TsExtractor.Mode mode: Int,
    timestampAdjuster: TimestampAdjuster!,
    payloadReaderFactory: TsPayloadReader.Factory!,
    timestampSearchBytes: Int
)
```
| **This function is deprecated.**   
|
Use[TsExtractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#TsExtractor(int,int,androidx.media3.extractor.text.SubtitleParser.Factory,androidx.media3.common.util.TimestampAdjuster,androidx.media3.extractor.ts.TsPayloadReader.Factory,int))instead.  

### TsExtractor

```
TsExtractor(
    @TsExtractor.Mode mode: Int,
    @TsExtractor.Flags extractorFlags: Int,
    subtitleParserFactory: SubtitleParser.Factory!,
    timestampAdjuster: TimestampAdjuster!,
    payloadReaderFactory: TsPayloadReader.Factory!,
    timestampSearchBytes: Int
)
```

Constructs an instance.  

|                                                                                                     Parameters                                                                                                      |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `@`[TsExtractor.Mode](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor.Mode)` mode: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)             | Mode for the extractor. One of[MODE_MULTI_PMT](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#MODE_MULTI_PMT()),[MODE_SINGLE_PMT](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#MODE_SINGLE_PMT())and[MODE_HLS](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#MODE_HLS()).                                                                                                                                                                                                                                                                                                                                                                   |
| `@`[TsExtractor.Flags](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor.Flags)` extractorFlags: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | Flags that control the extractor's behavior.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `subtitleParserFactory: `[SubtitleParser.Factory](https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser.Factory)`!`                                                          | The[SubtitleParser.Factory](https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser.Factory)for parsing subtitles during extraction.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `timestampAdjuster: `[TimestampAdjuster](https://developer.android.com/reference/kotlin/androidx/media3/common/util/TimestampAdjuster)`!`                                                                           | A timestamp adjuster for offsetting and scaling sample timestamps.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `payloadReaderFactory: `[TsPayloadReader.Factory](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsPayloadReader.Factory)`!`                                                           | Factory for injecting a custom set of payload readers.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `timestampSearchBytes: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                                                                                                 | The number of bytes searched from a given position in the stream to find a PCR timestamp. If this value is too small, the duration might be unknown and seeking might not be supported for high bitrate progressive streams. Setting a large value for this field might be inefficient though because the extractor stores a buffer of` timestampSearchBytes`bytes when determining the duration or when performing a seek operation. The default value is[DEFAULT_TIMESTAMP_SEARCH_BYTES](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor#DEFAULT_TIMESTAMP_SEARCH_BYTES()). If the number of bytes left in the stream from the current position is less than` timestampSearchBytes`, the search is performed on the bytes left. |

## Public functions

### init

```
fun init(output: ExtractorOutput!): Unit
```

Initializes the extractor with an[ExtractorOutput](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorOutput). Called at most once.  

|                                                        Parameters                                                        |
|--------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------|
| `output: `[ExtractorOutput](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorOutput)`!` | An[ExtractorOutput](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorOutput)to receive extracted data. |

### newFactory

```
java-static fun newFactory(subtitleParserFactory: SubtitleParser.Factory!): ExtractorsFactory!
```

Creates a factory for[TsExtractor](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsExtractor)instances with the provided[SubtitleParser.Factory](https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser.Factory).  

### read

```
@Extractor.ReadResult
fun read(input: ExtractorInput!, seekPosition: PositionHolder!): Int
```

Extracts data read from a provided[ExtractorInput](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorInput). Must not be called before[init](https://developer.android.com/reference/kotlin/androidx/media3/extractor/Extractor#init(androidx.media3.extractor.ExtractorOutput)).

A single call to this method will block until some progress has been made, but will not block for longer than this. Hence each call will consume only a small amount of input data.

In the common case,[RESULT_CONTINUE](https://developer.android.com/reference/kotlin/androidx/media3/extractor/Extractor#RESULT_CONTINUE())is returned to indicate that the[ExtractorInput](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorInput)passed to the next read is required to provide data continuing from the position in the stream reached by the returning call. If the extractor requires data to be provided from a different position, then that position is set in`seekPosition`and[RESULT_SEEK](https://developer.android.com/reference/kotlin/androidx/media3/extractor/Extractor#RESULT_SEEK())is returned. If the extractor reached the end of the data provided by the[ExtractorInput](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorInput), then[RESULT_END_OF_INPUT](https://developer.android.com/reference/kotlin/androidx/media3/extractor/Extractor#RESULT_END_OF_INPUT())is returned.

When this method throws an[IOException](https://developer.android.com/reference/java/io/IOException.html), extraction may continue by providing an[ExtractorInput](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorInput)with an unchanged[read position](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorInput#getPosition())to a subsequent call to this method.  

|                                                          Parameters                                                          |
|------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `input: `[ExtractorInput](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorInput)`!`        | The[ExtractorInput](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorInput)from which data should be read.                                                     |
| `seekPosition: `[PositionHolder](https://developer.android.com/reference/kotlin/androidx/media3/extractor/PositionHolder)`!` | If[RESULT_SEEK](https://developer.android.com/reference/kotlin/androidx/media3/extractor/Extractor#RESULT_SEEK())is returned, this holder is updated to hold the position of the required data. |

|                                   Returns                                   |
|-----------------------------------------------------------------------------|------------------------------------------------------|
| [Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | One of the`RESULT_`values defined in this interface. |

|                                         Throws                                          |
|-----------------------------------------------------------------------------------------|---------------------------------------------------------|
| [java.io.IOException](https://developer.android.com/reference/java/io/IOException.html) | If an error occurred reading from or parsing the input. |

### release

```
fun release(): Unit
```

Releases all kept resources.  

### seek

```
fun seek(position: Long, timeUs: Long): Unit
```

Notifies the extractor that a seek has occurred.

Following a call to this method, the[ExtractorInput](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorInput)passed to the next invocation of[read](https://developer.android.com/reference/kotlin/androidx/media3/extractor/Extractor#read(androidx.media3.extractor.ExtractorInput,androidx.media3.extractor.PositionHolder))is required to provide data starting from`
position`in the stream. Valid random access positions are the start of the stream and positions that can be obtained from any[SeekMap](https://developer.android.com/reference/kotlin/androidx/media3/extractor/SeekMap)passed to the[ExtractorOutput](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorOutput).  

|                                        Parameters                                         |
|-------------------------------------------------------------------------------------------|-----------------------------------------------------------------|
| `position: `[Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html) | The byte offset in the stream from which data will be provided. |
| `timeUs: `[Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)   | The seek time in microseconds.                                  |

### sniff

```
fun sniff(input: ExtractorInput!): Boolean
```

Returns whether this extractor can extract samples from the[ExtractorInput](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorInput), which must provide data from the start of the stream.

If`true`is returned, the`input`'s reading position may have been modified. Otherwise, only its peek position may have been modified.  

|                                                      Parameters                                                       |
|-----------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|
| `input: `[ExtractorInput](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorInput)`!` | The[ExtractorInput](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorInput)from which data should be peeked/read. |

|                                       Returns                                       |
|-------------------------------------------------------------------------------------|-----------------------------------------------------|
| [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | Whether this extractor can read the provided input. |

|                                         Throws                                          |
|-----------------------------------------------------------------------------------------|----------------------------------------------|
| [java.io.IOException](https://developer.android.com/reference/java/io/IOException.html) | If an error occurred reading from the input. |