# AdtsReader

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

*** ** * ** ***


```
@UnstableApi
class AdtsReader : ElementaryStreamReader
```

<br />

*** ** * ** ***

Parses a continuous ADTS byte stream and extracts individual frames.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/AdtsReader#AdtsReader(boolean,java.lang.String)(exposeId3: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, containerMimeType: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!)` |
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/AdtsReader#AdtsReader(boolean,java.lang.String,int,java.lang.String)( exposeId3: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, language: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?, @https://developer.android.com/reference/kotlin/androidx/media3/common/C.RoleFlags roleFlags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, containerMimeType: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html! )` |

| ### Public functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/AdtsReader#consume(androidx.media3.common.util.ParsableByteArray)(data: https://developer.android.com/reference/kotlin/androidx/media3/common/util/ParsableByteArray!)` Consumes (possibly partial) data from the current packet. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/AdtsReader#createTracks(androidx.media3.extractor.ExtractorOutput,androidx.media3.extractor.ts.TsPayloadReader.TrackIdGenerator)( extractorOutput: https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorOutput!, idGenerator: https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsPayloadReader.TrackIdGenerator! )` Initializes the reader by providing outputs and ids for the tracks. |
| `java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/AdtsReader#isAdtsSyncWord(int)(candidateSyncWord: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Returns whether an integer matches an ADTS SYNC word. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/AdtsReader#packetStarted(long,int)(pesTimeUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html, @https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsPayloadReader.Flags flags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Called when a packet starts. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/AdtsReader#seek()()` Notifies the reader that a seek has occurred. |

| ### Public properties |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/AdtsReader#sampleDurationUs()` |

| ### Inherited functions |
|---|
| From [androidx.media3.extractor.ts.ElementaryStreamReader](https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/ElementaryStreamReader) |---|---| | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/ElementaryStreamReader#endOfInputReached()()` Called when there will be no further packets (unless a seek occurs) because the stream ended. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/ElementaryStreamReader#packetFinished()()` Called when a PES packet ends. | |

## Public constructors

### AdtsReader

```
AdtsReader(exposeId3: Boolean, containerMimeType: String!)
```

| Parameters |
|---|---|
| `exposeId3: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | True if the reader should expose ID3 information. |
| `containerMimeType: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | The MIME type of the container holding the stream. |

### AdtsReader

```
AdtsReader(
    exposeId3: Boolean,
    language: String?,
    @C.RoleFlags roleFlags: Int,
    containerMimeType: String!
)
```

| Parameters |
|---|---|
| `exposeId3: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | True if the reader should expose ID3 information. |
| `language: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?` | Track language. |
| `@https://developer.android.com/reference/kotlin/androidx/media3/common/C.RoleFlags roleFlags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | Track role flags. |
| `containerMimeType: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | The MIME type of the container holding the stream. |

## Public functions

### consume

```
fun consume(data: ParsableByteArray!): Unit
```

Consumes (possibly partial) data from the current packet.

| Parameters |
|---|---|
| `data: https://developer.android.com/reference/kotlin/androidx/media3/common/util/ParsableByteArray!` | The data to consume. |

| Throws |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/ParserException` | If the data could not be parsed. |

### createTracks

```
fun createTracks(
    extractorOutput: ExtractorOutput!,
    idGenerator: TsPayloadReader.TrackIdGenerator!
): Unit
```

Initializes the reader by providing outputs and ids for the tracks.

| Parameters |
|---|---|
| `extractorOutput: https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorOutput!` | The `https://developer.android.com/reference/kotlin/androidx/media3/extractor/ExtractorOutput` that receives the extracted data. |
| `idGenerator: https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsPayloadReader.TrackIdGenerator!` | A `https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsPayloadReader.TrackIdGenerator` that generates unique track ids for the `https://developer.android.com/reference/kotlin/androidx/media3/extractor/TrackOutput`s. |

### isAdtsSyncWord

```
java-static fun isAdtsSyncWord(candidateSyncWord: Int): Boolean
```

Returns whether an integer matches an ADTS SYNC word.

### packetStarted

```
fun packetStarted(pesTimeUs: Long, @TsPayloadReader.Flags flags: Int): Unit
```

Called when a packet starts.

| Parameters |
|---|---|
| `pesTimeUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | The timestamp associated with the packet. |
| `@https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsPayloadReader.Flags flags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | See `https://developer.android.com/reference/kotlin/androidx/media3/extractor/ts/TsPayloadReader.Flags`. |

### seek

```
fun seek(): Unit
```

Notifies the reader that a seek has occurred.

## Public properties

### sampleDurationUs

```
val sampleDurationUs: Long
```