Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
SDK
/
exoplayer
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
a194d73c
authored
Sep 22, 2021
by
ibaker
Committed by
bachinger
Sep 23, 2021
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Use the new MediaItem.Builder#setAdsConfiguration method
PiperOrigin-RevId: 398185843
parent
c927bc83
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
40 additions
and
12 deletions
demos/main/src/main/java/com/google/android/exoplayer2/demo/IntentUtil.java
demos/main/src/main/java/com/google/android/exoplayer2/demo/SampleChooserActivity.java
docs/ad-insertion.md
docs/media-items.md
library/core/src/test/java/com/google/android/exoplayer2/source/DefaultMediaSourceFactoryTest.java
demos/main/src/main/java/com/google/android/exoplayer2/demo/IntentUtil.java
View file @
a194d73c
...
...
@@ -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
();
}
...
...
demos/main/src/main/java/com/google/android/exoplayer2/demo/SampleChooserActivity.java
View file @
a194d73c
...
...
@@ -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
());
...
...
docs/ad-insertion.md
View file @
a194d73c
...
...
@@ -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);
...
...
docs/media-items.md
View file @
a194d73c
...
...
@@ -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}
...
...
library/core/src/test/java/com/google/android/exoplayer2/source/DefaultMediaSourceFactoryTest.java
View file @
a194d73c
...
...
@@ -166,9 +166,13 @@ public final class DefaultMediaSourceFactoryTest {
}
@Test
public
void
createMediaSource_withAd
TagUri
_callsAdsLoader
()
{
public
void
createMediaSource_withAd
sConfiguration
_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_withAd
TagUri
_adProvidersNotSet_playsWithoutAdNoException
()
{
public
void
createMediaSource_withAd
sConfiguration
_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_withAd
TagUri
ProvidersNull_playsWithoutAdNoException
()
{
public
void
createMediaSource_withAd
sConfiguration
ProvidersNull_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
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment