Interface SequenceableLoader
-
- All Known Subinterfaces:
MediaPeriod
- All Known Implementing Classes:
ChunkSampleStream
,ClippingMediaPeriod
,CompositeSequenceableLoader
,FakeAdaptiveMediaPeriod
,FakeMediaPeriod
,HlsMediaPeriod
,MaskingMediaPeriod
public interface SequenceableLoader
A loader that can proceed in approximate synchronization with other loaders.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
SequenceableLoader.Callback<T extends SequenceableLoader>
A callback to be notified ofSequenceableLoader
events.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
continueLoading(long positionUs)
Attempts to continue loading.long
getBufferedPositionUs()
Returns an estimate of the position up to which data is buffered.long
getNextLoadPositionUs()
Returns the next load time, orC.TIME_END_OF_SOURCE
if loading has finished.boolean
isLoading()
Returns whether the loader is currently loading.void
reevaluateBuffer(long positionUs)
Re-evaluates the buffer given the playback position.
-
-
-
Method Detail
-
getBufferedPositionUs
long getBufferedPositionUs()
Returns an estimate of the position up to which data is buffered.- Returns:
- An estimate of the absolute position in microseconds up to which data is buffered, or
C.TIME_END_OF_SOURCE
if the data is fully buffered.
-
getNextLoadPositionUs
long getNextLoadPositionUs()
Returns the next load time, orC.TIME_END_OF_SOURCE
if loading has finished.
-
continueLoading
boolean continueLoading(long positionUs)
Attempts to continue loading.- Parameters:
positionUs
- The current playback position in microseconds. If playback of the period to which this loader belongs has not yet started, the value will be the starting position in the period minus the duration of any media in previous periods still to be played.- Returns:
- True if progress was made, meaning that
getNextLoadPositionUs()
will return a different value than prior to the call. False otherwise.
-
isLoading
boolean isLoading()
Returns whether the loader is currently loading.
-
reevaluateBuffer
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:
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.
-
-