From ba9f3d8ebc3d48fa79230128708b53fb966b9815 Mon Sep 17 00:00:00 2001 From: Jorge Antonio Diaz-Benito Soriano Date: Fri, 15 Jul 2022 18:27:01 +0200 Subject: [PATCH] Replace usages of CompositeMediaSource with WrappingMediaSource --- .../media3/exoplayer/source/ClippingMediaSource.java | 6 +++--- .../media3/exoplayer/source/LoopingMediaSource.java | 9 +++++---- .../media3/exoplayer/source/MaskingMediaSource.java | 12 +++++------- .../androidx/media3/exoplayer/ExoPlayerTest.java | 9 ++++----- .../ima/ImaServerSideAdInsertionMediaSource.java | 9 ++++----- 5 files changed, 21 insertions(+), 24 deletions(-) diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/ClippingMediaSource.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/ClippingMediaSource.java index fc63321d45..6c61911f70 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/ClippingMediaSource.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/ClippingMediaSource.java @@ -41,7 +41,7 @@ import java.util.ArrayList; * positions. The wrapped source must consist of a single period. */ @UnstableApi -public final class ClippingMediaSource extends CompositeMediaSource { +public final class ClippingMediaSource extends WrappingMediaSource { /** Thrown when a {@link ClippingMediaSource} cannot clip its wrapped source. */ public static final class IllegalClippingException extends IOException { @@ -202,7 +202,7 @@ public final class ClippingMediaSource extends CompositeMediaSource { @Override protected void prepareSourceInternal(@Nullable TransferListener mediaTransferListener) { super.prepareSourceInternal(mediaTransferListener); - prepareChildSource(/* id= */ null, mediaSource); + prepareChildSource(mediaSource); } @Override @@ -242,7 +242,7 @@ public final class ClippingMediaSource extends CompositeMediaSource { } @Override - protected void onChildSourceInfoRefreshed(Void id, MediaSource mediaSource, Timeline timeline) { + protected void onChildSourceInfoRefreshed(Timeline timeline) { if (clippingError != null) { return; } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/LoopingMediaSource.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/LoopingMediaSource.java index b3280a4c4e..8904857dc3 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/LoopingMediaSource.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/LoopingMediaSource.java @@ -43,7 +43,7 @@ import java.util.Map; */ @Deprecated @UnstableApi -public final class LoopingMediaSource extends CompositeMediaSource { +public final class LoopingMediaSource extends WrappingMediaSource { private final MaskingMediaSource maskingMediaSource; private final int loopCount; @@ -95,7 +95,7 @@ public final class LoopingMediaSource extends CompositeMediaSource { @Override protected void prepareSourceInternal(@Nullable TransferListener mediaTransferListener) { super.prepareSourceInternal(mediaTransferListener); - prepareChildSource(/* id= */ null, maskingMediaSource); + prepareChildSource(maskingMediaSource); } @Override @@ -123,7 +123,7 @@ public final class LoopingMediaSource extends CompositeMediaSource { } @Override - protected void onChildSourceInfoRefreshed(Void id, MediaSource mediaSource, Timeline timeline) { + protected void onChildSourceInfoRefreshed(Timeline timeline) { Timeline loopingTimeline = loopCount != Integer.MAX_VALUE ? new LoopingTimeline(timeline, loopCount) @@ -134,7 +134,8 @@ public final class LoopingMediaSource extends CompositeMediaSource { @Override @Nullable protected MediaPeriodId getMediaPeriodIdForChildMediaPeriodId( - Void id, MediaPeriodId mediaPeriodId) { + Void id, MediaPeriodId mediaPeriodId + ) { return loopCount != Integer.MAX_VALUE ? childMediaPeriodIdToMediaPeriodId.get(mediaPeriodId) : mediaPeriodId; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/MaskingMediaSource.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/MaskingMediaSource.java index 88cf290892..4d0a8bc8a8 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/MaskingMediaSource.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/MaskingMediaSource.java @@ -37,7 +37,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; * structure is known. */ @UnstableApi -public final class MaskingMediaSource extends CompositeMediaSource { +public final class MaskingMediaSource extends WrappingMediaSource { private final MediaSource mediaSource; private final boolean useLazyPreparation; @@ -84,7 +84,7 @@ public final class MaskingMediaSource extends CompositeMediaSource { super.prepareSourceInternal(mediaTransferListener); if (!useLazyPreparation) { hasStartedPreparing = true; - prepareChildSource(/* id= */ null, mediaSource); + prepareChildSource(mediaSource); } } @@ -115,7 +115,7 @@ public final class MaskingMediaSource extends CompositeMediaSource { unpreparedMaskingMediaPeriod = mediaPeriod; if (!hasStartedPreparing) { hasStartedPreparing = true; - prepareChildSource(/* id= */ null, mediaSource); + prepareChildSource(mediaSource); } } return mediaPeriod; @@ -137,8 +137,7 @@ public final class MaskingMediaSource extends CompositeMediaSource { } @Override - protected void onChildSourceInfoRefreshed( - Void id, MediaSource mediaSource, Timeline newTimeline) { + protected void onChildSourceInfoRefreshed(MediaSource mediaSource, Timeline newTimeline) { @Nullable MediaPeriodId idForMaskingPeriodPreparation = null; if (isPrepared) { timeline = timeline.cloneWithUpdatedTimeline(newTimeline); @@ -208,8 +207,7 @@ public final class MaskingMediaSource extends CompositeMediaSource { @Override @Nullable - protected MediaPeriodId getMediaPeriodIdForChildMediaPeriodId( - Void id, MediaPeriodId mediaPeriodId) { + protected MediaPeriodId getMediaPeriodIdForChildMediaPeriodId(MediaPeriodId mediaPeriodId) { return mediaPeriodId.copyWithPeriodUid(getExternalPeriodUid(mediaPeriodId.periodUid)); } diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java index 7bcdc66887..378a2b7d24 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java @@ -3942,8 +3942,8 @@ public final class ExoPlayerTest { new TimelineWindowDefinition( /* isSeekable= */ true, /* isDynamic= */ false, /* durationUs= */ 10_000_000)); final ConcatenatingMediaSource underlyingSource = new ConcatenatingMediaSource(); - CompositeMediaSource delegatingMediaSource = - new CompositeMediaSource() { + WrappingMediaSource delegatingMediaSource = + new WrappingMediaSource() { @Override public void prepareSourceInternal(@Nullable TransferListener mediaTransferListener) { super.prepareSourceInternal(mediaTransferListener); @@ -3951,7 +3951,7 @@ public final class ExoPlayerTest { new FakeMediaSource(fakeTimeline, ExoPlayerTestRunner.VIDEO_FORMAT)); underlyingSource.addMediaSource( new FakeMediaSource(fakeTimeline, ExoPlayerTestRunner.VIDEO_FORMAT)); - prepareChildSource(null, underlyingSource); + prepareChildSource(underlyingSource); } @Override @@ -3966,8 +3966,7 @@ public final class ExoPlayerTest { } @Override - protected void onChildSourceInfoRefreshed( - Void id, MediaSource mediaSource, Timeline timeline) { + protected void onChildSourceInfoRefreshed(Timeline timeline) { refreshSourceInfo(timeline); } diff --git a/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ImaServerSideAdInsertionMediaSource.java b/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ImaServerSideAdInsertionMediaSource.java index e7d261c220..5ff636e50c 100644 --- a/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ImaServerSideAdInsertionMediaSource.java +++ b/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ImaServerSideAdInsertionMediaSource.java @@ -56,11 +56,11 @@ import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import androidx.media3.datasource.TransferListener; import androidx.media3.exoplayer.drm.DrmSessionManagerProvider; -import androidx.media3.exoplayer.source.CompositeMediaSource; import androidx.media3.exoplayer.source.DefaultMediaSourceFactory; import androidx.media3.exoplayer.source.ForwardingTimeline; import androidx.media3.exoplayer.source.MediaPeriod; 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.AdPlaybackStateUpdater; import androidx.media3.exoplayer.source.ads.ServerSideAdInsertionUtil; @@ -108,7 +108,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** MediaSource for IMA server side inserted ad streams. */ @UnstableApi -public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSource { +public final class ImaServerSideAdInsertionMediaSource extends WrappingMediaSource { /** * Factory for creating {@link ImaServerSideAdInsertionMediaSource @@ -521,8 +521,7 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou } @Override - protected void onChildSourceInfoRefreshed( - Void id, MediaSource mediaSource, Timeline newTimeline) { + protected void onChildSourceInfoRefreshed(Timeline newTimeline) { refreshSourceInfo( new ForwardingTimeline(newTimeline) { @Override @@ -655,7 +654,7 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou .withIsServerSideInserted(/* adGroupIndex= */ 0, true); mainHandler.post(() -> setAdPlaybackState(liveAdPlaybackState)); } - prepareChildSource(/* id= */ null, serverSideAdInsertionMediaSource); + prepareChildSource(serverSideAdInsertionMediaSource); } // Static methods.