public final class HlsMediaSource extends Object implements MediaSource, HlsPlaylistTracker.PrimaryPlaylistListener
MediaSource.MediaSource.Listener, MediaSource.MediaPeriodId| Modifier and Type | Field and Description |
|---|---|
static int |
DEFAULT_MIN_LOADABLE_RETRY_COUNT
The default minimum number of times to retry loading data prior to failing.
|
| Constructor and Description |
|---|
HlsMediaSource(Uri manifestUri,
DataSource.Factory dataSourceFactory,
Handler eventHandler,
AdaptiveMediaSourceEventListener eventListener) |
HlsMediaSource(Uri manifestUri,
DataSource.Factory dataSourceFactory,
int minLoadableRetryCount,
Handler eventHandler,
AdaptiveMediaSourceEventListener eventListener) |
HlsMediaSource(Uri manifestUri,
HlsDataSourceFactory dataSourceFactory,
int minLoadableRetryCount,
Handler eventHandler,
AdaptiveMediaSourceEventListener eventListener) |
| Modifier and Type | Method and Description |
|---|---|
MediaPeriod |
createPeriod(MediaSource.MediaPeriodId id,
Allocator allocator)
Returns a new
MediaPeriod identified by periodId. |
void |
maybeThrowSourceInfoRefreshError()
Throws any pending error encountered while loading or refreshing source information.
|
void |
onPrimaryPlaylistRefreshed(HlsMediaPlaylist playlist)
Called when the primary playlist changes.
|
void |
prepareSource(ExoPlayer player,
boolean isTopLevelSource,
MediaSource.Listener listener)
Starts preparation of the source.
|
void |
releasePeriod(MediaPeriod mediaPeriod)
Releases the period.
|
void |
releaseSource()
Releases the source.
|
public static final int DEFAULT_MIN_LOADABLE_RETRY_COUNT
public HlsMediaSource(Uri manifestUri, DataSource.Factory dataSourceFactory, Handler eventHandler, AdaptiveMediaSourceEventListener eventListener)
public HlsMediaSource(Uri manifestUri, DataSource.Factory dataSourceFactory, int minLoadableRetryCount, Handler eventHandler, AdaptiveMediaSourceEventListener eventListener)
public HlsMediaSource(Uri manifestUri, HlsDataSourceFactory dataSourceFactory, int minLoadableRetryCount, Handler eventHandler, AdaptiveMediaSourceEventListener eventListener)
public void prepareSource(ExoPlayer player, boolean isTopLevelSource, MediaSource.Listener listener)
MediaSourceprepareSource in interface MediaSourceplayer - The player for which this source is being prepared.isTopLevelSource - Whether this source has been passed directly to
ExoPlayer.prepare(MediaSource) or
ExoPlayer.prepare(MediaSource, boolean, boolean). If false, this source is
being prepared by another source (e.g. ConcatenatingMediaSource) for composition.listener - The listener for source events.public void maybeThrowSourceInfoRefreshError()
throws IOException
MediaSourcemaybeThrowSourceInfoRefreshError in interface MediaSourceIOExceptionpublic MediaPeriod createPeriod(MediaSource.MediaPeriodId id, Allocator allocator)
MediaSourceMediaPeriod identified by periodId. This method may be called
multiple times with the same period identifier without an intervening call to
MediaSource.releasePeriod(MediaPeriod).createPeriod in interface MediaSourceid - The identifier of the period.allocator - An Allocator from which to obtain media buffer allocations.MediaPeriod.public void releasePeriod(MediaPeriod mediaPeriod)
MediaSourcereleasePeriod in interface MediaSourcemediaPeriod - The period to release.public void releaseSource()
MediaSourceThis method should be called when the source is no longer required. It may be called in any state.
releaseSource in interface MediaSourcepublic void onPrimaryPlaylistRefreshed(HlsMediaPlaylist playlist)
HlsPlaylistTracker.PrimaryPlaylistListeneronPrimaryPlaylistRefreshed in interface HlsPlaylistTracker.PrimaryPlaylistListenerplaylist - The primary playlist new snapshot.