Class LoopingMediaSource
- java.lang.Object
-
- com.google.android.exoplayer2.source.BaseMediaSource
-
- com.google.android.exoplayer2.source.CompositeMediaSource<Void>
-
- com.google.android.exoplayer2.source.LoopingMediaSource
-
- All Implemented Interfaces:
MediaSource
@Deprecated public final class LoopingMediaSource extends CompositeMediaSource<Void>
Deprecated.To loop aMediaSource
indefinitely, usePlayer.setRepeatMode(int)
instead of this class. To add aMediaSource
a specific number of times to the playlist, useExoPlayer.addMediaSource(com.google.android.exoplayer2.source.MediaSource)
in a loop with the sameMediaSource
. To combine repeatedMediaSource
instances into oneMediaSource
, for example to further wrap it in anotherMediaSource
, useConcatenatingMediaSource
with the sameMediaSource
added
multiple times.Loops aMediaSource
a specified number of times.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.google.android.exoplayer2.source.MediaSource
MediaSource.Factory, MediaSource.MediaPeriodId, MediaSource.MediaSourceCaller
-
-
Constructor Summary
Constructors Constructor Description LoopingMediaSource(MediaSource childSource)
Deprecated.Loops the provided source indefinitely.LoopingMediaSource(MediaSource childSource, int loopCount)
Deprecated.Loops the provided source a specified number of times.
-
Method Summary
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 newMediaPeriod
identified byperiodId
.Timeline
getInitialTimeline()
Deprecated.Returns the initial placeholder timeline that is returned immediately when the real timeline is not yet known, or null to let the player create an initial timeline.MediaItem
getMediaItem()
Deprecated.Returns theMediaItem
whose media is provided by the source.protected MediaSource.MediaPeriodId
getMediaPeriodIdForChildMediaPeriodId(Void id, MediaSource.MediaPeriodId mediaPeriodId)
Deprecated.Returns theMediaSource.MediaPeriodId
in the composite source corresponding to the specifiedMediaSource.MediaPeriodId
in a child source.boolean
isSingleWindow()
Deprecated.Returns true if the media source is guaranteed to never have zero or more than one window.protected void
onChildSourceInfoRefreshed(Void id, MediaSource mediaSource, Timeline timeline)
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, seeBaseMediaSource.prepareSource(MediaSourceCaller, TransferListener, PlayerId)
.void
releasePeriod(MediaPeriod mediaPeriod)
Deprecated.Releases the period.-
Methods inherited from class com.google.android.exoplayer2.source.CompositeMediaSource
disableChildSource, disableInternal, enableChildSource, enableInternal, getMediaTimeForChildMediaTime, getWindowIndexForChildWindowIndex, maybeThrowSourceInfoRefreshError, prepareChildSource, releaseChildSource, releaseSourceInternal
-
Methods inherited from class com.google.android.exoplayer2.source.BaseMediaSource
addDrmEventListener, addEventListener, createDrmEventDispatcher, createDrmEventDispatcher, createEventDispatcher, createEventDispatcher, createEventDispatcher, disable, enable, getPlayerId, 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
prepareSource
-
-
-
-
Constructor Detail
-
LoopingMediaSource
public LoopingMediaSource(MediaSource childSource)
Deprecated.Loops the provided source indefinitely. Note that it is usually better to usePlayer.setRepeatMode(int)
.- Parameters:
childSource
- TheMediaSource
to loop.
-
LoopingMediaSource
public LoopingMediaSource(MediaSource childSource, int loopCount)
Deprecated.Loops the provided source a specified number of times.- Parameters:
childSource
- TheMediaSource
to loop.loopCount
- The desired number of loops. Must be strictly positive.
-
-
Method Detail
-
getMediaItem
public MediaItem getMediaItem()
Deprecated.Description copied from interface:MediaSource
Returns theMediaItem
whose media is provided by the source.
-
getInitialTimeline
@Nullable public Timeline getInitialTimeline()
Deprecated.Description copied from interface:MediaSource
Returns the initial placeholder timeline that is returned immediately when the real timeline is not yet known, or null to let the player create an initial timeline.The initial timeline must use the same uids for windows and periods that the real timeline will use. It also must provide windows which are marked as dynamic to indicate that the window is expected to change when the real timeline arrives.
Any media source which has multiple windows should typically provide such an initial timeline to make sure the player reports the correct number of windows immediately.
-
isSingleWindow
public boolean isSingleWindow()
Deprecated.Description copied from interface:MediaSource
Returns true if the media source is guaranteed to never have zero or more than one window.The default implementation returns
true
.- Returns:
- true if the source has exactly one window.
-
prepareSourceInternal
protected void prepareSourceInternal(@Nullable TransferListener mediaTransferListener)
Deprecated.Description copied from class:BaseMediaSource
Starts source preparation and enables the source, seeBaseMediaSource.prepareSource(MediaSourceCaller, TransferListener, PlayerId)
. This method is called at most once until the next call toBaseMediaSource.releaseSourceInternal()
.- Overrides:
prepareSourceInternal
in classCompositeMediaSource<Void>
- 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.
-
createPeriod
public MediaPeriod createPeriod(MediaSource.MediaPeriodId id, Allocator allocator, long startPositionUs)
Deprecated.Description copied from interface:MediaSource
Returns a newMediaPeriod
identified 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
- AnAllocator
from which to obtain media buffer allocations.startPositionUs
- The expected start position, in microseconds.- Returns:
- A new
MediaPeriod
.
-
releasePeriod
public void releasePeriod(MediaPeriod mediaPeriod)
Deprecated.Description copied from interface:MediaSource
Releases the period.Should not be called directly from application code.
- Parameters:
mediaPeriod
- The period to release.
-
onChildSourceInfoRefreshed
protected void onChildSourceInfoRefreshed(Void id, MediaSource mediaSource, Timeline timeline)
Deprecated.Description copied from class:CompositeMediaSource
Called when the source info of a child source has been refreshed.- Specified by:
onChildSourceInfoRefreshed
in classCompositeMediaSource<Void>
- Parameters:
id
- The unique id used to prepare the child source.mediaSource
- The child source whose source info has been refreshed.timeline
- The timeline of the child source.
-
getMediaPeriodIdForChildMediaPeriodId
@Nullable protected MediaSource.MediaPeriodId getMediaPeriodIdForChildMediaPeriodId(Void id, MediaSource.MediaPeriodId mediaPeriodId)
Deprecated.Description copied from class:CompositeMediaSource
Returns theMediaSource.MediaPeriodId
in the composite source corresponding to the specifiedMediaSource.MediaPeriodId
in a child source. The default implementation does not change the media period id.- Overrides:
getMediaPeriodIdForChildMediaPeriodId
in classCompositeMediaSource<Void>
- Parameters:
id
- The unique id used to prepare the child source.mediaPeriodId
- AMediaSource.MediaPeriodId
of the child source.- Returns:
- The corresponding
MediaSource.MediaPeriodId
in the composite source. Null if no corresponding media period id can be determined.
-
-