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
1f0fbafd
authored
Nov 05, 2021
by
ibaker
Committed by
tonihei
Nov 08, 2021
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Migrate the demo app to use non-deprecated MediaItem Builders
#minor-release PiperOrigin-RevId: 407843859
parent
852480a8
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
44 additions
and
25 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
demos/main/src/main/java/com/google/android/exoplayer2/demo/IntentUtil.java
View file @
1f0fbafd
...
@@ -23,11 +23,13 @@ import android.net.Uri;
...
@@ -23,11 +23,13 @@ import android.net.Uri;
import
androidx.annotation.Nullable
;
import
androidx.annotation.Nullable
;
import
com.google.android.exoplayer2.C
;
import
com.google.android.exoplayer2.C
;
import
com.google.android.exoplayer2.MediaItem
;
import
com.google.android.exoplayer2.MediaItem
;
import
com.google.android.exoplayer2.MediaItem.ClippingConfiguration
;
import
com.google.android.exoplayer2.MediaItem.SubtitleConfiguration
;
import
com.google.android.exoplayer2.MediaMetadata
;
import
com.google.android.exoplayer2.MediaMetadata
;
import
com.google.android.exoplayer2.util.Assertions
;
import
com.google.android.exoplayer2.util.Assertions
;
import
com.google.android.exoplayer2.util.Util
;
import
com.google.android.exoplayer2.util.Util
;
import
com.google.common.collect.ImmutableList
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -118,36 +120,46 @@ public class IntentUtil {
...
@@ -118,36 +120,46 @@ public class IntentUtil {
@Nullable
String
mimeType
=
intent
.
getStringExtra
(
MIME_TYPE_EXTRA
+
extrasKeySuffix
);
@Nullable
String
mimeType
=
intent
.
getStringExtra
(
MIME_TYPE_EXTRA
+
extrasKeySuffix
);
@Nullable
String
title
=
intent
.
getStringExtra
(
TITLE_EXTRA
+
extrasKeySuffix
);
@Nullable
String
title
=
intent
.
getStringExtra
(
TITLE_EXTRA
+
extrasKeySuffix
);
@Nullable
String
adTagUri
=
intent
.
getStringExtra
(
AD_TAG_URI_EXTRA
+
extrasKeySuffix
);
@Nullable
String
adTagUri
=
intent
.
getStringExtra
(
AD_TAG_URI_EXTRA
+
extrasKeySuffix
);
@Nullable
SubtitleConfiguration
subtitleConfiguration
=
createSubtitleConfiguration
(
intent
,
extrasKeySuffix
);
MediaItem
.
Builder
builder
=
MediaItem
.
Builder
builder
=
new
MediaItem
.
Builder
()
new
MediaItem
.
Builder
()
.
setUri
(
uri
)
.
setUri
(
uri
)
.
setMimeType
(
mimeType
)
.
setMimeType
(
mimeType
)
.
setMediaMetadata
(
new
MediaMetadata
.
Builder
().
setTitle
(
title
).
build
())
.
setMediaMetadata
(
new
MediaMetadata
.
Builder
().
setTitle
(
title
).
build
())
.
setSubtitles
(
createSubtitlesFromIntent
(
intent
,
extrasKeySuffix
))
.
setClippingConfiguration
(
.
setClipStartPositionMs
(
new
ClippingConfiguration
.
Builder
()
intent
.
getLongExtra
(
CLIP_START_POSITION_MS_EXTRA
+
extrasKeySuffix
,
0
))
.
setStartPositionMs
(
.
setClipEndPositionMs
(
intent
.
getLongExtra
(
CLIP_START_POSITION_MS_EXTRA
+
extrasKeySuffix
,
0
))
intent
.
getLongExtra
(
.
setEndPositionMs
(
CLIP_END_POSITION_MS_EXTRA
+
extrasKeySuffix
,
C
.
TIME_END_OF_SOURCE
));
intent
.
getLongExtra
(
CLIP_END_POSITION_MS_EXTRA
+
extrasKeySuffix
,
C
.
TIME_END_OF_SOURCE
))
.
build
());
if
(
adTagUri
!=
null
)
{
if
(
adTagUri
!=
null
)
{
builder
.
setAdsConfiguration
(
builder
.
setAdsConfiguration
(
new
MediaItem
.
AdsConfiguration
.
Builder
(
Uri
.
parse
(
adTagUri
)).
build
());
new
MediaItem
.
AdsConfiguration
.
Builder
(
Uri
.
parse
(
adTagUri
)).
build
());
}
}
if
(
subtitleConfiguration
!=
null
)
{
builder
.
setSubtitleConfigurations
(
ImmutableList
.
of
(
subtitleConfiguration
));
}
return
populateDrmPropertiesFromIntent
(
builder
,
intent
,
extrasKeySuffix
).
build
();
return
populateDrmPropertiesFromIntent
(
builder
,
intent
,
extrasKeySuffix
).
build
();
}
}
private
static
List
<
MediaItem
.
Subtitle
>
createSubtitlesFromIntent
(
@Nullable
private
static
MediaItem
.
SubtitleConfiguration
createSubtitleConfiguration
(
Intent
intent
,
String
extrasKeySuffix
)
{
Intent
intent
,
String
extrasKeySuffix
)
{
if
(!
intent
.
hasExtra
(
SUBTITLE_URI_EXTRA
+
extrasKeySuffix
))
{
if
(!
intent
.
hasExtra
(
SUBTITLE_URI_EXTRA
+
extrasKeySuffix
))
{
return
Collections
.
emptyList
()
;
return
null
;
}
}
return
Collections
.
singletonList
(
return
new
MediaItem
.
SubtitleConfiguration
.
Builder
(
new
MediaItem
.
Subtitle
(
Uri
.
parse
(
intent
.
getStringExtra
(
SUBTITLE_URI_EXTRA
+
extrasKeySuffix
)))
Uri
.
parse
(
intent
.
getStringExtra
(
SUBTITLE_URI_EXTRA
+
extrasKeySuffix
)),
.
setMimeType
(
checkNotNull
(
intent
.
getStringExtra
(
SUBTITLE_MIME_TYPE_EXTRA
+
extrasKeySuffix
)),
checkNotNull
(
intent
.
getStringExtra
(
SUBTITLE_MIME_TYPE_EXTRA
+
extrasKeySuffix
)))
intent
.
getStringExtra
(
SUBTITLE_LANGUAGE_EXTRA
+
extrasKeySuffix
),
.
setLanguage
(
intent
.
getStringExtra
(
SUBTITLE_LANGUAGE_EXTRA
+
extrasKeySuffix
))
C
.
SELECTION_FLAG_DEFAULT
));
.
setSelectionFlags
(
C
.
SELECTION_FLAG_DEFAULT
)
.
build
();
}
}
private
static
MediaItem
.
Builder
populateDrmPropertiesFromIntent
(
private
static
MediaItem
.
Builder
populateDrmPropertiesFromIntent
(
...
...
demos/main/src/main/java/com/google/android/exoplayer2/demo/SampleChooserActivity.java
View file @
1f0fbafd
...
@@ -43,6 +43,7 @@ import android.widget.Toast;
...
@@ -43,6 +43,7 @@ import android.widget.Toast;
import
androidx.annotation.Nullable
;
import
androidx.annotation.Nullable
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.appcompat.app.AppCompatActivity
;
import
com.google.android.exoplayer2.MediaItem
;
import
com.google.android.exoplayer2.MediaItem
;
import
com.google.android.exoplayer2.MediaItem.ClippingConfiguration
;
import
com.google.android.exoplayer2.MediaMetadata
;
import
com.google.android.exoplayer2.MediaMetadata
;
import
com.google.android.exoplayer2.ParserException
;
import
com.google.android.exoplayer2.ParserException
;
import
com.google.android.exoplayer2.RenderersFactory
;
import
com.google.android.exoplayer2.RenderersFactory
;
...
@@ -53,6 +54,7 @@ import com.google.android.exoplayer2.upstream.DataSourceUtil;
...
@@ -53,6 +54,7 @@ import com.google.android.exoplayer2.upstream.DataSourceUtil;
import
com.google.android.exoplayer2.upstream.DataSpec
;
import
com.google.android.exoplayer2.upstream.DataSpec
;
import
com.google.android.exoplayer2.util.Log
;
import
com.google.android.exoplayer2.util.Log
;
import
com.google.android.exoplayer2.util.Util
;
import
com.google.android.exoplayer2.util.Util
;
import
com.google.common.collect.ImmutableList
;
import
com.google.common.collect.ImmutableMap
;
import
com.google.common.collect.ImmutableMap
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.io.InputStream
;
...
@@ -351,6 +353,8 @@ public class SampleChooserActivity extends AppCompatActivity
...
@@ -351,6 +353,8 @@ public class SampleChooserActivity extends AppCompatActivity
boolean
drmSessionForClearContent
=
false
;
boolean
drmSessionForClearContent
=
false
;
boolean
drmMultiSession
=
false
;
boolean
drmMultiSession
=
false
;
boolean
drmForceDefaultLicenseUri
=
false
;
boolean
drmForceDefaultLicenseUri
=
false
;
MediaItem
.
ClippingConfiguration
.
Builder
clippingConfiguration
=
new
ClippingConfiguration
.
Builder
();
MediaItem
.
Builder
mediaItem
=
new
MediaItem
.
Builder
();
MediaItem
.
Builder
mediaItem
=
new
MediaItem
.
Builder
();
reader
.
beginObject
();
reader
.
beginObject
();
...
@@ -367,10 +371,10 @@ public class SampleChooserActivity extends AppCompatActivity
...
@@ -367,10 +371,10 @@ public class SampleChooserActivity extends AppCompatActivity
extension
=
reader
.
nextString
();
extension
=
reader
.
nextString
();
break
;
break
;
case
"clip_start_position_ms"
:
case
"clip_start_position_ms"
:
mediaItem
.
setClip
StartPositionMs
(
reader
.
nextLong
());
clippingConfiguration
.
set
StartPositionMs
(
reader
.
nextLong
());
break
;
break
;
case
"clip_end_position_ms"
:
case
"clip_end_position_ms"
:
mediaItem
.
setClip
EndPositionMs
(
reader
.
nextLong
());
clippingConfiguration
.
set
EndPositionMs
(
reader
.
nextLong
());
break
;
break
;
case
"ad_tag_uri"
:
case
"ad_tag_uri"
:
mediaItem
.
setAdsConfiguration
(
mediaItem
.
setAdsConfiguration
(
...
@@ -439,7 +443,8 @@ public class SampleChooserActivity extends AppCompatActivity
...
@@ -439,7 +443,8 @@ public class SampleChooserActivity extends AppCompatActivity
mediaItem
mediaItem
.
setUri
(
uri
)
.
setUri
(
uri
)
.
setMediaMetadata
(
new
MediaMetadata
.
Builder
().
setTitle
(
title
).
build
())
.
setMediaMetadata
(
new
MediaMetadata
.
Builder
().
setTitle
(
title
).
build
())
.
setMimeType
(
adaptiveMimeType
);
.
setMimeType
(
adaptiveMimeType
)
.
setClippingConfiguration
(
clippingConfiguration
.
build
());
if
(
drmUuid
!=
null
)
{
if
(
drmUuid
!=
null
)
{
mediaItem
.
setDrmConfiguration
(
mediaItem
.
setDrmConfiguration
(
new
MediaItem
.
DrmConfiguration
.
Builder
(
drmUuid
)
new
MediaItem
.
DrmConfiguration
.
Builder
(
drmUuid
)
...
@@ -463,13 +468,15 @@ public class SampleChooserActivity extends AppCompatActivity
...
@@ -463,13 +468,15 @@ public class SampleChooserActivity extends AppCompatActivity
"drm_uuid is required if drm_force_default_license_uri is set."
);
"drm_uuid is required if drm_force_default_license_uri is set."
);
}
}
if
(
subtitleUri
!=
null
)
{
if
(
subtitleUri
!=
null
)
{
MediaItem
.
Subtitle
subtitle
=
MediaItem
.
SubtitleConfiguration
subtitleConfiguration
=
new
MediaItem
.
Subtitle
(
new
MediaItem
.
SubtitleConfiguration
.
Builder
(
subtitleUri
)
subtitleUri
,
.
setMimeType
(
checkNotNull
(
checkNotNull
(
subtitleMimeType
,
"subtitle_mime_type is required if subtitle_uri is set."
),
subtitleMimeType
,
subtitleLanguage
);
"subtitle_mime_type is required if subtitle_uri is set."
))
mediaItem
.
setSubtitles
(
Collections
.
singletonList
(
subtitle
));
.
setLanguage
(
subtitleLanguage
)
.
build
();
mediaItem
.
setSubtitleConfigurations
(
ImmutableList
.
of
(
subtitleConfiguration
));
}
}
return
new
PlaylistHolder
(
title
,
Collections
.
singletonList
(
mediaItem
.
build
()));
return
new
PlaylistHolder
(
title
,
Collections
.
singletonList
(
mediaItem
.
build
()));
}
}
...
...
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