Class DefaultSsChunkSource
- java.lang.Object
-
- com.google.android.exoplayer2.source.smoothstreaming.DefaultSsChunkSource
-
- All Implemented Interfaces:
ChunkSource,SsChunkSource
@Deprecated public class DefaultSsChunkSource extends Object implements SsChunkSource
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 defaultSsChunkSourceimplementation.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDefaultSsChunkSource.FactoryDeprecated.
-
Constructor Summary
Constructors Constructor Description DefaultSsChunkSource(LoaderErrorThrower manifestLoaderErrorThrower, SsManifest manifest, int streamElementIndex, ExoTrackSelection trackSelection, DataSource dataSource, CmcdConfiguration cmcdConfiguration)Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description longgetAdjustedSeekPositionUs(long positionUs, SeekParameters seekParameters)Deprecated.Adjusts a seek position given the specifiedSeekParameters.voidgetNextChunk(long playbackPositionUs, long loadPositionUs, List<? extends MediaChunk> queue, ChunkHolder out)Deprecated.Returns the next chunk to load.intgetPreferredQueueSize(long playbackPositionUs, List<? extends MediaChunk> queue)Deprecated.Evaluates whetherMediaChunks should be removed from the back of the queue.voidmaybeThrowError()Deprecated.If the source is currently having difficulty providing chunks, then this method throws the underlying error.voidonChunkLoadCompleted(Chunk chunk)Deprecated.Called when theChunkSampleStreamhas finished loading a chunk obtained from this source.booleanonChunkLoadError(Chunk chunk, boolean cancelable, LoadErrorHandlingPolicy.LoadErrorInfo loadErrorInfo, LoadErrorHandlingPolicy loadErrorHandlingPolicy)Deprecated.Called when theChunkSampleStreamencounters an error loading a chunk obtained from this source.voidrelease()Deprecated.Releases any held resources.booleanshouldCancelLoad(long playbackPositionUs, Chunk loadingChunk, List<? extends MediaChunk> queue)Deprecated.Returns whether an ongoing load of a chunk should be canceled.voidupdateManifest(SsManifest newManifest)Deprecated.Updates the manifest.voidupdateTrackSelection(ExoTrackSelection trackSelection)Deprecated.Updates the track selection.
-
-
-
Constructor Detail
-
DefaultSsChunkSource
public DefaultSsChunkSource(LoaderErrorThrower manifestLoaderErrorThrower, SsManifest manifest, int streamElementIndex, ExoTrackSelection trackSelection, DataSource dataSource, @Nullable CmcdConfiguration cmcdConfiguration)
Deprecated.- Parameters:
manifestLoaderErrorThrower- Throws errors affecting loading of manifests.manifest- The initial manifest.streamElementIndex- The index of the stream element in the manifest.trackSelection- The track selection.dataSource- ADataSourcesuitable for loading the media data.cmcdConfiguration- TheCmcdConfigurationfor this chunk source.
-
-
Method Detail
-
getAdjustedSeekPositionUs
public long getAdjustedSeekPositionUs(long positionUs, SeekParameters seekParameters)Deprecated.Description copied from interface:ChunkSourceAdjusts a seek position given the specifiedSeekParameters. Chunk boundaries are used as sync points.- Specified by:
getAdjustedSeekPositionUsin interfaceChunkSource- Parameters:
positionUs- The seek position in microseconds.seekParameters- Parameters that control how the seek is performed.- Returns:
- The adjusted seek position, in microseconds.
-
updateManifest
public void updateManifest(SsManifest newManifest)
Deprecated.Description copied from interface:SsChunkSourceUpdates the manifest.- Specified by:
updateManifestin interfaceSsChunkSource- Parameters:
newManifest- The new manifest.
-
updateTrackSelection
public void updateTrackSelection(ExoTrackSelection trackSelection)
Deprecated.Description copied from interface:SsChunkSourceUpdates the track selection.- Specified by:
updateTrackSelectionin interfaceSsChunkSource- Parameters:
trackSelection- The new track selection instance. Must be equivalent to the previous one.
-
maybeThrowError
public void maybeThrowError() throws IOExceptionDeprecated.Description copied from interface:ChunkSourceIf the source is currently having difficulty providing chunks, then this method throws the underlying error. Otherwise does nothing.- Specified by:
maybeThrowErrorin interfaceChunkSource- Throws:
IOException- The underlying error.
-
getPreferredQueueSize
public int getPreferredQueueSize(long playbackPositionUs, List<? extends MediaChunk> queue)Deprecated.Description copied from interface:ChunkSourceEvaluates whetherMediaChunks should be removed from the back of the queue.Removing
MediaChunks 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
MediaChunkin the queue is currently loading.- Specified by:
getPreferredQueueSizein interfaceChunkSource- Parameters:
playbackPositionUs- The current playback position, in microseconds.queue- The queue of bufferedMediaChunks.- Returns:
- The preferred queue size.
-
shouldCancelLoad
public boolean shouldCancelLoad(long playbackPositionUs, Chunk loadingChunk, List<? extends MediaChunk> queue)Deprecated.Description copied from interface:ChunkSourceReturns whether an ongoing load of a chunk should be canceled.- Specified by:
shouldCancelLoadin interfaceChunkSource- Parameters:
playbackPositionUs- The current playback position, in microseconds.loadingChunk- The currently loadingChunk.queue- The queue of bufferedMediaChunks.- Returns:
- Whether the ongoing load of
loadingChunkshould be canceled.
-
getNextChunk
public final void getNextChunk(long playbackPositionUs, long loadPositionUs, List<? extends MediaChunk> queue, ChunkHolder out)Deprecated.Description copied from interface:ChunkSourceReturns the next chunk to load.If a chunk is available then
ChunkHolder.chunkis set. If the end of the stream has been reached thenChunkHolder.endOfStreamis set. If a chunk is not available but the end of the stream has not been reached, theChunkHolderis not modified.- Specified by:
getNextChunkin interfaceChunkSource- 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. Ifqueueis empty, this is the starting position from which chunks should be provided. Else it's equal toChunk.endTimeUsof the last chunk in thequeue.queue- The queue of bufferedMediaChunks.out- A holder to populate.
-
onChunkLoadCompleted
public void onChunkLoadCompleted(Chunk chunk)
Deprecated.Description copied from interface:ChunkSourceCalled when theChunkSampleStreamhas finished loading a chunk obtained from this source.- Specified by:
onChunkLoadCompletedin interfaceChunkSource- Parameters:
chunk- The chunk whose load has been completed.
-
onChunkLoadError
public boolean onChunkLoadError(Chunk chunk, boolean cancelable, LoadErrorHandlingPolicy.LoadErrorInfo loadErrorInfo, LoadErrorHandlingPolicy loadErrorHandlingPolicy)
Deprecated.Description copied from interface:ChunkSourceCalled when theChunkSampleStreamencounters an error loading a chunk obtained from this source.- Specified by:
onChunkLoadErrorin interfaceChunkSource- 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
falseifcancelableisfalse. Iftrue,ChunkSource.getNextChunk(long, long, List, ChunkHolder)will be called to obtain the replacement chunk.
-
release
public void release()
Deprecated.Description copied from interface:ChunkSourceReleases any held resources.- Specified by:
releasein interfaceChunkSource
-
-