# SubtitleOutputBuffer

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

*** ** * ** ***


```
@UnstableApi
abstract class SubtitleOutputBuffer : DecoderOutputBuffer, Subtitle
```

<br />

|---|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) ||||
| ↳ | [androidx.media3.decoder.Buffer](https://developer.android.com/reference/kotlin/androidx/media3/decoder/Buffer) |||
|   | ↳ | [androidx.media3.decoder.DecoderOutputBuffer](https://developer.android.com/reference/kotlin/androidx/media3/decoder/DecoderOutputBuffer) ||
|   |   | ↳ | [androidx.media3.extractor.text.SubtitleOutputBuffer](https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleOutputBuffer) |

*** ** * ** ***

Base class for `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleDecoder` output buffers.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleOutputBuffer#SubtitleOutputBuffer()()` |

| ### Public functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleOutputBuffer#clear()()` Clears the buffer. |
| `(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/media3/common/text/Cue!>!` | `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleOutputBuffer#getCues(long)(timeUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)` Retrieve the cues that should be displayed at a given time. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleOutputBuffer#getEventTime(int)(index: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Returns the event time at a specified index. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleOutputBuffer#getEventTimeCount()()` Returns the number of event times, where events are defined as points in time at which the cues returned by `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/Subtitle#getCues(long)` changes. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleOutputBuffer#getNextEventTimeIndex(long)(timeUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)` Returns the index of the first event that occurs after a given time (exclusive). |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleOutputBuffer#setContent(long,androidx.media3.extractor.text.Subtitle,long)(timeUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html, subtitle: https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/Subtitle!, subsampleOffsetUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)` Sets the content of the output buffer, consisting of a `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/Subtitle` and associated metadata. |

### Inherited functions

From [androidx.media3.decoder.Buffer](https://developer.android.com/reference/kotlin/androidx/media3/decoder/Buffer) `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/decoder/Buffer#addFlag(int)(@https://developer.android.com/reference/kotlin/androidx/media3/common/C.BufferFlags flag: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`

Adds the `flag` to this buffer's flags.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/decoder/Buffer#clearFlag(int)(@https://developer.android.com/reference/kotlin/androidx/media3/common/C.BufferFlags flag: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`

Removes the `flag` from this buffer's flags, if it is set.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `@https://checkerframework.org/api/org/checkerframework/dataflow/qual/Pure.html
https://developer.android.com/reference/kotlin/androidx/media3/decoder/Buffer#getFlag(int)(@https://developer.android.com/reference/kotlin/androidx/media3/common/C.BufferFlags flag: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`

Returns whether the specified flag has been set on this buffer.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `@https://checkerframework.org/api/org/checkerframework/dataflow/qual/Pure.html
https://developer.android.com/reference/kotlin/androidx/media3/decoder/Buffer#hasSupplementalData()()`

Returns whether the `https://developer.android.com/reference/kotlin/androidx/media3/common/C#BUFFER_FLAG_HAS_SUPPLEMENTAL_DATA()` flag is set.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `@https://checkerframework.org/api/org/checkerframework/dataflow/qual/Pure.html
https://developer.android.com/reference/kotlin/androidx/media3/decoder/Buffer#isEndOfStream()()`

Returns whether the `https://developer.android.com/reference/kotlin/androidx/media3/common/C#BUFFER_FLAG_END_OF_STREAM()` flag is set.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `@https://checkerframework.org/api/org/checkerframework/dataflow/qual/Pure.html
https://developer.android.com/reference/kotlin/androidx/media3/decoder/Buffer#isFirstSample()()`

Returns whether the `https://developer.android.com/reference/kotlin/androidx/media3/common/C#BUFFER_FLAG_FIRST_SAMPLE()` flag is set.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `@https://checkerframework.org/api/org/checkerframework/dataflow/qual/Pure.html
https://developer.android.com/reference/kotlin/androidx/media3/decoder/Buffer#isKeyFrame()()`

Returns whether the `https://developer.android.com/reference/kotlin/androidx/media3/common/C#BUFFER_FLAG_KEY_FRAME()` flag is set.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `@https://checkerframework.org/api/org/checkerframework/dataflow/qual/Pure.html
https://developer.android.com/reference/kotlin/androidx/media3/decoder/Buffer#isLastSample()()`

Returns whether the `https://developer.android.com/reference/kotlin/androidx/media3/common/C#BUFFER_FLAG_LAST_SAMPLE()` flag is set.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `@https://checkerframework.org/api/org/checkerframework/dataflow/qual/Pure.html
https://developer.android.com/reference/kotlin/androidx/media3/decoder/Buffer#notDependedOn()()`

Returns whether the `https://developer.android.com/reference/kotlin/androidx/media3/common/C#BUFFER_FLAG_NOT_DEPENDED_ON()` flag is set.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/decoder/Buffer#setFlags(int)(@https://developer.android.com/reference/kotlin/androidx/media3/common/C.BufferFlags flags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`

Replaces this buffer's flags with `flags`.
From [androidx.media3.decoder.DecoderOutputBuffer](https://developer.android.com/reference/kotlin/androidx/media3/decoder/DecoderOutputBuffer) `abstract https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/decoder/DecoderOutputBuffer#release()()`

Releases the output buffer for reuse.

### Inherited properties

From [androidx.media3.decoder.DecoderOutputBuffer](https://developer.android.com/reference/kotlin/androidx/media3/decoder/DecoderOutputBuffer) `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/decoder/DecoderOutputBuffer#shouldBeSkipped()`

Whether this buffer should be skipped, usually because the decoding process generated no data or invalid data.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/decoder/DecoderOutputBuffer#skippedOutputBufferCount()`

The number of buffers immediately prior to this one that were skipped in the `https://developer.android.com/reference/kotlin/androidx/media3/decoder/Decoder`.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/decoder/DecoderOutputBuffer#timeUs()`

The presentation timestamp for the buffer, in microseconds.

## Public constructors

### SubtitleOutputBuffer

```
SubtitleOutputBuffer()
```

## Public functions

### clear

```
fun clear(): Unit
```

Clears the buffer.

### getCues

```
fun getCues(timeUs: Long): (Mutable)List<Cue!>!
```

Retrieve the cues that should be displayed at a given time.

| Parameters |
|---|---|
| `timeUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | The time in microseconds. |

| Returns |
|---|---|
| `(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/media3/common/text/Cue!>!` | A list of cues that should be displayed, possibly empty. |

### getEventTime

```
fun getEventTime(index: Int): Long
```

Returns the event time at a specified index.

| Parameters |
|---|---|
| `index: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The index of the event time to obtain. |

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | The event time in microseconds. |

### getEventTimeCount

```
fun getEventTimeCount(): Int
```

Returns the number of event times, where events are defined as points in time at which the cues returned by `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/Subtitle#getCues(long)` changes.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The number of event times. |

### getNextEventTimeIndex

```
fun getNextEventTimeIndex(timeUs: Long): Int
```

Returns the index of the first event that occurs after a given time (exclusive).

| Parameters |
|---|---|
| `timeUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | The time in microseconds. |

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The index of the next event, or `https://developer.android.com/reference/kotlin/androidx/media3/common/C#INDEX_UNSET()` if there are no events after the specified time. |

### setContent

```
fun setContent(timeUs: Long, subtitle: Subtitle!, subsampleOffsetUs: Long): Unit
```

Sets the content of the output buffer, consisting of a `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/Subtitle` and associated metadata.

| Parameters |
|---|---|
| `timeUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | The time of the start of the subtitle in microseconds. |
| `subtitle: https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/Subtitle!` | The subtitle. |
| `subsampleOffsetUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | An offset that must be added to the subtitle's event times, or `https://developer.android.com/reference/kotlin/androidx/media3/common/Format#OFFSET_SAMPLE_RELATIVE()` if `timeUs` should be added. |