SequenceableLoader


@UnstableApi
interface SequenceableLoader

Known direct subclasses
ChunkSampleStream

A SampleStream that loads media in Chunks, obtained from a ChunkSource.

CompositeSequenceableLoader

A SequenceableLoader that encapsulates multiple other SequenceableLoaders.

MediaPeriod

Loads media corresponding to a Timeline.Period, and allows that media to be read.

Known indirect subclasses
ClippingMediaPeriod

Wraps a MediaPeriod and clips its SampleStreams to provide a subsequence of their samples.

FakeAdaptiveMediaPeriod

Fake MediaPeriod that provides tracks from the given TrackGroupArray.

FakeMediaPeriod

Fake MediaPeriod that provides tracks from the given TrackGroupArray.

MaskingMediaPeriod

Media period that defers calling createPeriod on a given source until createPeriod has been called.


A loader that can proceed in approximate synchronization with other loaders.

Summary

Nested types

A callback to be notified of SequenceableLoader events.

Public functions

Boolean

Attempts to continue loading.

Long

Returns an estimate of the position up to which data is buffered.

Long

Returns the next load time, or TIME_END_OF_SOURCE if loading has finished.

Boolean

Returns whether the loader is currently loading.

Unit
reevaluateBuffer(positionUs: Long)

Re-evaluates the buffer given the playback position.

Public functions

continueLoading

fun continueLoading(loadingInfo: LoadingInfo!): Boolean

Attempts to continue loading.

Parameters
loadingInfo: LoadingInfo!

The LoadingInfo when attempting to continue loading.

Returns
Boolean

True if progress was made, meaning that getNextLoadPositionUs will return a different value than prior to the call. False otherwise.

getBufferedPositionUs

fun getBufferedPositionUs(): Long

Returns an estimate of the position up to which data is buffered.

Returns
Long

An estimate of the absolute position in microseconds up to which data is buffered, or TIME_END_OF_SOURCE if the data is fully buffered.

getNextLoadPositionUs

fun getNextLoadPositionUs(): Long

Returns the next load time, or TIME_END_OF_SOURCE if loading has finished.

isLoading

fun isLoading(): Boolean

Returns whether the loader is currently loading.

reevaluateBuffer

fun reevaluateBuffer(positionUs: Long): Unit

Re-evaluates the buffer given the playback position.

Re-evaluation may discard buffered media or cancel ongoing loads so that media can be re-buffered in a different quality.

Parameters
positionUs: Long

The current playback position in microseconds. If playback of this period has not yet started, the value will be the starting position in this period minus the duration of any media in previous periods still to be played.