mirror of
https://github.com/samsonjs/media.git
synced 2026-04-04 11:05:47 +00:00
Replace usages of CompositeMediaSource<Void> with WrappingMediaSource
This commit is contained in:
parent
951b1319df
commit
ba9f3d8ebc
5 changed files with 21 additions and 24 deletions
|
|
@ -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<Void> {
|
||||
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<Void> {
|
|||
@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<Void> {
|
|||
}
|
||||
|
||||
@Override
|
||||
protected void onChildSourceInfoRefreshed(Void id, MediaSource mediaSource, Timeline timeline) {
|
||||
protected void onChildSourceInfoRefreshed(Timeline timeline) {
|
||||
if (clippingError != null) {
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ import java.util.Map;
|
|||
*/
|
||||
@Deprecated
|
||||
@UnstableApi
|
||||
public final class LoopingMediaSource extends CompositeMediaSource<Void> {
|
||||
public final class LoopingMediaSource extends WrappingMediaSource {
|
||||
|
||||
private final MaskingMediaSource maskingMediaSource;
|
||||
private final int loopCount;
|
||||
|
|
@ -95,7 +95,7 @@ public final class LoopingMediaSource extends CompositeMediaSource<Void> {
|
|||
@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<Void> {
|
|||
}
|
||||
|
||||
@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<Void> {
|
|||
@Override
|
||||
@Nullable
|
||||
protected MediaPeriodId getMediaPeriodIdForChildMediaPeriodId(
|
||||
Void id, MediaPeriodId mediaPeriodId) {
|
||||
Void id, MediaPeriodId mediaPeriodId
|
||||
) {
|
||||
return loopCount != Integer.MAX_VALUE
|
||||
? childMediaPeriodIdToMediaPeriodId.get(mediaPeriodId)
|
||||
: mediaPeriodId;
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
|
|||
* structure is known.
|
||||
*/
|
||||
@UnstableApi
|
||||
public final class MaskingMediaSource extends CompositeMediaSource<Void> {
|
||||
public final class MaskingMediaSource extends WrappingMediaSource {
|
||||
|
||||
private final MediaSource mediaSource;
|
||||
private final boolean useLazyPreparation;
|
||||
|
|
@ -84,7 +84,7 @@ public final class MaskingMediaSource extends CompositeMediaSource<Void> {
|
|||
super.prepareSourceInternal(mediaTransferListener);
|
||||
if (!useLazyPreparation) {
|
||||
hasStartedPreparing = true;
|
||||
prepareChildSource(/* id= */ null, mediaSource);
|
||||
prepareChildSource(mediaSource);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -115,7 +115,7 @@ public final class MaskingMediaSource extends CompositeMediaSource<Void> {
|
|||
unpreparedMaskingMediaPeriod = mediaPeriod;
|
||||
if (!hasStartedPreparing) {
|
||||
hasStartedPreparing = true;
|
||||
prepareChildSource(/* id= */ null, mediaSource);
|
||||
prepareChildSource(mediaSource);
|
||||
}
|
||||
}
|
||||
return mediaPeriod;
|
||||
|
|
@ -137,8 +137,7 @@ public final class MaskingMediaSource extends CompositeMediaSource<Void> {
|
|||
}
|
||||
|
||||
@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<Void> {
|
|||
|
||||
@Override
|
||||
@Nullable
|
||||
protected MediaPeriodId getMediaPeriodIdForChildMediaPeriodId(
|
||||
Void id, MediaPeriodId mediaPeriodId) {
|
||||
protected MediaPeriodId getMediaPeriodIdForChildMediaPeriodId(MediaPeriodId mediaPeriodId) {
|
||||
return mediaPeriodId.copyWithPeriodUid(getExternalPeriodUid(mediaPeriodId.periodUid));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3942,8 +3942,8 @@ public final class ExoPlayerTest {
|
|||
new TimelineWindowDefinition(
|
||||
/* isSeekable= */ true, /* isDynamic= */ false, /* durationUs= */ 10_000_000));
|
||||
final ConcatenatingMediaSource underlyingSource = new ConcatenatingMediaSource();
|
||||
CompositeMediaSource<Void> delegatingMediaSource =
|
||||
new CompositeMediaSource<Void>() {
|
||||
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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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<Void> {
|
||||
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.
|
||||
|
|
|
|||
Loading…
Reference in a new issue