diff --git a/extensions/ima/src/androidTest/java/com/google/android/exoplayer2/ext/ima/ImaPlaybackTest.java b/extensions/ima/src/androidTest/java/com/google/android/exoplayer2/ext/ima/ImaPlaybackTest.java index 88bc4e14c5..9527d35cef 100644 --- a/extensions/ima/src/androidTest/java/com/google/android/exoplayer2/ext/ima/ImaPlaybackTest.java +++ b/extensions/ima/src/androidTest/java/com/google/android/exoplayer2/ext/ima/ImaPlaybackTest.java @@ -47,8 +47,10 @@ import com.google.android.exoplayer2.testutil.HostActivity; import com.google.android.exoplayer2.testutil.TestUtil; import com.google.android.exoplayer2.trackselection.MappingTrackSelector; import com.google.android.exoplayer2.upstream.DataSource; +import com.google.android.exoplayer2.upstream.DataSpec; import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory; import com.google.android.exoplayer2.util.Assertions; +import com.google.android.exoplayer2.util.Util; import com.google.common.collect.ImmutableList; import java.util.ArrayList; import java.util.Arrays; @@ -78,7 +80,7 @@ public final class ImaPlaybackTest { @Test public void playbackWithPrerollAdTag_playsAdAndContent() throws Exception { String adsResponse = - TestUtil.getString(/* context= */ testRule.getActivity(), "ad-responses/preroll.xml"); + TestUtil.getString(/* context= */ testRule.getActivity(), "media/ad-responses/preroll.xml"); AdId[] expectedAdIds = new AdId[] {ad(0), CONTENT}; ImaHostedTest hostedTest = new ImaHostedTest(Uri.parse(CONTENT_URI_SHORT), adsResponse, expectedAdIds); @@ -90,7 +92,8 @@ public final class ImaPlaybackTest { public void playbackWithMidrolls_playsAdAndContent() throws Exception { String adsResponse = TestUtil.getString( - /* context= */ testRule.getActivity(), "ad-responses/preroll_midroll6s_postroll.xml"); + /* context= */ testRule.getActivity(), + "media/ad-responses/preroll_midroll6s_postroll.xml"); AdId[] expectedAdIds = new AdId[] {ad(0), CONTENT, ad(1), CONTENT, ad(2), CONTENT}; ImaHostedTest hostedTest = new ImaHostedTest(Uri.parse(CONTENT_URI_SHORT), adsResponse, expectedAdIds); @@ -102,7 +105,7 @@ public final class ImaPlaybackTest { public void playbackWithMidrolls1And7_playsAdsAndContent() throws Exception { String adsResponse = TestUtil.getString( - /* context= */ testRule.getActivity(), "ad-responses/midroll1s_midroll7s.xml"); + /* context= */ testRule.getActivity(), "media/ad-responses/midroll1s_midroll7s.xml"); AdId[] expectedAdIds = new AdId[] {CONTENT, ad(0), CONTENT, ad(1), CONTENT}; ImaHostedTest hostedTest = new ImaHostedTest(Uri.parse(CONTENT_URI_SHORT), adsResponse, expectedAdIds); @@ -114,7 +117,7 @@ public final class ImaPlaybackTest { public void playbackWithMidrolls10And20WithSeekTo12_playsAdsAndContent() throws Exception { String adsResponse = TestUtil.getString( - /* context= */ testRule.getActivity(), "ad-responses/midroll10s_midroll20s.xml"); + /* context= */ testRule.getActivity(), "media/ad-responses/midroll10s_midroll20s.xml"); AdId[] expectedAdIds = new AdId[] {CONTENT, ad(0), CONTENT, ad(1), CONTENT}; ImaHostedTest hostedTest = new ImaHostedTest(Uri.parse(CONTENT_URI_LONG), adsResponse, expectedAdIds); @@ -131,7 +134,7 @@ public final class ImaPlaybackTest { public void playbackWithMidrolls10And20WithSeekTo18_playsAdsAndContent() throws Exception { String adsResponse = TestUtil.getString( - /* context= */ testRule.getActivity(), "ad-responses/midroll10s_midroll20s.xml"); + /* context= */ testRule.getActivity(), "media/ad-responses/midroll10s_midroll20s.xml"); AdId[] expectedAdIds = new AdId[] {CONTENT, ad(0), CONTENT, ad(1), CONTENT}; ImaHostedTest hostedTest = new ImaHostedTest(Uri.parse(CONTENT_URI_LONG), adsResponse, expectedAdIds); @@ -190,7 +193,7 @@ public final class ImaPlaybackTest { private static final class ImaHostedTest extends ExoHostedTest implements EventListener { private final Uri contentUri; - private final String adsResponse; + private final DataSpec adTagDataSpec; private final List expectedAdIds; private final List seenAdIds; private @MonotonicNonNull ImaAdsLoader imaAdsLoader; @@ -201,7 +204,9 @@ public final class ImaPlaybackTest { // duration due to ad playback, so the hosted test shouldn't assert the playing duration. super(ImaPlaybackTest.class.getSimpleName(), /* fullPlaybackNoSeeking= */ false); this.contentUri = contentUri; - this.adsResponse = adsResponse; + this.adTagDataSpec = + new DataSpec( + Util.getDataUriForString(/* mimeType= */ "text/xml", /* data= */ adsResponse)); this.expectedAdIds = Arrays.asList(expectedAdIds); seenAdIds = new ArrayList<>(); } @@ -226,7 +231,7 @@ public final class ImaPlaybackTest { } }); Context context = host.getApplicationContext(); - imaAdsLoader = new ImaAdsLoader.Builder(context).buildForAdsResponse(adsResponse); + imaAdsLoader = new ImaAdsLoader.Builder(context).build(); imaAdsLoader.setPlayer(player); return player; } @@ -242,7 +247,8 @@ public final class ImaPlaybackTest { new DefaultMediaSourceFactory(context).createMediaSource(MediaItem.fromUri(contentUri)); return new AdsMediaSource( contentMediaSource, - dataSourceFactory, + adTagDataSpec, + new DefaultMediaSourceFactory(dataSourceFactory), Assertions.checkNotNull(imaAdsLoader), new AdViewProvider() { diff --git a/testdata/src/test/assets/media/ad-responses/midroll10s_midroll20s.xml b/testdata/src/test/assets/media/ad-responses/midroll10s_midroll20s.xml index 1543e11d26..98c59ec45d 100644 --- a/testdata/src/test/assets/media/ad-responses/midroll10s_midroll20s.xml +++ b/testdata/src/test/assets/media/ad-responses/midroll10s_midroll20s.xml @@ -17,7 +17,7 @@ @@ -48,7 +48,7 @@ file:///android_asset/mp4/midroll-5s.mp4 diff --git a/testdata/src/test/assets/media/ad-responses/midroll1s_midroll7s.xml b/testdata/src/test/assets/media/ad-responses/midroll1s_midroll7s.xml index 7b693747fc..58c1834df3 100644 --- a/testdata/src/test/assets/media/ad-responses/midroll1s_midroll7s.xml +++ b/testdata/src/test/assets/media/ad-responses/midroll1s_midroll7s.xml @@ -17,7 +17,7 @@ @@ -48,7 +48,7 @@ file:///android_asset/mp4/midroll-5s.mp4 diff --git a/testdata/src/test/assets/media/ad-responses/preroll.xml b/testdata/src/test/assets/media/ad-responses/preroll.xml index 3456649b29..d55f960381 100644 --- a/testdata/src/test/assets/media/ad-responses/preroll.xml +++ b/testdata/src/test/assets/media/ad-responses/preroll.xml @@ -14,7 +14,7 @@ diff --git a/testdata/src/test/assets/media/ad-responses/preroll_midroll6s_postroll.xml b/testdata/src/test/assets/media/ad-responses/preroll_midroll6s_postroll.xml index bbf216bf12..01d62c3a82 100644 --- a/testdata/src/test/assets/media/ad-responses/preroll_midroll6s_postroll.xml +++ b/testdata/src/test/assets/media/ad-responses/preroll_midroll6s_postroll.xml @@ -17,7 +17,7 @@ @@ -48,7 +48,7 @@ file:///android_asset/mp4/preroll-5s.mp4 @@ -79,7 +79,7 @@ file:///android_asset/mp4/midroll-5s.mp4