Replace usages of CompositeMediaSource<Void> with WrappingMediaSource

parent 951b1319
...@@ -41,7 +41,7 @@ import java.util.ArrayList; ...@@ -41,7 +41,7 @@ import java.util.ArrayList;
* positions. The wrapped source must consist of a single period. * positions. The wrapped source must consist of a single period.
*/ */
@UnstableApi @UnstableApi
public final class ClippingMediaSource extends CompositeMediaSource<Void> { public final class ClippingMediaSource extends WrappingMediaSource {
/** Thrown when a {@link ClippingMediaSource} cannot clip its wrapped source. */ /** Thrown when a {@link ClippingMediaSource} cannot clip its wrapped source. */
public static final class IllegalClippingException extends IOException { public static final class IllegalClippingException extends IOException {
...@@ -202,7 +202,7 @@ public final class ClippingMediaSource extends CompositeMediaSource<Void> { ...@@ -202,7 +202,7 @@ public final class ClippingMediaSource extends CompositeMediaSource<Void> {
@Override @Override
protected void prepareSourceInternal(@Nullable TransferListener mediaTransferListener) { protected void prepareSourceInternal(@Nullable TransferListener mediaTransferListener) {
super.prepareSourceInternal(mediaTransferListener); super.prepareSourceInternal(mediaTransferListener);
prepareChildSource(/* id= */ null, mediaSource); prepareChildSource(mediaSource);
} }
@Override @Override
...@@ -242,7 +242,7 @@ public final class ClippingMediaSource extends CompositeMediaSource<Void> { ...@@ -242,7 +242,7 @@ public final class ClippingMediaSource extends CompositeMediaSource<Void> {
} }
@Override @Override
protected void onChildSourceInfoRefreshed(Void id, MediaSource mediaSource, Timeline timeline) { protected void onChildSourceInfoRefreshed(Timeline timeline) {
if (clippingError != null) { if (clippingError != null) {
return; return;
} }
......
...@@ -43,7 +43,7 @@ import java.util.Map; ...@@ -43,7 +43,7 @@ import java.util.Map;
*/ */
@Deprecated @Deprecated
@UnstableApi @UnstableApi
public final class LoopingMediaSource extends CompositeMediaSource<Void> { public final class LoopingMediaSource extends WrappingMediaSource {
private final MaskingMediaSource maskingMediaSource; private final MaskingMediaSource maskingMediaSource;
private final int loopCount; private final int loopCount;
...@@ -95,7 +95,7 @@ public final class LoopingMediaSource extends CompositeMediaSource<Void> { ...@@ -95,7 +95,7 @@ public final class LoopingMediaSource extends CompositeMediaSource<Void> {
@Override @Override
protected void prepareSourceInternal(@Nullable TransferListener mediaTransferListener) { protected void prepareSourceInternal(@Nullable TransferListener mediaTransferListener) {
super.prepareSourceInternal(mediaTransferListener); super.prepareSourceInternal(mediaTransferListener);
prepareChildSource(/* id= */ null, maskingMediaSource); prepareChildSource(maskingMediaSource);
} }
@Override @Override
...@@ -123,7 +123,7 @@ public final class LoopingMediaSource extends CompositeMediaSource<Void> { ...@@ -123,7 +123,7 @@ public final class LoopingMediaSource extends CompositeMediaSource<Void> {
} }
@Override @Override
protected void onChildSourceInfoRefreshed(Void id, MediaSource mediaSource, Timeline timeline) { protected void onChildSourceInfoRefreshed(Timeline timeline) {
Timeline loopingTimeline = Timeline loopingTimeline =
loopCount != Integer.MAX_VALUE loopCount != Integer.MAX_VALUE
? new LoopingTimeline(timeline, loopCount) ? new LoopingTimeline(timeline, loopCount)
...@@ -134,7 +134,8 @@ public final class LoopingMediaSource extends CompositeMediaSource<Void> { ...@@ -134,7 +134,8 @@ public final class LoopingMediaSource extends CompositeMediaSource<Void> {
@Override @Override
@Nullable @Nullable
protected MediaPeriodId getMediaPeriodIdForChildMediaPeriodId( protected MediaPeriodId getMediaPeriodIdForChildMediaPeriodId(
Void id, MediaPeriodId mediaPeriodId) { Void id, MediaPeriodId mediaPeriodId
) {
return loopCount != Integer.MAX_VALUE return loopCount != Integer.MAX_VALUE
? childMediaPeriodIdToMediaPeriodId.get(mediaPeriodId) ? childMediaPeriodIdToMediaPeriodId.get(mediaPeriodId)
: mediaPeriodId; : mediaPeriodId;
......
...@@ -37,7 +37,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; ...@@ -37,7 +37,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
* structure is known. * structure is known.
*/ */
@UnstableApi @UnstableApi
public final class MaskingMediaSource extends CompositeMediaSource<Void> { public final class MaskingMediaSource extends WrappingMediaSource {
private final MediaSource mediaSource; private final MediaSource mediaSource;
private final boolean useLazyPreparation; private final boolean useLazyPreparation;
...@@ -84,7 +84,7 @@ public final class MaskingMediaSource extends CompositeMediaSource<Void> { ...@@ -84,7 +84,7 @@ public final class MaskingMediaSource extends CompositeMediaSource<Void> {
super.prepareSourceInternal(mediaTransferListener); super.prepareSourceInternal(mediaTransferListener);
if (!useLazyPreparation) { if (!useLazyPreparation) {
hasStartedPreparing = true; hasStartedPreparing = true;
prepareChildSource(/* id= */ null, mediaSource); prepareChildSource(mediaSource);
} }
} }
...@@ -115,7 +115,7 @@ public final class MaskingMediaSource extends CompositeMediaSource<Void> { ...@@ -115,7 +115,7 @@ public final class MaskingMediaSource extends CompositeMediaSource<Void> {
unpreparedMaskingMediaPeriod = mediaPeriod; unpreparedMaskingMediaPeriod = mediaPeriod;
if (!hasStartedPreparing) { if (!hasStartedPreparing) {
hasStartedPreparing = true; hasStartedPreparing = true;
prepareChildSource(/* id= */ null, mediaSource); prepareChildSource(mediaSource);
} }
} }
return mediaPeriod; return mediaPeriod;
...@@ -137,8 +137,7 @@ public final class MaskingMediaSource extends CompositeMediaSource<Void> { ...@@ -137,8 +137,7 @@ public final class MaskingMediaSource extends CompositeMediaSource<Void> {
} }
@Override @Override
protected void onChildSourceInfoRefreshed( protected void onChildSourceInfoRefreshed(MediaSource mediaSource, Timeline newTimeline) {
Void id, MediaSource mediaSource, Timeline newTimeline) {
@Nullable MediaPeriodId idForMaskingPeriodPreparation = null; @Nullable MediaPeriodId idForMaskingPeriodPreparation = null;
if (isPrepared) { if (isPrepared) {
timeline = timeline.cloneWithUpdatedTimeline(newTimeline); timeline = timeline.cloneWithUpdatedTimeline(newTimeline);
...@@ -208,8 +207,7 @@ public final class MaskingMediaSource extends CompositeMediaSource<Void> { ...@@ -208,8 +207,7 @@ public final class MaskingMediaSource extends CompositeMediaSource<Void> {
@Override @Override
@Nullable @Nullable
protected MediaPeriodId getMediaPeriodIdForChildMediaPeriodId( protected MediaPeriodId getMediaPeriodIdForChildMediaPeriodId(MediaPeriodId mediaPeriodId) {
Void id, MediaPeriodId mediaPeriodId) {
return mediaPeriodId.copyWithPeriodUid(getExternalPeriodUid(mediaPeriodId.periodUid)); return mediaPeriodId.copyWithPeriodUid(getExternalPeriodUid(mediaPeriodId.periodUid));
} }
......
...@@ -3942,8 +3942,8 @@ public final class ExoPlayerTest { ...@@ -3942,8 +3942,8 @@ public final class ExoPlayerTest {
new TimelineWindowDefinition( new TimelineWindowDefinition(
/* isSeekable= */ true, /* isDynamic= */ false, /* durationUs= */ 10_000_000)); /* isSeekable= */ true, /* isDynamic= */ false, /* durationUs= */ 10_000_000));
final ConcatenatingMediaSource underlyingSource = new ConcatenatingMediaSource(); final ConcatenatingMediaSource underlyingSource = new ConcatenatingMediaSource();
CompositeMediaSource<Void> delegatingMediaSource = WrappingMediaSource delegatingMediaSource =
new CompositeMediaSource<Void>() { new WrappingMediaSource() {
@Override @Override
public void prepareSourceInternal(@Nullable TransferListener mediaTransferListener) { public void prepareSourceInternal(@Nullable TransferListener mediaTransferListener) {
super.prepareSourceInternal(mediaTransferListener); super.prepareSourceInternal(mediaTransferListener);
...@@ -3951,7 +3951,7 @@ public final class ExoPlayerTest { ...@@ -3951,7 +3951,7 @@ public final class ExoPlayerTest {
new FakeMediaSource(fakeTimeline, ExoPlayerTestRunner.VIDEO_FORMAT)); new FakeMediaSource(fakeTimeline, ExoPlayerTestRunner.VIDEO_FORMAT));
underlyingSource.addMediaSource( underlyingSource.addMediaSource(
new FakeMediaSource(fakeTimeline, ExoPlayerTestRunner.VIDEO_FORMAT)); new FakeMediaSource(fakeTimeline, ExoPlayerTestRunner.VIDEO_FORMAT));
prepareChildSource(null, underlyingSource); prepareChildSource(underlyingSource);
} }
@Override @Override
...@@ -3966,8 +3966,7 @@ public final class ExoPlayerTest { ...@@ -3966,8 +3966,7 @@ public final class ExoPlayerTest {
} }
@Override @Override
protected void onChildSourceInfoRefreshed( protected void onChildSourceInfoRefreshed(Timeline timeline) {
Void id, MediaSource mediaSource, Timeline timeline) {
refreshSourceInfo(timeline); refreshSourceInfo(timeline);
} }
......
...@@ -56,11 +56,11 @@ import androidx.media3.common.util.UnstableApi; ...@@ -56,11 +56,11 @@ import androidx.media3.common.util.UnstableApi;
import androidx.media3.common.util.Util; import androidx.media3.common.util.Util;
import androidx.media3.datasource.TransferListener; import androidx.media3.datasource.TransferListener;
import androidx.media3.exoplayer.drm.DrmSessionManagerProvider; import androidx.media3.exoplayer.drm.DrmSessionManagerProvider;
import androidx.media3.exoplayer.source.CompositeMediaSource;
import androidx.media3.exoplayer.source.DefaultMediaSourceFactory; import androidx.media3.exoplayer.source.DefaultMediaSourceFactory;
import androidx.media3.exoplayer.source.ForwardingTimeline; import androidx.media3.exoplayer.source.ForwardingTimeline;
import androidx.media3.exoplayer.source.MediaPeriod; import androidx.media3.exoplayer.source.MediaPeriod;
import androidx.media3.exoplayer.source.MediaSource; import androidx.media3.exoplayer.source.MediaSource;
import androidx.media3.exoplayer.source.WrappingMediaSource;
import androidx.media3.exoplayer.source.ads.ServerSideAdInsertionMediaSource; import androidx.media3.exoplayer.source.ads.ServerSideAdInsertionMediaSource;
import androidx.media3.exoplayer.source.ads.ServerSideAdInsertionMediaSource.AdPlaybackStateUpdater; import androidx.media3.exoplayer.source.ads.ServerSideAdInsertionMediaSource.AdPlaybackStateUpdater;
import androidx.media3.exoplayer.source.ads.ServerSideAdInsertionUtil; import androidx.media3.exoplayer.source.ads.ServerSideAdInsertionUtil;
...@@ -108,7 +108,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; ...@@ -108,7 +108,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
/** MediaSource for IMA server side inserted ad streams. */ /** MediaSource for IMA server side inserted ad streams. */
@UnstableApi @UnstableApi
public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSource<Void> { public final class ImaServerSideAdInsertionMediaSource extends WrappingMediaSource {
/** /**
* Factory for creating {@link ImaServerSideAdInsertionMediaSource * Factory for creating {@link ImaServerSideAdInsertionMediaSource
...@@ -521,8 +521,7 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou ...@@ -521,8 +521,7 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou
} }
@Override @Override
protected void onChildSourceInfoRefreshed( protected void onChildSourceInfoRefreshed(Timeline newTimeline) {
Void id, MediaSource mediaSource, Timeline newTimeline) {
refreshSourceInfo( refreshSourceInfo(
new ForwardingTimeline(newTimeline) { new ForwardingTimeline(newTimeline) {
@Override @Override
...@@ -655,7 +654,7 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou ...@@ -655,7 +654,7 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou
.withIsServerSideInserted(/* adGroupIndex= */ 0, true); .withIsServerSideInserted(/* adGroupIndex= */ 0, true);
mainHandler.post(() -> setAdPlaybackState(liveAdPlaybackState)); mainHandler.post(() -> setAdPlaybackState(liveAdPlaybackState));
} }
prepareChildSource(/* id= */ null, serverSideAdInsertionMediaSource); prepareChildSource(serverSideAdInsertionMediaSource);
} }
// Static methods. // Static methods.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment