mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
Rename ServerSideInsertedAdMediaSource et al
PiperOrigin-RevId: 411657479
This commit is contained in:
parent
dc887070c8
commit
2749dbd3f5
4 changed files with 34 additions and 34 deletions
|
|
@ -18,11 +18,11 @@ package androidx.media3.exoplayer.source.ads;
|
||||||
import static androidx.media3.common.util.Assertions.checkArgument;
|
import static androidx.media3.common.util.Assertions.checkArgument;
|
||||||
import static androidx.media3.common.util.Assertions.checkNotNull;
|
import static androidx.media3.common.util.Assertions.checkNotNull;
|
||||||
import static androidx.media3.common.util.Util.castNonNull;
|
import static androidx.media3.common.util.Util.castNonNull;
|
||||||
import static androidx.media3.exoplayer.source.ads.ServerSideInsertedAdsUtil.getAdCountInGroup;
|
import static androidx.media3.exoplayer.source.ads.ServerSideAdInsertionUtil.getAdCountInGroup;
|
||||||
import static androidx.media3.exoplayer.source.ads.ServerSideInsertedAdsUtil.getMediaPeriodPositionUs;
|
import static androidx.media3.exoplayer.source.ads.ServerSideAdInsertionUtil.getMediaPeriodPositionUs;
|
||||||
import static androidx.media3.exoplayer.source.ads.ServerSideInsertedAdsUtil.getMediaPeriodPositionUsForAd;
|
import static androidx.media3.exoplayer.source.ads.ServerSideAdInsertionUtil.getMediaPeriodPositionUsForAd;
|
||||||
import static androidx.media3.exoplayer.source.ads.ServerSideInsertedAdsUtil.getMediaPeriodPositionUsForContent;
|
import static androidx.media3.exoplayer.source.ads.ServerSideAdInsertionUtil.getMediaPeriodPositionUsForContent;
|
||||||
import static androidx.media3.exoplayer.source.ads.ServerSideInsertedAdsUtil.getStreamPositionUs;
|
import static androidx.media3.exoplayer.source.ads.ServerSideAdInsertionUtil.getStreamPositionUs;
|
||||||
|
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.util.Pair;
|
import android.util.Pair;
|
||||||
|
|
@ -79,7 +79,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
||||||
* playback.
|
* playback.
|
||||||
*/
|
*/
|
||||||
@UnstableApi
|
@UnstableApi
|
||||||
public final class ServerSideInsertedAdsMediaSource extends BaseMediaSource
|
public final class ServerSideAdInsertionMediaSource extends BaseMediaSource
|
||||||
implements MediaSource.MediaSourceCaller, MediaSourceEventListener, DrmSessionEventListener {
|
implements MediaSource.MediaSourceCaller, MediaSourceEventListener, DrmSessionEventListener {
|
||||||
|
|
||||||
private final MediaSource mediaSource;
|
private final MediaSource mediaSource;
|
||||||
|
|
@ -102,7 +102,7 @@ public final class ServerSideInsertedAdsMediaSource extends BaseMediaSource
|
||||||
*/
|
*/
|
||||||
// Calling BaseMediaSource.createEventDispatcher from the constructor.
|
// Calling BaseMediaSource.createEventDispatcher from the constructor.
|
||||||
@SuppressWarnings("nullness:method.invocation")
|
@SuppressWarnings("nullness:method.invocation")
|
||||||
public ServerSideInsertedAdsMediaSource(MediaSource mediaSource) {
|
public ServerSideAdInsertionMediaSource(MediaSource mediaSource) {
|
||||||
this.mediaSource = mediaSource;
|
this.mediaSource = mediaSource;
|
||||||
mediaPeriods = ArrayListMultimap.create();
|
mediaPeriods = ArrayListMultimap.create();
|
||||||
adPlaybackState = AdPlaybackState.NONE;
|
adPlaybackState = AdPlaybackState.NONE;
|
||||||
|
|
@ -151,7 +151,7 @@ public final class ServerSideInsertedAdsMediaSource extends BaseMediaSource
|
||||||
this.adPlaybackState = adPlaybackState;
|
this.adPlaybackState = adPlaybackState;
|
||||||
if (contentTimeline != null) {
|
if (contentTimeline != null) {
|
||||||
refreshSourceInfo(
|
refreshSourceInfo(
|
||||||
new ServerSideInsertedAdsTimeline(contentTimeline, adPlaybackState));
|
new ServerSideAdInsertionTimeline(contentTimeline, adPlaybackState));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -196,7 +196,7 @@ public final class ServerSideInsertedAdsMediaSource extends BaseMediaSource
|
||||||
if (AdPlaybackState.NONE.equals(adPlaybackState)) {
|
if (AdPlaybackState.NONE.equals(adPlaybackState)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
refreshSourceInfo(new ServerSideInsertedAdsTimeline(timeline, adPlaybackState));
|
refreshSourceInfo(new ServerSideAdInsertionTimeline(timeline, adPlaybackState));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -902,11 +902,11 @@ public final class ServerSideInsertedAdsMediaSource extends BaseMediaSource
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final class ServerSideInsertedAdsTimeline extends ForwardingTimeline {
|
private static final class ServerSideAdInsertionTimeline extends ForwardingTimeline {
|
||||||
|
|
||||||
private final AdPlaybackState adPlaybackState;
|
private final AdPlaybackState adPlaybackState;
|
||||||
|
|
||||||
public ServerSideInsertedAdsTimeline(
|
public ServerSideAdInsertionTimeline(
|
||||||
Timeline contentTimeline, AdPlaybackState adPlaybackState) {
|
Timeline contentTimeline, AdPlaybackState adPlaybackState) {
|
||||||
super(contentTimeline);
|
super(contentTimeline);
|
||||||
Assertions.checkState(contentTimeline.getPeriodCount() == 1);
|
Assertions.checkState(contentTimeline.getPeriodCount() == 1);
|
||||||
|
|
@ -29,9 +29,9 @@ import androidx.media3.exoplayer.source.MediaPeriod;
|
||||||
|
|
||||||
/** A static utility class with methods to work with server-side inserted ads. */
|
/** A static utility class with methods to work with server-side inserted ads. */
|
||||||
@UnstableApi
|
@UnstableApi
|
||||||
public final class ServerSideInsertedAdsUtil {
|
public final class ServerSideAdInsertionUtil {
|
||||||
|
|
||||||
private ServerSideInsertedAdsUtil() {}
|
private ServerSideAdInsertionUtil() {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a new server-side inserted ad group to an {@link AdPlaybackState}.
|
* Adds a new server-side inserted ad group to an {@link AdPlaybackState}.
|
||||||
|
|
@ -15,7 +15,7 @@
|
||||||
*/
|
*/
|
||||||
package androidx.media3.exoplayer.source.ads;
|
package androidx.media3.exoplayer.source.ads;
|
||||||
|
|
||||||
import static androidx.media3.exoplayer.source.ads.ServerSideInsertedAdsUtil.addAdGroupToAdPlaybackState;
|
import static androidx.media3.exoplayer.source.ads.ServerSideAdInsertionUtil.addAdGroupToAdPlaybackState;
|
||||||
import static androidx.media3.test.utils.robolectric.RobolectricUtil.runMainLooperUntil;
|
import static androidx.media3.test.utils.robolectric.RobolectricUtil.runMainLooperUntil;
|
||||||
import static androidx.media3.test.utils.robolectric.TestPlayerRunHelper.playUntilPosition;
|
import static androidx.media3.test.utils.robolectric.TestPlayerRunHelper.playUntilPosition;
|
||||||
import static androidx.media3.test.utils.robolectric.TestPlayerRunHelper.runUntilPendingCommandsAreFullyHandled;
|
import static androidx.media3.test.utils.robolectric.TestPlayerRunHelper.runUntilPendingCommandsAreFullyHandled;
|
||||||
|
|
@ -55,9 +55,9 @@ import org.junit.Rule;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
|
|
||||||
/** Unit test for {@link ServerSideInsertedAdsMediaSource}. */
|
/** Unit test for {@link ServerSideAdInsertionMediaSource}. */
|
||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
public final class ServerSideInsertedAdMediaSourceTest {
|
public final class ServerSideAdInsertionMediaSourceTest {
|
||||||
|
|
||||||
@Rule
|
@Rule
|
||||||
public ShadowMediaCodecConfig mediaCodecConfig =
|
public ShadowMediaCodecConfig mediaCodecConfig =
|
||||||
|
|
@ -81,8 +81,8 @@ public final class ServerSideInsertedAdMediaSourceTest {
|
||||||
/* defaultPositionUs= */ 3_000_000,
|
/* defaultPositionUs= */ 3_000_000,
|
||||||
/* windowOffsetInFirstPeriodUs= */ 42_000_000L,
|
/* windowOffsetInFirstPeriodUs= */ 42_000_000L,
|
||||||
AdPlaybackState.NONE));
|
AdPlaybackState.NONE));
|
||||||
ServerSideInsertedAdsMediaSource mediaSource =
|
ServerSideAdInsertionMediaSource mediaSource =
|
||||||
new ServerSideInsertedAdsMediaSource(new FakeMediaSource(wrappedTimeline));
|
new ServerSideAdInsertionMediaSource(new FakeMediaSource(wrappedTimeline));
|
||||||
// Test with one ad group before the window, and the window starting within the second ad group.
|
// Test with one ad group before the window, and the window starting within the second ad group.
|
||||||
AdPlaybackState adPlaybackState =
|
AdPlaybackState adPlaybackState =
|
||||||
new AdPlaybackState(
|
new AdPlaybackState(
|
||||||
|
|
@ -153,8 +153,8 @@ public final class ServerSideInsertedAdMediaSourceTest {
|
||||||
player.setVideoSurface(new Surface(new SurfaceTexture(/* texName= */ 1)));
|
player.setVideoSurface(new Surface(new SurfaceTexture(/* texName= */ 1)));
|
||||||
PlaybackOutput playbackOutput = PlaybackOutput.register(player, renderersFactory);
|
PlaybackOutput playbackOutput = PlaybackOutput.register(player, renderersFactory);
|
||||||
|
|
||||||
ServerSideInsertedAdsMediaSource mediaSource =
|
ServerSideAdInsertionMediaSource mediaSource =
|
||||||
new ServerSideInsertedAdsMediaSource(
|
new ServerSideAdInsertionMediaSource(
|
||||||
new DefaultMediaSourceFactory(context)
|
new DefaultMediaSourceFactory(context)
|
||||||
.createMediaSource(MediaItem.fromUri(TEST_ASSET)));
|
.createMediaSource(MediaItem.fromUri(TEST_ASSET)));
|
||||||
AdPlaybackState adPlaybackState = new AdPlaybackState(/* adsId= */ new Object());
|
AdPlaybackState adPlaybackState = new AdPlaybackState(/* adsId= */ new Object());
|
||||||
|
|
@ -212,8 +212,8 @@ public final class ServerSideInsertedAdMediaSourceTest {
|
||||||
player.setVideoSurface(new Surface(new SurfaceTexture(/* texName= */ 1)));
|
player.setVideoSurface(new Surface(new SurfaceTexture(/* texName= */ 1)));
|
||||||
PlaybackOutput playbackOutput = PlaybackOutput.register(player, renderersFactory);
|
PlaybackOutput playbackOutput = PlaybackOutput.register(player, renderersFactory);
|
||||||
|
|
||||||
ServerSideInsertedAdsMediaSource mediaSource =
|
ServerSideAdInsertionMediaSource mediaSource =
|
||||||
new ServerSideInsertedAdsMediaSource(
|
new ServerSideAdInsertionMediaSource(
|
||||||
new DefaultMediaSourceFactory(context)
|
new DefaultMediaSourceFactory(context)
|
||||||
.createMediaSource(MediaItem.fromUri(TEST_ASSET)));
|
.createMediaSource(MediaItem.fromUri(TEST_ASSET)));
|
||||||
AdPlaybackState adPlaybackState = new AdPlaybackState(/* adsId= */ new Object());
|
AdPlaybackState adPlaybackState = new AdPlaybackState(/* adsId= */ new Object());
|
||||||
|
|
@ -272,8 +272,8 @@ public final class ServerSideInsertedAdMediaSourceTest {
|
||||||
player.setVideoSurface(new Surface(new SurfaceTexture(/* texName= */ 1)));
|
player.setVideoSurface(new Surface(new SurfaceTexture(/* texName= */ 1)));
|
||||||
PlaybackOutput playbackOutput = PlaybackOutput.register(player, renderersFactory);
|
PlaybackOutput playbackOutput = PlaybackOutput.register(player, renderersFactory);
|
||||||
|
|
||||||
ServerSideInsertedAdsMediaSource mediaSource =
|
ServerSideAdInsertionMediaSource mediaSource =
|
||||||
new ServerSideInsertedAdsMediaSource(
|
new ServerSideAdInsertionMediaSource(
|
||||||
new DefaultMediaSourceFactory(context)
|
new DefaultMediaSourceFactory(context)
|
||||||
.createMediaSource(MediaItem.fromUri(TEST_ASSET)));
|
.createMediaSource(MediaItem.fromUri(TEST_ASSET)));
|
||||||
AdPlaybackState adPlaybackState = new AdPlaybackState(/* adsId= */ new Object());
|
AdPlaybackState adPlaybackState = new AdPlaybackState(/* adsId= */ new Object());
|
||||||
|
|
@ -326,8 +326,8 @@ public final class ServerSideInsertedAdMediaSourceTest {
|
||||||
new ExoPlayer.Builder(context).setClock(new FakeClock(/* isAutoAdvancing= */ true)).build();
|
new ExoPlayer.Builder(context).setClock(new FakeClock(/* isAutoAdvancing= */ true)).build();
|
||||||
player.setVideoSurface(new Surface(new SurfaceTexture(/* texName= */ 1)));
|
player.setVideoSurface(new Surface(new SurfaceTexture(/* texName= */ 1)));
|
||||||
|
|
||||||
ServerSideInsertedAdsMediaSource mediaSource =
|
ServerSideAdInsertionMediaSource mediaSource =
|
||||||
new ServerSideInsertedAdsMediaSource(
|
new ServerSideAdInsertionMediaSource(
|
||||||
new DefaultMediaSourceFactory(context)
|
new DefaultMediaSourceFactory(context)
|
||||||
.createMediaSource(MediaItem.fromUri(TEST_ASSET)));
|
.createMediaSource(MediaItem.fromUri(TEST_ASSET)));
|
||||||
AdPlaybackState adPlaybackState = new AdPlaybackState(/* adsId= */ new Object());
|
AdPlaybackState adPlaybackState = new AdPlaybackState(/* adsId= */ new Object());
|
||||||
|
|
@ -15,12 +15,12 @@
|
||||||
*/
|
*/
|
||||||
package androidx.media3.exoplayer.source.ads;
|
package androidx.media3.exoplayer.source.ads;
|
||||||
|
|
||||||
import static androidx.media3.exoplayer.source.ads.ServerSideInsertedAdsUtil.addAdGroupToAdPlaybackState;
|
import static androidx.media3.exoplayer.source.ads.ServerSideAdInsertionUtil.addAdGroupToAdPlaybackState;
|
||||||
import static androidx.media3.exoplayer.source.ads.ServerSideInsertedAdsUtil.getAdCountInGroup;
|
import static androidx.media3.exoplayer.source.ads.ServerSideAdInsertionUtil.getAdCountInGroup;
|
||||||
import static androidx.media3.exoplayer.source.ads.ServerSideInsertedAdsUtil.getMediaPeriodPositionUsForAd;
|
import static androidx.media3.exoplayer.source.ads.ServerSideAdInsertionUtil.getMediaPeriodPositionUsForAd;
|
||||||
import static androidx.media3.exoplayer.source.ads.ServerSideInsertedAdsUtil.getMediaPeriodPositionUsForContent;
|
import static androidx.media3.exoplayer.source.ads.ServerSideAdInsertionUtil.getMediaPeriodPositionUsForContent;
|
||||||
import static androidx.media3.exoplayer.source.ads.ServerSideInsertedAdsUtil.getStreamPositionUsForAd;
|
import static androidx.media3.exoplayer.source.ads.ServerSideAdInsertionUtil.getStreamPositionUsForAd;
|
||||||
import static androidx.media3.exoplayer.source.ads.ServerSideInsertedAdsUtil.getStreamPositionUsForContent;
|
import static androidx.media3.exoplayer.source.ads.ServerSideAdInsertionUtil.getStreamPositionUsForContent;
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import androidx.media3.common.AdPlaybackState;
|
import androidx.media3.common.AdPlaybackState;
|
||||||
|
|
@ -29,9 +29,9 @@ import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
|
|
||||||
/** Unit tests for {@link ServerSideInsertedAdsUtil}. */
|
/** Unit tests for {@link ServerSideAdInsertionUtil}. */
|
||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
public final class ServerSideInsertedAdsUtilTest {
|
public final class ServerSideAdInsertionUtilTest {
|
||||||
|
|
||||||
private static final Object ADS_ID = new Object();
|
private static final Object ADS_ID = new Object();
|
||||||
|
|
||||||
Loading…
Reference in a new issue