public interface MediaSource
MediaPeriods.| Modifier and Type | Interface and Description |
|---|---|
static interface |
MediaSource.Listener
Listener for source events.
|
static class |
MediaSource.MediaPeriodId
Identifier for a
MediaPeriod. |
| 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 |
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.
|
void prepareSource(ExoPlayer player, boolean isTopLevelSource, MediaSource.Listener listener)
player - 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.void maybeThrowSourceInfoRefreshError()
throws IOException
IOExceptionMediaPeriod createPeriod(MediaSource.MediaPeriodId id, Allocator allocator)
MediaPeriod identified by periodId. This method may be called
multiple times with the same period identifier without an intervening call to
releasePeriod(MediaPeriod).id - The identifier of the period.allocator - An Allocator from which to obtain media buffer allocations.MediaPeriod.void releasePeriod(MediaPeriod mediaPeriod)
mediaPeriod - The period to release.void releaseSource()
This method should be called when the source is no longer required. It may be called in any state.