CompositeSequenceableLoader


@UnstableApi
public final class CompositeSequenceableLoader implements SequenceableLoader


A SequenceableLoader that encapsulates multiple other SequenceableLoaders.

Summary

Public constructors

CompositeSequenceableLoader(SequenceableLoader[] loaders)

This method is deprecated.

Use CompositeSequenceableLoader instead.

CompositeSequenceableLoader(
    List<SequenceableLoader> loaders,
    List<List<@C.TrackType Integer>> loaderTrackTypes
)

Public methods

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.

void
reevaluateBuffer(long positionUs)

Re-evaluates the buffer given the playback position.

Public constructors

CompositeSequenceableLoader

public CompositeSequenceableLoader(SequenceableLoader[] loaders)

CompositeSequenceableLoader

public CompositeSequenceableLoader(
    List<SequenceableLoader> loaders,
    List<List<@C.TrackType Integer>> loaderTrackTypes
)

Public methods

continueLoading

public boolean continueLoading(LoadingInfo loadingInfo)

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

public long getBufferedPositionUs()

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

public long getNextLoadPositionUs()

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

isLoading

public boolean isLoading()

Returns whether the loader is currently loading.

reevaluateBuffer

public void reevaluateBuffer(long positionUs)

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
long positionUs

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.