Interface ChunkSource
-
- All Known Subinterfaces:
DashChunkSource
,SsChunkSource
- All Known Implementing Classes:
DefaultDashChunkSource
,DefaultSsChunkSource
,FakeChunkSource
@Deprecated public interface ChunkSource
Deprecated.com.google.android.exoplayer2 is deprecated. Please migrate to androidx.media3 (which contains the same ExoPlayer code). See the migration guide for more details, including a script to help with the migration.A provider ofChunk
s for aChunkSampleStream
to load.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description long
getAdjustedSeekPositionUs(long positionUs, SeekParameters seekParameters)
Deprecated.Adjusts a seek position given the specifiedSeekParameters
.void
getNextChunk(long playbackPositionUs, long loadPositionUs, List<? extends MediaChunk> queue, ChunkHolder out)
Deprecated.Returns the next chunk to load.int
getPreferredQueueSize(long playbackPositionUs, List<? extends MediaChunk> queue)
Deprecated.Evaluates whetherMediaChunk
s should be removed from the back of the queue.void
maybeThrowError()
Deprecated.If the source is currently having difficulty providing chunks, then this method throws the underlying error.void
onChunkLoadCompleted(Chunk chunk)
Deprecated.Called when theChunkSampleStream
has finished loading a chunk obtained from this source.boolean
onChunkLoadError(Chunk chunk, boolean cancelable, LoadErrorHandlingPolicy.LoadErrorInfo loadErrorInfo, LoadErrorHandlingPolicy loadErrorHandlingPolicy)
Deprecated.Called when theChunkSampleStream
encounters an error loading a chunk obtained from this source.void
release()
Deprecated.Releases any held resources.boolean
shouldCancelLoad(long playbackPositionUs, Chunk loadingChunk, List<? extends MediaChunk> queue)
Deprecated.Returns whether an ongoing load of a chunk should be canceled.
-
-
-
Method Detail
-
getAdjustedSeekPositionUs
long getAdjustedSeekPositionUs(long positionUs, SeekParameters seekParameters)
Deprecated.Adjusts a seek position given the specifiedSeekParameters
. Chunk boundaries are used as sync points.- Parameters:
positionUs
- The seek position in microseconds.seekParameters
- Parameters that control how the seek is performed.- Returns:
- The adjusted seek position, in microseconds.
-
maybeThrowError
void maybeThrowError() throws IOException
Deprecated.If the source is currently having difficulty providing chunks, then this method throws the underlying error. Otherwise does nothing.- Throws:
IOException
- The underlying error.
-
getPreferredQueueSize
int getPreferredQueueSize(long playbackPositionUs, List<? extends MediaChunk> queue)
Deprecated.Evaluates whetherMediaChunk
s should be removed from the back of the queue.Removing
MediaChunk
s from the back of the queue can be useful if they could be replaced with chunks of a significantly higher quality (e.g. because the available bandwidth has substantially increased).Will only be called if no
MediaChunk
in the queue is currently loading.- Parameters:
playbackPositionUs
- The current playback position, in microseconds.queue
- The queue of bufferedMediaChunk
s.- Returns:
- The preferred queue size.
-
shouldCancelLoad
boolean shouldCancelLoad(long playbackPositionUs, Chunk loadingChunk, List<? extends MediaChunk> queue)
Deprecated.Returns whether an ongoing load of a chunk should be canceled.- Parameters:
playbackPositionUs
- The current playback position, in microseconds.loadingChunk
- The currently loadingChunk
.queue
- The queue of bufferedMediaChunks
.- Returns:
- Whether the ongoing load of
loadingChunk
should be canceled.
-
getNextChunk
void getNextChunk(long playbackPositionUs, long loadPositionUs, List<? extends MediaChunk> queue, ChunkHolder out)
Deprecated.Returns the next chunk to load.If a chunk is available then
ChunkHolder.chunk
is set. If the end of the stream has been reached thenChunkHolder.endOfStream
is set. If a chunk is not available but the end of the stream has not been reached, theChunkHolder
is not modified.- Parameters:
playbackPositionUs
- The current playback position in microseconds. If playback of the period to which this chunk source 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.loadPositionUs
- The current load position in microseconds. Ifqueue
is empty, this is the starting position from which chunks should be provided. Else it's equal toChunk.endTimeUs
of the last chunk in thequeue
.queue
- The queue of bufferedMediaChunk
s.out
- A holder to populate.
-
onChunkLoadCompleted
void onChunkLoadCompleted(Chunk chunk)
Deprecated.Called when theChunkSampleStream
has finished loading a chunk obtained from this source.- Parameters:
chunk
- The chunk whose load has been completed.
-
onChunkLoadError
boolean onChunkLoadError(Chunk chunk, boolean cancelable, LoadErrorHandlingPolicy.LoadErrorInfo loadErrorInfo, LoadErrorHandlingPolicy loadErrorHandlingPolicy)
Deprecated.Called when theChunkSampleStream
encounters an error loading a chunk obtained from this source.- Parameters:
chunk
- The chunk whose load encountered the error.cancelable
- Whether the load can be canceled.loadErrorInfo
- The load error info.loadErrorHandlingPolicy
- The load error handling policy to customize the behaviour of handling the load error.- Returns:
- Whether the load should be canceled so that a replacement chunk can be loaded instead.
Must be
false
ifcancelable
isfalse
. Iftrue
,getNextChunk(long, long, List, ChunkHolder)
will be called to obtain the replacement chunk.
-
release
void release()
Deprecated.Releases any held resources.
-
-