# MatroskaExtractor

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

*** ** * ** ***


```
@UnstableApi
public class MatroskaExtractor implements Extractor
```

<br />

*** ** * ** ***

Extracts data from the Matroska and WebM container formats.

## Summary

| ### Nested types |
|---|
| `protected final class https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor.ChapterEntry` Holds data corresponding to a single chapter. |
| `@https://developer.android.com/reference/java/lang/annotation/Documented.html @https://developer.android.com/reference/java/lang/annotation/Retention.html(value = https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html#SOURCE) @https://developer.android.com/reference/java/lang/annotation/Target.html(value = https://developer.android.com/reference/java/lang/annotation/ElementType.html#TYPE_USE) @https://developer.android.com/reference/androidx/annotation/IntDef(flag = true, value = ) public annotation https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor.Flags` Flags controlling the behavior of the extractor. |
| `protected final class https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor.Track` Holds data corresponding to a single track. |

| ### Constants |
|---|---|
| `static final https://developer.android.com/reference/androidx/media3/extractor/ExtractorsFactory` | `https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#FACTORY()` **This field is deprecated.** Use `https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#newFactory(androidx.media3.extractor.text.SubtitleParser.Factory)` instead. <br /> |
| `static final int` | `https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#FLAG_DISABLE_HAGC_METADATA() = 4` Flag to disable parsing of HAGC (ST 2094-50) metadata. |
| `static final int` | `https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#FLAG_DISABLE_SEEK_FOR_CUES() = 1` Flag to disable seeking for cues. |
| `static final int` | `https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#FLAG_EMIT_RAW_SUBTITLE_DATA() = 2` Flag to use the source subtitle formats without modification. |

| ### Public constructors |
|---|
| `[MatroskaExtractor](https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#MatroskaExtractor())()` **This method is deprecated.** Use `https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#MatroskaExtractor(androidx.media3.extractor.text.SubtitleParser.Factory)` instead. <br /> |
| `[MatroskaExtractor](https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#MatroskaExtractor(int))(@https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor.Flags int flags)` **This method is deprecated.** Use `https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#MatroskaExtractor(androidx.media3.extractor.text.SubtitleParser.Factory,int)` instead. <br /> |
| `https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#MatroskaExtractor(androidx.media3.extractor.text.SubtitleParser.Factory)(https://developer.android.com/reference/androidx/media3/extractor/text/SubtitleParser.Factory subtitleParserFactory)` Constructs an instance. |
| `https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#MatroskaExtractor(androidx.media3.extractor.text.SubtitleParser.Factory,int)( https://developer.android.com/reference/androidx/media3/extractor/text/SubtitleParser.Factory subtitleParserFactory, @https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor.Flags int flags )` Constructs an instance. |

| ### Public methods |
|---|---|
| `final void` | `https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#init(androidx.media3.extractor.ExtractorOutput)(https://developer.android.com/reference/androidx/media3/extractor/ExtractorOutput output)` Initializes the extractor with an `https://developer.android.com/reference/androidx/media3/extractor/ExtractorOutput`. |
| `static https://developer.android.com/reference/androidx/media3/extractor/ExtractorsFactory` | `https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#newFactory(androidx.media3.extractor.text.SubtitleParser.Factory)(https://developer.android.com/reference/androidx/media3/extractor/text/SubtitleParser.Factory subtitleParserFactory)` Creates a factory for `https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor` instances with the provided `https://developer.android.com/reference/androidx/media3/extractor/text/SubtitleParser.Factory`. |
| `final int` | `https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#read(androidx.media3.extractor.ExtractorInput,androidx.media3.extractor.PositionHolder)(https://developer.android.com/reference/androidx/media3/extractor/ExtractorInput input, https://developer.android.com/reference/androidx/media3/extractor/PositionHolder seekPosition)` Extracts data read from a provided `https://developer.android.com/reference/androidx/media3/extractor/ExtractorInput`. |
| `final void` | `https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#release()()` Releases all kept resources. |
| `void` | `@https://developer.android.com/reference/androidx/annotation/CallSuper https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#seek(long,long)(long position, long timeUs)` Notifies the extractor that a seek has occurred. |
| `final boolean` | `https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#sniff(androidx.media3.extractor.ExtractorInput)(https://developer.android.com/reference/androidx/media3/extractor/ExtractorInput input)` Returns whether this extractor can extract samples from the `https://developer.android.com/reference/androidx/media3/extractor/ExtractorInput`, which must provide data from the start of the stream. |

| ### Protected methods |
|---|---|
| `void` | `@https://developer.android.com/reference/androidx/annotation/CallSuper https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#binaryElement(int,int,androidx.media3.extractor.ExtractorInput)(int id, int contentSize, https://developer.android.com/reference/androidx/media3/extractor/ExtractorInput input)` Called when a binary element is encountered. |
| `void` | `@https://developer.android.com/reference/androidx/annotation/CallSuper https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#endMasterElement(int)(int id)` Called when the end of a master element is encountered. |
| `void` | `@https://developer.android.com/reference/androidx/annotation/CallSuper https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#floatElement(int,double)(int id, double value)` Called when a float element is encountered. |
| `https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor.ChapterEntry` | `https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#getCurrentChapter(int)(int currentElementId)` Returns the chapter corresponding to the current ChapterAtom element. |
| `https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor.Track` | `https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#getCurrentTrack(int)(int currentElementId)` Returns the track corresponding to the current TrackEntry element. |
| `int` | `@https://developer.android.com/reference/androidx/annotation/CallSuper @https://developer.android.com/reference/androidx/media3/extractor/mkv/EbmlProcessor.ElementType https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#getElementType(int)(int id)` Maps an element ID to a corresponding type. |
| `void` | `https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#handleBlockAddIDExtraData(androidx.media3.extractor.mkv.MatroskaExtractor.Track,androidx.media3.extractor.ExtractorInput,int)( https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor.Track track, https://developer.android.com/reference/androidx/media3/extractor/ExtractorInput input, int contentSize )` |
| `void` | `https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#handleBlockAdditionalData(androidx.media3.extractor.mkv.MatroskaExtractor.Track,int,androidx.media3.extractor.ExtractorInput,int)( https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor.Track track, int blockAdditionalId, https://developer.android.com/reference/androidx/media3/extractor/ExtractorInput input, int contentSize )` |
| `void` | `@https://developer.android.com/reference/androidx/annotation/CallSuper https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#integerElement(int,long)(int id, long value)` Called when an integer element is encountered. |
| `boolean` | `@https://developer.android.com/reference/androidx/annotation/CallSuper https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#isLevel1Element(int)(int id)` Checks if the given id is that of a level 1 element. |
| `void` | `@https://developer.android.com/reference/androidx/annotation/CallSuper https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#startMasterElement(int,long,long)(int id, long contentPosition, long contentSize)` Called when the start of a master element is encountered. |
| `void` | `@https://developer.android.com/reference/androidx/annotation/CallSuper https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#stringElement(int,java.lang.String)(int id, https://developer.android.com/reference/java/lang/String.html value)` Called when a string element is encountered. |

### Inherited Constants

From [androidx.media3.extractor.Extractor](https://developer.android.com/reference/androidx/media3/extractor/Extractor) `static final int` `https://developer.android.com/reference/androidx/media3/extractor/Extractor#RESULT_CONTINUE() = 0`

Returned by `https://developer.android.com/reference/androidx/media3/extractor/Extractor#read(androidx.media3.extractor.ExtractorInput,androidx.media3.extractor.PositionHolder)` if the `https://developer.android.com/reference/androidx/media3/extractor/ExtractorInput` passed to the next `https://developer.android.com/reference/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.
`static final int` `https://developer.android.com/reference/androidx/media3/extractor/Extractor#RESULT_END_OF_INPUT() = -1`

Returned by `https://developer.android.com/reference/androidx/media3/extractor/Extractor#read(androidx.media3.extractor.ExtractorInput,androidx.media3.extractor.PositionHolder)` if the end of the `https://developer.android.com/reference/androidx/media3/extractor/ExtractorInput` was reached.
`static final int` `https://developer.android.com/reference/androidx/media3/extractor/Extractor#RESULT_SEEK() = 1`

Returned by `https://developer.android.com/reference/androidx/media3/extractor/Extractor#read(androidx.media3.extractor.ExtractorInput,androidx.media3.extractor.PositionHolder)` if the `https://developer.android.com/reference/androidx/media3/extractor/ExtractorInput` passed to the next `https://developer.android.com/reference/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 methods

From [androidx.media3.extractor.Extractor](https://developer.android.com/reference/androidx/media3/extractor/Extractor) `https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/media3/extractor/SniffFailure>` `https://developer.android.com/reference/androidx/media3/extractor/Extractor#getSniffFailureDetails()()`

Returns additional details about the last call to `https://developer.android.com/reference/androidx/media3/extractor/Extractor#sniff(androidx.media3.extractor.ExtractorInput)`.
`https://developer.android.com/reference/androidx/media3/extractor/Extractor` `@https://checkerframework.org/api/org/checkerframework/dataflow/qual/SideEffectFree.html
https://developer.android.com/reference/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

### FACTORY

```
public static final ExtractorsFactory FACTORY
```

> [!CAUTION]
> **This field is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#newFactory(androidx.media3.extractor.text.SubtitleParser.Factory)` instead.

### FLAG_DISABLE_HAGC_METADATA

```
public static final int FLAG_DISABLE_HAGC_METADATA = 4
```

Flag to disable parsing of HAGC (ST 2094-50) metadata.

### FLAG_DISABLE_SEEK_FOR_CUES

```
public static final int FLAG_DISABLE_SEEK_FOR_CUES = 1
```

Flag to disable seeking for cues.

Normally (i.e. when this flag is not set) the extractor will seek to the cues element if its position is specified in the seek head and if it's after the first cluster. Setting this flag disables seeking to the cues element. If the cues element is after the first cluster then the media is treated as being unseekable.

### FLAG_EMIT_RAW_SUBTITLE_DATA

```
public static final int FLAG_EMIT_RAW_SUBTITLE_DATA = 2
```

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

## Public constructors

### MatroskaExtractor

```
public [MatroskaExtractor](https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#MatroskaExtractor())()
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#MatroskaExtractor(androidx.media3.extractor.text.SubtitleParser.Factory)` instead.

### MatroskaExtractor

```
public [MatroskaExtractor](https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#MatroskaExtractor(int))(@MatroskaExtractor.Flags int flags)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor#MatroskaExtractor(androidx.media3.extractor.text.SubtitleParser.Factory,int)` instead.

### MatroskaExtractor

```
public MatroskaExtractor(SubtitleParser.Factory subtitleParserFactory)
```

Constructs an instance.

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

### MatroskaExtractor

```
public MatroskaExtractor(
    SubtitleParser.Factory subtitleParserFactory,
    @MatroskaExtractor.Flags int flags
)
```

Constructs an instance.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/extractor/text/SubtitleParser.Factory subtitleParserFactory` | The `https://developer.android.com/reference/androidx/media3/extractor/text/SubtitleParser.Factory` for parsing subtitles during extraction. |
| `@https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor.Flags int flags` | Flags that control the extractor's behavior. |

## Public methods

### init

```
public final void init(ExtractorOutput output)
```

Initializes the extractor with an `https://developer.android.com/reference/androidx/media3/extractor/ExtractorOutput`. Called at most once.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/extractor/ExtractorOutput output` | An `https://developer.android.com/reference/androidx/media3/extractor/ExtractorOutput` to receive extracted data. |

### newFactory

```
public static ExtractorsFactory newFactory(SubtitleParser.Factory subtitleParserFactory)
```

Creates a factory for `https://developer.android.com/reference/androidx/media3/extractor/mkv/MatroskaExtractor` instances with the provided `https://developer.android.com/reference/androidx/media3/extractor/text/SubtitleParser.Factory`.

### read

```
public final int read(ExtractorInput input, PositionHolder seekPosition)
```

Extracts data read from a provided `https://developer.android.com/reference/androidx/media3/extractor/ExtractorInput`. Must not be called before `https://developer.android.com/reference/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, `https://developer.android.com/reference/androidx/media3/extractor/Extractor#RESULT_CONTINUE()` is returned to indicate that the `https://developer.android.com/reference/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 `https://developer.android.com/reference/androidx/media3/extractor/Extractor#RESULT_SEEK()` is returned. If the extractor reached the end of the data provided by the `https://developer.android.com/reference/androidx/media3/extractor/ExtractorInput`, then `https://developer.android.com/reference/androidx/media3/extractor/Extractor#RESULT_END_OF_INPUT()` is returned.

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

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

| Returns |
|---|---|
| `int` | One of the `RESULT_` values defined in this interface. |

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

### release

```
public final void release()
```

Releases all kept resources.

### seek

```
@CallSuper
public void seek(long position, long timeUs)
```

Notifies the extractor that a seek has occurred.

Following a call to this method, the `https://developer.android.com/reference/androidx/media3/extractor/ExtractorInput` passed to the next invocation of `https://developer.android.com/reference/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 `https://developer.android.com/reference/androidx/media3/extractor/SeekMap` passed to the `https://developer.android.com/reference/androidx/media3/extractor/ExtractorOutput`.

| Parameters |
|---|---|
| `long position` | The byte offset in the stream from which data will be provided. |
| `long timeUs` | The seek time in microseconds. |

### sniff

```
public final boolean sniff(ExtractorInput input)
```

Returns whether this extractor can extract samples from the `https://developer.android.com/reference/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 |
|---|---|
| `https://developer.android.com/reference/androidx/media3/extractor/ExtractorInput input` | The `https://developer.android.com/reference/androidx/media3/extractor/ExtractorInput` from which data should be peeked/read. |

| Returns |
|---|---|
| `boolean` | Whether this extractor can read the provided input. |

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

## Protected methods

### binaryElement

```
@CallSuper
protected void binaryElement(int id, int contentSize, ExtractorInput input)
```

Called when a binary element is encountered.

| Throws |
|---|---|
| `https://developer.android.com/reference/java/io/IOException.html` |   |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/media3/extractor/mkv/EbmlProcessor#binaryElement(int,int,androidx.media3.extractor.ExtractorInput)` |   |

### endMasterElement

```
@CallSuper
protected void endMasterElement(int id)
```

Called when the end of a master element is encountered.

| Throws |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/ParserException` |   |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/media3/extractor/mkv/EbmlProcessor#endMasterElement(int)` |   |

### floatElement

```
@CallSuper
protected void floatElement(int id, double value)
```

Called when a float element is encountered.

| Throws |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/ParserException` |   |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/media3/extractor/mkv/EbmlProcessor#floatElement(int,double)` |   |

### getCurrentChapter

```
protected MatroskaExtractor.ChapterEntry getCurrentChapter(int currentElementId)
```

Returns the chapter corresponding to the current ChapterAtom element.

| Throws |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/ParserException` | if the element id is not in a ChapterAtom. |

### getCurrentTrack

```
protected MatroskaExtractor.Track getCurrentTrack(int currentElementId)
```

Returns the track corresponding to the current TrackEntry element.

| Throws |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/ParserException` | if the element id is not in a TrackEntry. |

### getElementType

```
@CallSuper
@EbmlProcessor.ElementType
protected int getElementType(int id)
```

Maps an element ID to a corresponding type.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/media3/extractor/mkv/EbmlProcessor#getElementType(int)` |   |

### handleBlockAddIDExtraData

```
protected void handleBlockAddIDExtraData(
    MatroskaExtractor.Track track,
    ExtractorInput input,
    int contentSize
)
```

| Throws |
|---|---|
| `https://developer.android.com/reference/java/io/IOException.html` |   |

### handleBlockAdditionalData

```
protected void handleBlockAdditionalData(
    MatroskaExtractor.Track track,
    int blockAdditionalId,
    ExtractorInput input,
    int contentSize
)
```

| Throws |
|---|---|
| `https://developer.android.com/reference/java/io/IOException.html` |   |

### integerElement

```
@CallSuper
protected void integerElement(int id, long value)
```

Called when an integer element is encountered.

| Throws |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/ParserException` |   |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/media3/extractor/mkv/EbmlProcessor#integerElement(int,long)` |   |

### isLevel1Element

```
@CallSuper
protected boolean isLevel1Element(int id)
```

Checks if the given id is that of a level 1 element.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/media3/extractor/mkv/EbmlProcessor#isLevel1Element(int)` |   |

### startMasterElement

```
@CallSuper
protected void startMasterElement(int id, long contentPosition, long contentSize)
```

Called when the start of a master element is encountered.

| Throws |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/ParserException` |   |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/media3/extractor/mkv/EbmlProcessor#startMasterElement(int,long,long)` |   |

### stringElement

```
@CallSuper
protected void stringElement(int id, String value)
```

Called when a string element is encountered.

| Throws |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/ParserException` |   |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/media3/extractor/mkv/EbmlProcessor#stringElement(int,java.lang.String)` |   |