docs/doc/reference/com/google/android/exoplayer2/source/ads/AdsMediaSource.html
Package com.google.android.exoplayer2.source.ads
All Implemented Interfaces:MediaSource
[@Deprecated](https://developer.android.com/reference/java/lang/Deprecated.html "class or interface in java.lang")public final classAdsMediaSourceextends[CompositeMediaSource](../CompositeMediaSource.html "class in com.google.android.exoplayer2.source")<[MediaSource.MediaPeriodId](../MediaSource.MediaPeriodId.html "class in com.google.android.exoplayer2.source")>
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 MediaSource that inserts ads linearly into a provided content media source.
The wrapped content media source must contain a single Timeline.Period.
Nested Classes | Modifier and Type | Class | Description |
| --- | --- | --- |
| static class | AdsMediaSource.AdLoadException |
Deprecated.
Wrapper for exceptions that occur while loading ads, which are notified via MediaSourceEventListener.onLoadError(int, MediaPeriodId, LoadEventInfo, MediaLoadData, IOException, boolean).
|
-
MediaSource.Factory, MediaSource.MediaPeriodId, MediaSource.MediaSourceCaller
Constructors | Constructor | Description |
| --- | --- |
| AdsMediaSource(MediaSource contentMediaSource, DataSpec adTagDataSpec, Object adsId, MediaSource.Factory adMediaSourceFactory, AdsLoader adsLoader, AdViewProvider adViewProvider) |
Deprecated.
Constructs a new source that inserts ads linearly with the content specified by contentMediaSource.
|
All Methods Instance Methods Concrete Methods Deprecated Methods | Modifier and Type | Method | Description |
| --- | --- | --- |
| MediaPeriod | createPeriod(MediaSource.MediaPeriodId id, Allocator allocator, long startPositionUs) |
Deprecated.
Returns a new MediaPeriod identified by periodId.
|
| MediaItem | getMediaItem() |
Deprecated.
Returns the MediaItem whose media is provided by the source.
|
| protected MediaSource.MediaPeriodId | getMediaPeriodIdForChildMediaPeriodId(MediaSource.MediaPeriodId childSourceId, MediaSource.MediaPeriodId mediaPeriodId) |
Deprecated.
Returns the MediaSource.MediaPeriodId in the composite source corresponding to the specified MediaSource.MediaPeriodId in a child source.
|
| protected void | onChildSourceInfoRefreshed(MediaSource.MediaPeriodId childSourceId, MediaSource mediaSource, Timeline newTimeline) |
Deprecated.
Called when the source info of a child source has been refreshed.
|
| protected void | prepareSourceInternal(TransferListener mediaTransferListener) |
Deprecated.
Starts source preparation and enables the source, see BaseMediaSource.prepareSource(MediaSourceCaller, TransferListener, PlayerId).
|
| void | releasePeriod(MediaPeriod mediaPeriod) |
Deprecated.
Releases the period.
|
| protected void | releaseSourceInternal() |
Deprecated.
Releases the source, see BaseMediaSource.releaseSource(MediaSourceCaller).
|
-
disableChildSource, disableInternal, enableChildSource, enableInternal, getMediaTimeForChildMediaTime, getWindowIndexForChildWindowIndex, maybeThrowSourceInfoRefreshError, prepareChildSource, releaseChildSource
-
addDrmEventListener, addEventListener, createDrmEventDispatcher, createDrmEventDispatcher, createEventDispatcher, createEventDispatcher, createEventDispatcher, createEventDispatcher, disable, enable, getPlayerId, isEnabled, prepareSource, prepareSource, refreshSourceInfo, releaseSource, removeDrmEventListener, removeEventListener
-
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
getInitialTimeline, isSingleWindow
-
public AdsMediaSource([MediaSource](../MediaSource.html "interface in com.google.android.exoplayer2.source")contentMediaSource,[DataSpec](../../upstream/DataSpec.html "class in com.google.android.exoplayer2.upstream")adTagDataSpec,[Object](https://developer.android.com/reference/java/lang/Object.html "class or interface in java.lang")adsId,[MediaSource.Factory](../MediaSource.Factory.html "interface in com.google.android.exoplayer2.source")adMediaSourceFactory,[AdsLoader](AdsLoader.html "interface in com.google.android.exoplayer2.source.ads")adsLoader,[AdViewProvider](../../ui/AdViewProvider.html "interface in com.google.android.exoplayer2.ui")adViewProvider)
Deprecated.
Constructs a new source that inserts ads linearly with the content specified by contentMediaSource.
Parameters:contentMediaSource - The MediaSource providing the content to play.adTagDataSpec - The data specification of the ad tag to load.adsId - An opaque identifier for ad playback state associated with this instance. Ad loading and playback state is shared among all playlist items that have the same ads id (by equality), so it is important to pass the same identifiers when constructing playlist items each time the player returns to the foreground.adMediaSourceFactory - Factory for media sources used to load ad media.adsLoader - The loader for ads.adViewProvider - Provider of views for the ad UI.
-
public[MediaItem](../../MediaItem.html "class in com.google.android.exoplayer2")getMediaItem()
Deprecated.
Description copied from interface: MediaSource
Returns the MediaItem whose media is provided by the source.
Should not be called directly from application code.
This method must be called on the application thread.
-
protected void prepareSourceInternal(@Nullable[TransferListener](../../upstream/TransferListener.html "interface in com.google.android.exoplayer2.upstream")mediaTransferListener)
Deprecated.
Description copied from class: BaseMediaSource
Starts source preparation and enables the source, see BaseMediaSource.prepareSource(MediaSourceCaller, TransferListener, PlayerId). This method is called at most once until the next call to BaseMediaSource.releaseSourceInternal().
Overrides:prepareSourceInternal in class CompositeMediaSource<MediaSource.MediaPeriodId>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.
-
public[MediaPeriod](../MediaPeriod.html "interface in com.google.android.exoplayer2.source")createPeriod([MediaSource.MediaPeriodId](../MediaSource.MediaPeriodId.html "class in com.google.android.exoplayer2.source")id,[Allocator](../../upstream/Allocator.html "interface in com.google.android.exoplayer2.upstream")allocator,
long startPositionUs)
Deprecated.
Description copied from interface: MediaSource
Returns a new MediaPeriod identified by periodId.
Should not be called directly from application code.
This method must be called on the playback thread and only if the source is enabled.
Parameters:id - The identifier of the period.allocator - An Allocator from which to obtain media buffer allocations.startPositionUs - The expected start position, in microseconds.Returns:A new MediaPeriod.
-
public void releasePeriod([MediaPeriod](../MediaPeriod.html "interface in com.google.android.exoplayer2.source")mediaPeriod)
Deprecated.
Description copied from interface: MediaSource
Releases the period.
Should not be called directly from application code.
This method must be called on the playback thread.
Parameters:mediaPeriod - The period to release.
-
protected void releaseSourceInternal()
Deprecated.
Description copied from class: BaseMediaSource
Releases the source, see BaseMediaSource.releaseSource(MediaSourceCaller). This method is called exactly once after each call to BaseMediaSource.prepareSourceInternal(TransferListener).
Overrides:releaseSourceInternal in class CompositeMediaSource<MediaSource.MediaPeriodId>
-
protected void onChildSourceInfoRefreshed([MediaSource.MediaPeriodId](../MediaSource.MediaPeriodId.html "class in com.google.android.exoplayer2.source")childSourceId,[MediaSource](../MediaSource.html "interface in com.google.android.exoplayer2.source")mediaSource,[Timeline](../../Timeline.html "class in com.google.android.exoplayer2")newTimeline)
Deprecated.
Description copied from class: CompositeMediaSource
Called when the source info of a child source has been refreshed.
Specified by:onChildSourceInfoRefreshed in class CompositeMediaSource<MediaSource.MediaPeriodId>Parameters:childSourceId - The unique id used to prepare the child source.mediaSource - The child source whose source info has been refreshed.newTimeline - The timeline of the child source.
-
protected[MediaSource.MediaPeriodId](../MediaSource.MediaPeriodId.html "class in com.google.android.exoplayer2.source")getMediaPeriodIdForChildMediaPeriodId([MediaSource.MediaPeriodId](../MediaSource.MediaPeriodId.html "class in com.google.android.exoplayer2.source")childSourceId,[MediaSource.MediaPeriodId](../MediaSource.MediaPeriodId.html "class in com.google.android.exoplayer2.source")mediaPeriodId)
Deprecated.
Description copied from class: CompositeMediaSource
Returns the MediaSource.MediaPeriodId in the composite source corresponding to the specified MediaSource.MediaPeriodId in a child source. The default implementation does not change the media period id.
Overrides:getMediaPeriodIdForChildMediaPeriodId in class CompositeMediaSource<MediaSource.MediaPeriodId>Parameters:childSourceId - The unique id used to prepare the child source.mediaPeriodId - A MediaSource.MediaPeriodId of the child source.Returns:The corresponding MediaSource.MediaPeriodId in the composite source. Null if no corresponding media period id can be determined.