Class DashMediaSource
- java.lang.Object
-
- com.google.android.exoplayer2.source.BaseMediaSource
-
- com.google.android.exoplayer2.source.dash.DashMediaSource
-
- All Implemented Interfaces:
MediaSource
public final class DashMediaSource extends BaseMediaSource
A DASHMediaSource.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDashMediaSource.FactoryFactory forDashMediaSources.-
Nested classes/interfaces inherited from interface com.google.android.exoplayer2.source.MediaSource
MediaSource.MediaPeriodId, MediaSource.MediaSourceCaller
-
-
Field Summary
Fields Modifier and Type Field Description static longDEFAULT_FALLBACK_TARGET_LIVE_OFFSET_MSThe default targetoffset for live streamsthat is used if no value is defined in theMediaItemor the manifest.static longDEFAULT_LIVE_PRESENTATION_DELAY_MSDeprecated.UseDEFAULT_FALLBACK_TARGET_LIVE_OFFSET_MSinstead.static StringDEFAULT_MEDIA_IDThe media id used by media items of dash media sources without a manifest URI.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MediaPeriodcreatePeriod(MediaSource.MediaPeriodId id, Allocator allocator, long startPositionUs)Returns a newMediaPeriodidentified byperiodId.MediaItemgetMediaItem()Returns theMediaItemwhose media is provided by the source.voidmaybeThrowSourceInfoRefreshError()Throws any pending error encountered while loading or refreshing source information.protected voidprepareSourceInternal(TransferListener mediaTransferListener)Starts source preparation and enables the source, seeBaseMediaSource.prepareSource(MediaSourceCaller, TransferListener).voidreleasePeriod(MediaPeriod mediaPeriod)Releases the period.protected voidreleaseSourceInternal()Releases the source, seeBaseMediaSource.releaseSource(MediaSourceCaller).voidreplaceManifestUri(Uri manifestUri)Manually replaces the manifestUri.-
Methods inherited from class com.google.android.exoplayer2.source.BaseMediaSource
addDrmEventListener, addEventListener, createDrmEventDispatcher, createDrmEventDispatcher, createEventDispatcher, createEventDispatcher, createEventDispatcher, disable, disableInternal, enable, enableInternal, isEnabled, prepareSource, refreshSourceInfo, releaseSource, removeDrmEventListener, removeEventListener
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.google.android.exoplayer2.source.MediaSource
getInitialTimeline, isSingleWindow
-
-
-
-
Field Detail
-
DEFAULT_FALLBACK_TARGET_LIVE_OFFSET_MS
public static final long DEFAULT_FALLBACK_TARGET_LIVE_OFFSET_MS
The default targetoffset for live streamsthat is used if no value is defined in theMediaItemor the manifest.- See Also:
- Constant Field Values
-
DEFAULT_LIVE_PRESENTATION_DELAY_MS
@Deprecated public static final long DEFAULT_LIVE_PRESENTATION_DELAY_MS
Deprecated.UseDEFAULT_FALLBACK_TARGET_LIVE_OFFSET_MSinstead.- See Also:
- Constant Field Values
-
DEFAULT_MEDIA_ID
public static final String DEFAULT_MEDIA_ID
The media id used by media items of dash media sources without a manifest URI.- See Also:
- Constant Field Values
-
-
Method Detail
-
replaceManifestUri
public void replaceManifestUri(Uri manifestUri)
Manually replaces the manifestUri.- Parameters:
manifestUri- The replacement manifestUri.
-
getMediaItem
public MediaItem getMediaItem()
Description copied from interface:MediaSourceReturns theMediaItemwhose media is provided by the source.
-
prepareSourceInternal
protected void prepareSourceInternal(@Nullable TransferListener mediaTransferListener)Description copied from class:BaseMediaSourceStarts source preparation and enables the source, seeBaseMediaSource.prepareSource(MediaSourceCaller, TransferListener). This method is called at most once until the next call toBaseMediaSource.releaseSourceInternal().- Specified by:
prepareSourceInternalin classBaseMediaSource- Parameters:
mediaTransferListener- The transfer listener which should be informed of any media data transfers. May be null if no listener is available. Note that this listener should usually be only informed of transfers related to the media loads and not of auxiliary loads for manifests and other data.
-
maybeThrowSourceInfoRefreshError
public void maybeThrowSourceInfoRefreshError() throws IOExceptionDescription copied from interface:MediaSourceThrows any pending error encountered while loading or refreshing source information.Should not be called directly from application code.
Must only be called after
MediaSource.prepareSource(MediaSourceCaller, TransferListener).- Throws:
IOException
-
createPeriod
public MediaPeriod createPeriod(MediaSource.MediaPeriodId id, Allocator allocator, long startPositionUs)
Description copied from interface:MediaSourceReturns a newMediaPeriodidentified byperiodId.Should not be called directly from application code.
Must only be called if the source is enabled.
- Parameters:
id- The identifier of the period.allocator- AnAllocatorfrom which to obtain media buffer allocations.startPositionUs- The expected start position, in microseconds.- Returns:
- A new
MediaPeriod.
-
releasePeriod
public void releasePeriod(MediaPeriod mediaPeriod)
Description copied from interface:MediaSourceReleases the period.Should not be called directly from application code.
- Parameters:
mediaPeriod- The period to release.
-
releaseSourceInternal
protected void releaseSourceInternal()
Description copied from class:BaseMediaSourceReleases the source, seeBaseMediaSource.releaseSource(MediaSourceCaller). This method is called exactly once after each call toBaseMediaSource.prepareSourceInternal(TransferListener).- Specified by:
releaseSourceInternalin classBaseMediaSource
-
-