Rename DeferredMediaPeriod to MaskingMediaPeriod.
This better reflects its usage and fits into our general naming pattern. PiperOrigin-RevId: 255157159
This commit is contained in:
parent
883b3c8783
commit
4e504bc485
@ -456,8 +456,8 @@ public class ConcatenatingMediaSource extends CompositeMediaSource<MediaSourceHo
|
||||
holder = new MediaSourceHolder(new DummyMediaSource());
|
||||
holder.hasStartedPreparing = true;
|
||||
}
|
||||
DeferredMediaPeriod mediaPeriod =
|
||||
new DeferredMediaPeriod(holder.mediaSource, id, allocator, startPositionUs);
|
||||
MaskingMediaPeriod mediaPeriod =
|
||||
new MaskingMediaPeriod(holder.mediaSource, id, allocator, startPositionUs);
|
||||
mediaSourceByMediaPeriod.put(mediaPeriod, holder);
|
||||
holder.activeMediaPeriods.add(mediaPeriod);
|
||||
if (!holder.hasStartedPreparing) {
|
||||
@ -474,7 +474,7 @@ public class ConcatenatingMediaSource extends CompositeMediaSource<MediaSourceHo
|
||||
public final void releasePeriod(MediaPeriod mediaPeriod) {
|
||||
MediaSourceHolder holder =
|
||||
Assertions.checkNotNull(mediaSourceByMediaPeriod.remove(mediaPeriod));
|
||||
((DeferredMediaPeriod) mediaPeriod).releasePeriod();
|
||||
((MaskingMediaPeriod) mediaPeriod).releasePeriod();
|
||||
holder.activeMediaPeriods.remove(mediaPeriod);
|
||||
maybeReleaseChildSource(holder);
|
||||
}
|
||||
@ -784,7 +784,7 @@ public class ConcatenatingMediaSource extends CompositeMediaSource<MediaSourceHo
|
||||
// is unset and we don't load beyond periods with unset duration. We need to figure out how to
|
||||
// handle the prepare positions of multiple deferred media periods, should that ever change.
|
||||
Assertions.checkState(mediaSourceHolder.activeMediaPeriods.size() <= 1);
|
||||
DeferredMediaPeriod deferredMediaPeriod =
|
||||
MaskingMediaPeriod deferredMediaPeriod =
|
||||
mediaSourceHolder.activeMediaPeriods.isEmpty()
|
||||
? null
|
||||
: mediaSourceHolder.activeMediaPeriods.get(0);
|
||||
@ -897,7 +897,7 @@ public class ConcatenatingMediaSource extends CompositeMediaSource<MediaSourceHo
|
||||
|
||||
public final MediaSource mediaSource;
|
||||
public final Object uid;
|
||||
public final List<DeferredMediaPeriod> activeMediaPeriods;
|
||||
public final List<MaskingMediaPeriod> activeMediaPeriods;
|
||||
|
||||
public DeferredTimeline timeline;
|
||||
public int childIndex;
|
||||
|
@ -32,7 +32,7 @@ import org.checkerframework.checker.nullness.compatqual.NullableType;
|
||||
* #createPeriod(MediaPeriodId)} has been called. This is useful if you need to return a media
|
||||
* period immediately but the media source that should create it is not yet prepared.
|
||||
*/
|
||||
public final class DeferredMediaPeriod implements MediaPeriod, MediaPeriod.Callback {
|
||||
public final class MaskingMediaPeriod implements MediaPeriod, MediaPeriod.Callback {
|
||||
|
||||
/** Listener for preparation errors. */
|
||||
public interface PrepareErrorListener {
|
||||
@ -45,7 +45,7 @@ public final class DeferredMediaPeriod implements MediaPeriod, MediaPeriod.Callb
|
||||
|
||||
/** The {@link MediaSource} which will create the actual media period. */
|
||||
public final MediaSource mediaSource;
|
||||
/** The {@link MediaPeriodId} used to create the deferred media period. */
|
||||
/** The {@link MediaPeriodId} used to create the masking media period. */
|
||||
public final MediaPeriodId id;
|
||||
|
||||
private final Allocator allocator;
|
||||
@ -58,14 +58,14 @@ public final class DeferredMediaPeriod implements MediaPeriod, MediaPeriod.Callb
|
||||
private long preparePositionOverrideUs;
|
||||
|
||||
/**
|
||||
* Creates a new deferred media period.
|
||||
* Creates a new masking media period.
|
||||
*
|
||||
* @param mediaSource The media source to wrap.
|
||||
* @param id The identifier used to create the deferred media period.
|
||||
* @param id The identifier used to create the masking media period.
|
||||
* @param allocator The allocator used to create the media period.
|
||||
* @param preparePositionUs The expected start position, in microseconds.
|
||||
*/
|
||||
public DeferredMediaPeriod(
|
||||
public MaskingMediaPeriod(
|
||||
MediaSource mediaSource, MediaPeriodId id, Allocator allocator, long preparePositionUs) {
|
||||
this.id = id;
|
||||
this.allocator = allocator;
|
||||
@ -85,7 +85,7 @@ public final class DeferredMediaPeriod implements MediaPeriod, MediaPeriod.Callb
|
||||
this.listener = listener;
|
||||
}
|
||||
|
||||
/** Returns the position at which the deferred media period was prepared, in microseconds. */
|
||||
/** Returns the position at which the masking media period was prepared, in microseconds. */
|
||||
public long getPreparePositionUs() {
|
||||
return preparePositionUs;
|
||||
}
|
@ -23,7 +23,7 @@ import androidx.annotation.Nullable;
|
||||
import com.google.android.exoplayer2.C;
|
||||
import com.google.android.exoplayer2.Timeline;
|
||||
import com.google.android.exoplayer2.source.CompositeMediaSource;
|
||||
import com.google.android.exoplayer2.source.DeferredMediaPeriod;
|
||||
import com.google.android.exoplayer2.source.MaskingMediaPeriod;
|
||||
import com.google.android.exoplayer2.source.MediaPeriod;
|
||||
import com.google.android.exoplayer2.source.MediaSource;
|
||||
import com.google.android.exoplayer2.source.MediaSource.MediaPeriodId;
|
||||
@ -128,7 +128,7 @@ public final class AdsMediaSource extends CompositeMediaSource<MediaPeriodId> {
|
||||
private final AdsLoader adsLoader;
|
||||
private final AdsLoader.AdViewProvider adViewProvider;
|
||||
private final Handler mainHandler;
|
||||
private final Map<MediaSource, List<DeferredMediaPeriod>> deferredMediaPeriodByAdMediaSource;
|
||||
private final Map<MediaSource, List<MaskingMediaPeriod>> maskingMediaPeriodByAdMediaSource;
|
||||
private final Timeline.Period period;
|
||||
|
||||
// Accessed on the player thread.
|
||||
@ -179,7 +179,7 @@ public final class AdsMediaSource extends CompositeMediaSource<MediaPeriodId> {
|
||||
this.adsLoader = adsLoader;
|
||||
this.adViewProvider = adViewProvider;
|
||||
mainHandler = new Handler(Looper.getMainLooper());
|
||||
deferredMediaPeriodByAdMediaSource = new HashMap<>();
|
||||
maskingMediaPeriodByAdMediaSource = new HashMap<>();
|
||||
period = new Timeline.Period();
|
||||
adGroupMediaSources = new MediaSource[0][];
|
||||
adGroupTimelines = new Timeline[0][];
|
||||
@ -219,29 +219,29 @@ public final class AdsMediaSource extends CompositeMediaSource<MediaPeriodId> {
|
||||
if (mediaSource == null) {
|
||||
mediaSource = adMediaSourceFactory.createMediaSource(adUri);
|
||||
adGroupMediaSources[adGroupIndex][adIndexInAdGroup] = mediaSource;
|
||||
deferredMediaPeriodByAdMediaSource.put(mediaSource, new ArrayList<>());
|
||||
maskingMediaPeriodByAdMediaSource.put(mediaSource, new ArrayList<>());
|
||||
prepareChildSource(id, mediaSource);
|
||||
}
|
||||
DeferredMediaPeriod deferredMediaPeriod =
|
||||
new DeferredMediaPeriod(mediaSource, id, allocator, startPositionUs);
|
||||
deferredMediaPeriod.setPrepareErrorListener(
|
||||
MaskingMediaPeriod maskingMediaPeriod =
|
||||
new MaskingMediaPeriod(mediaSource, id, allocator, startPositionUs);
|
||||
maskingMediaPeriod.setPrepareErrorListener(
|
||||
new AdPrepareErrorListener(adUri, adGroupIndex, adIndexInAdGroup));
|
||||
List<DeferredMediaPeriod> mediaPeriods = deferredMediaPeriodByAdMediaSource.get(mediaSource);
|
||||
List<MaskingMediaPeriod> mediaPeriods = maskingMediaPeriodByAdMediaSource.get(mediaSource);
|
||||
if (mediaPeriods == null) {
|
||||
Object periodUid =
|
||||
Assertions.checkNotNull(adGroupTimelines[adGroupIndex][adIndexInAdGroup])
|
||||
.getUidOfPeriod(/* periodIndex= */ 0);
|
||||
MediaPeriodId adSourceMediaPeriodId = new MediaPeriodId(periodUid, id.windowSequenceNumber);
|
||||
deferredMediaPeriod.createPeriod(adSourceMediaPeriodId);
|
||||
maskingMediaPeriod.createPeriod(adSourceMediaPeriodId);
|
||||
} else {
|
||||
// Keep track of the deferred media period so it can be populated with the real media period
|
||||
// Keep track of the masking media period so it can be populated with the real media period
|
||||
// when the source's info becomes available.
|
||||
mediaPeriods.add(deferredMediaPeriod);
|
||||
mediaPeriods.add(maskingMediaPeriod);
|
||||
}
|
||||
return deferredMediaPeriod;
|
||||
return maskingMediaPeriod;
|
||||
} else {
|
||||
DeferredMediaPeriod mediaPeriod =
|
||||
new DeferredMediaPeriod(contentMediaSource, id, allocator, startPositionUs);
|
||||
MaskingMediaPeriod mediaPeriod =
|
||||
new MaskingMediaPeriod(contentMediaSource, id, allocator, startPositionUs);
|
||||
mediaPeriod.createPeriod(id);
|
||||
return mediaPeriod;
|
||||
}
|
||||
@ -249,13 +249,13 @@ public final class AdsMediaSource extends CompositeMediaSource<MediaPeriodId> {
|
||||
|
||||
@Override
|
||||
public void releasePeriod(MediaPeriod mediaPeriod) {
|
||||
DeferredMediaPeriod deferredMediaPeriod = (DeferredMediaPeriod) mediaPeriod;
|
||||
List<DeferredMediaPeriod> mediaPeriods =
|
||||
deferredMediaPeriodByAdMediaSource.get(deferredMediaPeriod.mediaSource);
|
||||
MaskingMediaPeriod maskingMediaPeriod = (MaskingMediaPeriod) mediaPeriod;
|
||||
List<MaskingMediaPeriod> mediaPeriods =
|
||||
maskingMediaPeriodByAdMediaSource.get(maskingMediaPeriod.mediaSource);
|
||||
if (mediaPeriods != null) {
|
||||
mediaPeriods.remove(deferredMediaPeriod);
|
||||
mediaPeriods.remove(maskingMediaPeriod);
|
||||
}
|
||||
deferredMediaPeriod.releasePeriod();
|
||||
maskingMediaPeriod.releasePeriod();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -263,7 +263,7 @@ public final class AdsMediaSource extends CompositeMediaSource<MediaPeriodId> {
|
||||
super.releaseSourceInternal();
|
||||
Assertions.checkNotNull(componentListener).release();
|
||||
componentListener = null;
|
||||
deferredMediaPeriodByAdMediaSource.clear();
|
||||
maskingMediaPeriodByAdMediaSource.clear();
|
||||
contentTimeline = null;
|
||||
contentManifest = null;
|
||||
adPlaybackState = null;
|
||||
@ -319,11 +319,11 @@ public final class AdsMediaSource extends CompositeMediaSource<MediaPeriodId> {
|
||||
int adIndexInAdGroup, Timeline timeline) {
|
||||
Assertions.checkArgument(timeline.getPeriodCount() == 1);
|
||||
adGroupTimelines[adGroupIndex][adIndexInAdGroup] = timeline;
|
||||
List<DeferredMediaPeriod> mediaPeriods = deferredMediaPeriodByAdMediaSource.remove(mediaSource);
|
||||
List<MaskingMediaPeriod> mediaPeriods = maskingMediaPeriodByAdMediaSource.remove(mediaSource);
|
||||
if (mediaPeriods != null) {
|
||||
Object periodUid = timeline.getUidOfPeriod(/* periodIndex= */ 0);
|
||||
for (int i = 0; i < mediaPeriods.size(); i++) {
|
||||
DeferredMediaPeriod mediaPeriod = mediaPeriods.get(i);
|
||||
MaskingMediaPeriod mediaPeriod = mediaPeriods.get(i);
|
||||
MediaPeriodId adSourceMediaPeriodId =
|
||||
new MediaPeriodId(periodUid, mediaPeriod.id.windowSequenceNumber);
|
||||
mediaPeriod.createPeriod(adSourceMediaPeriodId);
|
||||
@ -413,7 +413,7 @@ public final class AdsMediaSource extends CompositeMediaSource<MediaPeriodId> {
|
||||
}
|
||||
}
|
||||
|
||||
private final class AdPrepareErrorListener implements DeferredMediaPeriod.PrepareErrorListener {
|
||||
private final class AdPrepareErrorListener implements MaskingMediaPeriod.PrepareErrorListener {
|
||||
|
||||
private final Uri adUri;
|
||||
private final int adGroupIndex;
|
||||
|
Loading…
x
Reference in New Issue
Block a user