Class SsDownloader
- java.lang.Object
-
- com.google.android.exoplayer2.offline.SegmentDownloader<SsManifest>
-
- com.google.android.exoplayer2.source.smoothstreaming.offline.SsDownloader
-
- All Implemented Interfaces:
Downloader
@Deprecated public final class SsDownloader extends SegmentDownloader<SsManifest>
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 downloader for SmoothStreaming streams.Example usage:
SimpleCache cache = new SimpleCache(downloadFolder, new NoOpCacheEvictor(), databaseProvider); CacheDataSource.Factory cacheDataSourceFactory = new CacheDataSource.Factory() .setCache(cache) .setUpstreamDataSourceFactory(new DefaultHttpDataSource.Factory()); // Create a downloader for the first track of the first stream element. SsDownloader ssDownloader = new SsDownloader( new MediaItem.Builder() .setUri(manifestUri) .setStreamKeys(Collections.singletonList(new StreamKey(0, 0))) .build(), cacheDataSourceFactory); // Perform the download. ssDownloader.download(progressListener); // Use the downloaded data for playback. SsMediaSource mediaSource = new SsMediaSource.Factory(cacheDataSourceFactory).createMediaSource(mediaItem);
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.google.android.exoplayer2.offline.SegmentDownloader
SegmentDownloader.Segment
-
Nested classes/interfaces inherited from interface com.google.android.exoplayer2.offline.Downloader
Downloader.ProgressListener
-
-
Field Summary
-
Fields inherited from class com.google.android.exoplayer2.offline.SegmentDownloader
DEFAULT_MAX_MERGED_SEGMENT_START_TIME_DIFF_MS
-
-
Constructor Summary
Constructors Constructor Description SsDownloader(MediaItem mediaItem, CacheDataSource.Factory cacheDataSourceFactory)Deprecated.Creates an instance.SsDownloader(MediaItem mediaItem, CacheDataSource.Factory cacheDataSourceFactory, Executor executor)Deprecated.Creates an instance.SsDownloader(MediaItem mediaItem, ParsingLoadable.Parser<SsManifest> manifestParser, CacheDataSource.Factory cacheDataSourceFactory, Executor executor)Deprecated.SsDownloader(MediaItem mediaItem, ParsingLoadable.Parser<SsManifest> manifestParser, CacheDataSource.Factory cacheDataSourceFactory, Executor executor, long maxMergedSegmentStartTimeDiffMs)Deprecated.Creates a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected List<SegmentDownloader.Segment>getSegments(DataSource dataSource, SsManifest manifest, boolean removing)Deprecated.Returns a list of all downloadableSegmentDownloader.Segments for a given manifest.-
Methods inherited from class com.google.android.exoplayer2.offline.SegmentDownloader
cancel, download, execute, getCompressibleDataSpec, getManifest, remove
-
-
-
-
Constructor Detail
-
SsDownloader
public SsDownloader(MediaItem mediaItem, CacheDataSource.Factory cacheDataSourceFactory)
Deprecated.Creates an instance.- Parameters:
mediaItem- TheMediaItemto be downloaded.cacheDataSourceFactory- ACacheDataSource.Factoryfor the cache into which the download will be written.
-
SsDownloader
public SsDownloader(MediaItem mediaItem, CacheDataSource.Factory cacheDataSourceFactory, Executor executor)
Deprecated.Creates an instance.- Parameters:
mediaItem- TheMediaItemto be downloaded.cacheDataSourceFactory- ACacheDataSource.Factoryfor the cache into which the download will be written.executor- AnExecutorused to make requests for the media being downloaded. Providing anExecutorthat uses multiple threads will speed up the download by allowing parts of it to be executed in parallel.
-
SsDownloader
@Deprecated public SsDownloader(MediaItem mediaItem, ParsingLoadable.Parser<SsManifest> manifestParser, CacheDataSource.Factory cacheDataSourceFactory, Executor executor)
Deprecated.
-
SsDownloader
public SsDownloader(MediaItem mediaItem, ParsingLoadable.Parser<SsManifest> manifestParser, CacheDataSource.Factory cacheDataSourceFactory, Executor executor, long maxMergedSegmentStartTimeDiffMs)
Deprecated.Creates a new instance.- Parameters:
mediaItem- TheMediaItemto be downloaded.manifestParser- A parser for SmoothStreaming manifests.cacheDataSourceFactory- ACacheDataSource.Factoryfor the cache into which the download will be written.executor- AnExecutorused to make requests for the media being downloaded. Providing anExecutorthat uses multiple threads will speed up the download by allowing parts of it to be executed in parallel.maxMergedSegmentStartTimeDiffMs- The maximum difference of the start time of two segments, up to which the segments (of the same URI) should be merged into a single download segment, in milliseconds.
-
-
Method Detail
-
getSegments
protected List<SegmentDownloader.Segment> getSegments(DataSource dataSource, SsManifest manifest, boolean removing)
Deprecated.Description copied from class:SegmentDownloaderReturns a list of all downloadableSegmentDownloader.Segments for a given manifest. Any required data should be loaded usingSegmentDownloader.getManifest(com.google.android.exoplayer2.upstream.DataSource, com.google.android.exoplayer2.upstream.DataSpec, boolean)orSegmentDownloader.execute(com.google.android.exoplayer2.util.RunnableFutureTask<T, ?>, boolean).- Specified by:
getSegmentsin classSegmentDownloader<SsManifest>- Parameters:
dataSource- TheDataSourcethrough which to load any required data.manifest- The manifest containing the segments.removing- Whether the segments are being obtained as part of a removal. If true then a partial segment list is returned in the case that a load error prevents all segments from being listed. If false then anIOExceptionwill be thrown in this case.- Returns:
- The list of downloadable
SegmentDownloader.Segments.
-
-