Use the new MediaItem.Builder#setAdsConfiguration method
PiperOrigin-RevId: 398185843
This commit is contained in:
parent
c927bc8358
commit
a194d73c75
@ -117,18 +117,22 @@ public class IntentUtil {
|
||||
Uri uri, Intent intent, String extrasKeySuffix) {
|
||||
@Nullable String mimeType = intent.getStringExtra(MIME_TYPE_EXTRA + extrasKeySuffix);
|
||||
@Nullable String title = intent.getStringExtra(TITLE_EXTRA + extrasKeySuffix);
|
||||
@Nullable String adTagUri = intent.getStringExtra(AD_TAG_URI_EXTRA + extrasKeySuffix);
|
||||
MediaItem.Builder builder =
|
||||
new MediaItem.Builder()
|
||||
.setUri(uri)
|
||||
.setMimeType(mimeType)
|
||||
.setMediaMetadata(new MediaMetadata.Builder().setTitle(title).build())
|
||||
.setAdTagUri(intent.getStringExtra(AD_TAG_URI_EXTRA + extrasKeySuffix))
|
||||
.setSubtitles(createSubtitlesFromIntent(intent, extrasKeySuffix))
|
||||
.setClipStartPositionMs(
|
||||
intent.getLongExtra(CLIP_START_POSITION_MS_EXTRA + extrasKeySuffix, 0))
|
||||
.setClipEndPositionMs(
|
||||
intent.getLongExtra(
|
||||
CLIP_END_POSITION_MS_EXTRA + extrasKeySuffix, C.TIME_END_OF_SOURCE));
|
||||
if (adTagUri != null) {
|
||||
builder.setAdsConfiguration(
|
||||
new MediaItem.AdsConfiguration.Builder(Uri.parse(adTagUri)).build());
|
||||
}
|
||||
|
||||
return populateDrmPropertiesFromIntent(builder, intent, extrasKeySuffix).build();
|
||||
}
|
||||
|
@ -373,7 +373,8 @@ public class SampleChooserActivity extends AppCompatActivity
|
||||
mediaItem.setClipEndPositionMs(reader.nextLong());
|
||||
break;
|
||||
case "ad_tag_uri":
|
||||
mediaItem.setAdTagUri(reader.nextString());
|
||||
mediaItem.setAdsConfiguration(
|
||||
new MediaItem.AdsConfiguration.Builder(Uri.parse(reader.nextString())).build());
|
||||
break;
|
||||
case "drm_scheme":
|
||||
drmUuid = Util.getDrmUuid(reader.nextString());
|
||||
|
@ -36,7 +36,11 @@ An ad tag URI can be specified when building a `MediaItem`:
|
||||
|
||||
~~~
|
||||
MediaItem mediaItem =
|
||||
new MediaItem.Builder().setUri(videoUri).setAdTagUri(adTagUri).build();
|
||||
new MediaItem.Builder()
|
||||
.setUri(videoUri)
|
||||
.setAdsConfiguration(
|
||||
new MediaItem.AdsConfiguration.Builder(adTagUri).build())
|
||||
.build();
|
||||
~~~
|
||||
{: .language-java}
|
||||
|
||||
@ -88,12 +92,18 @@ playlist from start to finish.
|
||||
MediaItem firstItem =
|
||||
new MediaItem.Builder()
|
||||
.setUri(firstVideoUri)
|
||||
.setAdTagUri(adTagUri, /* adsId= */ adTagUri)
|
||||
.setAdsConfiguration(
|
||||
new MediaItem.AdsConfiguration.Builder(adTagUri)
|
||||
.setAdsId(adTagUri)
|
||||
.build())
|
||||
.build();
|
||||
MediaItem secondItem =
|
||||
new MediaItem.Builder()
|
||||
.setUri(secondVideoUri)
|
||||
.setAdTagUri(adTagUri, /* adsId= */ adTagUri)
|
||||
.setAdsConfiguration(
|
||||
new MediaItem.AdsConfiguration.Builder(adTagUri)
|
||||
.setAdsId(adTagUri)
|
||||
.build())
|
||||
.build();
|
||||
player.addMediaItem(firstItem);
|
||||
player.addMediaItem(secondItem);
|
||||
|
@ -137,7 +137,8 @@ To insert ads, a media item's ad tag URI property should be set:
|
||||
~~~
|
||||
MediaItem mediaItem = new MediaItem.Builder()
|
||||
.setUri(videoUri)
|
||||
.setAdTagUri(adTagUri)
|
||||
.setAdsConfiguration(
|
||||
new MediaItem.AdsConfiguration.Builder(adTagUri).build())
|
||||
.build();
|
||||
~~~
|
||||
{: .language-java}
|
||||
|
@ -166,9 +166,13 @@ public final class DefaultMediaSourceFactoryTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void createMediaSource_withAdTagUri_callsAdsLoader() {
|
||||
public void createMediaSource_withAdsConfiguration_callsAdsLoader() {
|
||||
Uri adTagUri = Uri.parse(URI_MEDIA);
|
||||
MediaItem mediaItem = new MediaItem.Builder().setUri(URI_MEDIA).setAdTagUri(adTagUri).build();
|
||||
MediaItem mediaItem =
|
||||
new MediaItem.Builder()
|
||||
.setUri(URI_MEDIA)
|
||||
.setAdsConfiguration(new MediaItem.AdsConfiguration.Builder(adTagUri).build())
|
||||
.build();
|
||||
DefaultMediaSourceFactory defaultMediaSourceFactory =
|
||||
new DefaultMediaSourceFactory((Context) ApplicationProvider.getApplicationContext())
|
||||
.setAdsLoaderProvider(ignoredAdsConfiguration -> mock(AdsLoader.class))
|
||||
@ -180,9 +184,13 @@ public final class DefaultMediaSourceFactoryTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void createMediaSource_withAdTagUri_adProvidersNotSet_playsWithoutAdNoException() {
|
||||
public void createMediaSource_withAdsConfiguration_adProvidersNotSet_playsWithoutAdNoException() {
|
||||
MediaItem mediaItem =
|
||||
new MediaItem.Builder().setUri(URI_MEDIA).setAdTagUri(Uri.parse(URI_MEDIA)).build();
|
||||
new MediaItem.Builder()
|
||||
.setUri(URI_MEDIA)
|
||||
.setAdsConfiguration(
|
||||
new MediaItem.AdsConfiguration.Builder(Uri.parse(URI_MEDIA)).build())
|
||||
.build();
|
||||
DefaultMediaSourceFactory defaultMediaSourceFactory =
|
||||
new DefaultMediaSourceFactory((Context) ApplicationProvider.getApplicationContext());
|
||||
|
||||
@ -192,10 +200,14 @@ public final class DefaultMediaSourceFactoryTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void createMediaSource_withAdTagUriProvidersNull_playsWithoutAdNoException() {
|
||||
public void createMediaSource_withAdsConfigurationProvidersNull_playsWithoutAdNoException() {
|
||||
Context applicationContext = ApplicationProvider.getApplicationContext();
|
||||
MediaItem mediaItem =
|
||||
new MediaItem.Builder().setUri(URI_MEDIA).setAdTagUri(Uri.parse(URI_MEDIA)).build();
|
||||
new MediaItem.Builder()
|
||||
.setUri(URI_MEDIA)
|
||||
.setAdsConfiguration(
|
||||
new MediaItem.AdsConfiguration.Builder(Uri.parse(URI_MEDIA)).build())
|
||||
.build();
|
||||
|
||||
MediaSource mediaSource =
|
||||
new DefaultMediaSourceFactory(applicationContext).createMediaSource(mediaItem);
|
||||
|
Loading…
x
Reference in New Issue
Block a user