Search in sources :

Example 6 with ServerSideAdInsertionUtil.addAdGroupToAdPlaybackState

use of com.google.android.exoplayer2.source.ads.ServerSideAdInsertionUtil.addAdGroupToAdPlaybackState in project ExoPlayer by google.

the class ImaUtilTest method expandAdGroupPlaceHolder_singleAdInAdGroupOverLength_correctsAdDuration.

@Test
public void expandAdGroupPlaceHolder_singleAdInAdGroupOverLength_correctsAdDuration() {
    AdPlaybackState adPlaybackState = ServerSideAdInsertionUtil.addAdGroupToAdPlaybackState(AdPlaybackState.NONE, /* fromPositionUs= */
    0, /* contentResumeOffsetUs= */
    0, /* adDurationsUs...= */
    10_000_001);
    adPlaybackState = ImaUtil.expandAdGroupPlaceholder(/* adGroupIndex= */
    0, /* adGroupDurationUs= */
    10_000_000, /* adIndexInAdGroup= */
    0, /* adDurationUs= */
    10_000_000, /* adsInAdGroupCount= */
    1, adPlaybackState);
    AdPlaybackState.AdGroup adGroup = adPlaybackState.getAdGroup(/* adGroupIndex= */
    0);
    assertThat(adGroup.count).isEqualTo(1);
    assertThat(adGroup.durationsUs[0]).isEqualTo(10_000_000);
}
Also used : AdPlaybackState(com.google.android.exoplayer2.source.ads.AdPlaybackState) Test(org.junit.Test)

Example 7 with ServerSideAdInsertionUtil.addAdGroupToAdPlaybackState

use of com.google.android.exoplayer2.source.ads.ServerSideAdInsertionUtil.addAdGroupToAdPlaybackState in project ExoPlayer by google.

the class ImaUtilTest method expandAdGroupPlaceHolder_expandSingleAdInAdGroup_noExpansionCorrectDuration.

@Test
public void expandAdGroupPlaceHolder_expandSingleAdInAdGroup_noExpansionCorrectDuration() {
    AdPlaybackState adPlaybackState = ServerSideAdInsertionUtil.addAdGroupToAdPlaybackState(AdPlaybackState.NONE, /* fromPositionUs= */
    0, /* contentResumeOffsetUs= */
    0, /* adDurationsUs...= */
    30_000_000);
    adPlaybackState = ImaUtil.expandAdGroupPlaceholder(/* adGroupIndex= */
    0, /* adGroupDurationUs= */
    30_000_000, /* adIndexInAdGroup= */
    0, /* adDurationUs= */
    10_000_000, /* adsInAdGroupCount= */
    1, adPlaybackState);
    AdPlaybackState.AdGroup adGroup = adPlaybackState.getAdGroup(/* adGroupIndex= */
    0);
    assertThat(adGroup.count).isEqualTo(1);
    assertThat(adGroup.durationsUs[0]).isEqualTo(10_000_000);
}
Also used : AdPlaybackState(com.google.android.exoplayer2.source.ads.AdPlaybackState) Test(org.junit.Test)

Example 8 with ServerSideAdInsertionUtil.addAdGroupToAdPlaybackState

use of com.google.android.exoplayer2.source.ads.ServerSideAdInsertionUtil.addAdGroupToAdPlaybackState in project ExoPlayer by google.

the class ImaUtilTest method insertAdDurationInAdGroup_allDurationsSetAlready_setDurationNoPropagation.

@Test
public void insertAdDurationInAdGroup_allDurationsSetAlready_setDurationNoPropagation() {
    AdPlaybackState adPlaybackState = ServerSideAdInsertionUtil.addAdGroupToAdPlaybackState(AdPlaybackState.NONE, /* fromPositionUs= */
    0, /* contentResumeOffsetUs= */
    0, /* adDurationsUs...= */
    5_000_000, 10_000_000, 20_000_000);
    adPlaybackState = ImaUtil.updateAdDurationInAdGroup(/* adGroupIndex= */
    0, /* adIndexInAdGroup= */
    1, /* adDurationUs= */
    5_000_000, adPlaybackState);
    AdPlaybackState.AdGroup adGroup = adPlaybackState.getAdGroup(0);
    assertThat(adGroup.count).isEqualTo(3);
    assertThat(adGroup.durationsUs[0]).isEqualTo(5_000_000);
    assertThat(adGroup.durationsUs[1]).isEqualTo(5_000_000);
    assertThat(adGroup.durationsUs[2]).isEqualTo(20_000_000);
}
Also used : AdPlaybackState(com.google.android.exoplayer2.source.ads.AdPlaybackState) Test(org.junit.Test)

Example 9 with ServerSideAdInsertionUtil.addAdGroupToAdPlaybackState

use of com.google.android.exoplayer2.source.ads.ServerSideAdInsertionUtil.addAdGroupToAdPlaybackState in project ExoPlayer by google.

the class ImaUtilTest method expandAdGroupPlaceHolder_expandWithLastAdInGroup_correctDurationWrappedAround.

@Test
public void expandAdGroupPlaceHolder_expandWithLastAdInGroup_correctDurationWrappedAround() {
    AdPlaybackState adPlaybackState = ServerSideAdInsertionUtil.addAdGroupToAdPlaybackState(AdPlaybackState.NONE, /* fromPositionUs= */
    0, /* contentResumeOffsetUs= */
    0, /* adDurationsUs...= */
    30_000_000);
    adPlaybackState = ImaUtil.expandAdGroupPlaceholder(/* adGroupIndex= */
    0, /* adGroupDurationUs= */
    30_000_000, /* adIndexInAdGroup= */
    2, /* adDurationUs= */
    10_000_000, /* adsInAdGroupCount= */
    3, adPlaybackState);
    AdPlaybackState.AdGroup adGroup = adPlaybackState.getAdGroup(/* adGroupIndex= */
    0);
    assertThat(adGroup.count).isEqualTo(3);
    assertThat(adGroup.durationsUs[0]).isEqualTo(20_000_000);
    assertThat(adGroup.durationsUs[1]).isEqualTo(0);
    assertThat(adGroup.durationsUs[2]).isEqualTo(10_000_000);
}
Also used : AdPlaybackState(com.google.android.exoplayer2.source.ads.AdPlaybackState) Test(org.junit.Test)

Example 10 with ServerSideAdInsertionUtil.addAdGroupToAdPlaybackState

use of com.google.android.exoplayer2.source.ads.ServerSideAdInsertionUtil.addAdGroupToAdPlaybackState in project ExoPlayer by google.

the class ImaUtilTest method expandAdGroupPlaceHolder_initialDurationTooLarge_overriddenWhenExpanded.

@Test
public void expandAdGroupPlaceHolder_initialDurationTooLarge_overriddenWhenExpanded() {
    AdPlaybackState adPlaybackState = ServerSideAdInsertionUtil.addAdGroupToAdPlaybackState(AdPlaybackState.NONE, /* fromPositionUs= */
    0, /* contentResumeOffsetUs= */
    0, /* adDurationsUs...= */
    30_000_000);
    adPlaybackState = ImaUtil.expandAdGroupPlaceholder(/* adGroupIndex= */
    0, /* adGroupDurationUs= */
    20_000_000, /* adIndexInAdGroup= */
    1, /* adDurationUs= */
    10_000_000, /* adsInAdGroupCount= */
    2, adPlaybackState);
    AdPlaybackState.AdGroup adGroup = adPlaybackState.getAdGroup(/* adGroupIndex= */
    0);
    assertThat(adGroup.count).isEqualTo(2);
    assertThat(adGroup.durationsUs[0]).isEqualTo(10_000_000);
    assertThat(adGroup.durationsUs[1]).isEqualTo(10_000_000);
}
Also used : AdPlaybackState(com.google.android.exoplayer2.source.ads.AdPlaybackState) Test(org.junit.Test)

Aggregations

AdPlaybackState (com.google.android.exoplayer2.source.ads.AdPlaybackState)10 Test (org.junit.Test)10 State (com.google.android.exoplayer2.ext.ima.ImaServerSideAdInsertionMediaSource.AdsLoader.State)1