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
b22783f8
authored
Apr 29, 2020
by
bachinger
Committed by
Oliver Woodman
May 01, 2020
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Rename sourceUri to uri
PiperOrigin-RevId: 308918151
parent
284b843d
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
119 additions
and
151 deletions
demos/cast/src/main/java/com/google/android/exoplayer2/castdemo/DemoUtil.java
demos/main/src/main/java/com/google/android/exoplayer2/demo/DownloadTracker.java
demos/main/src/main/java/com/google/android/exoplayer2/demo/IntentUtil.java
demos/main/src/main/java/com/google/android/exoplayer2/demo/SampleChooserActivity.java
extensions/cast/src/main/java/com/google/android/exoplayer2/ext/cast/DefaultMediaItemConverter.java
extensions/cast/src/test/java/com/google/android/exoplayer2/ext/cast/CastPlayerTest.java
extensions/cast/src/test/java/com/google/android/exoplayer2/ext/cast/DefaultMediaItemConverterTest.java
library/common/src/main/java/com/google/android/exoplayer2/MediaItem.java
library/common/src/main/java/com/google/android/exoplayer2/util/Util.java
library/common/src/test/java/com/google/android/exoplayer2/MediaItemTest.java
library/core/src/main/java/com/google/android/exoplayer2/source/DefaultMediaSourceFactory.java
library/core/src/main/java/com/google/android/exoplayer2/source/ExtractorMediaSource.java
library/core/src/main/java/com/google/android/exoplayer2/source/ProgressiveMediaSource.java
library/core/src/test/java/com/google/android/exoplayer2/source/DefaultMediaSourceFactoryTest.java
library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java
library/dash/src/test/java/com/google/android/exoplayer2/source/dash/DefaultMediaSourceFactoryTest.java
library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaSource.java
library/hls/src/test/java/com/google/android/exoplayer2/source/hls/DefaultMediaSourceFactoryTest.java
library/smoothstreaming/src/main/java/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSource.java
library/smoothstreaming/src/test/java/com/google/android/exoplayer2/source/smoothstreaming/DefaultMediaSourceFactoryTest.java
demos/cast/src/main/java/com/google/android/exoplayer2/castdemo/DemoUtil.java
View file @
b22783f8
...
...
@@ -41,19 +41,19 @@ import java.util.List;
// Clear content.
samples
.
add
(
new
MediaItem
.
Builder
()
.
set
Source
Uri
(
"https://storage.googleapis.com/wvmedia/clear/h264/tears/tears.mpd"
)
.
setUri
(
"https://storage.googleapis.com/wvmedia/clear/h264/tears/tears.mpd"
)
.
setMediaMetadata
(
new
MediaMetadata
.
Builder
().
setTitle
(
"Clear DASH: Tears"
).
build
())
.
setMimeType
(
MIME_TYPE_DASH
)
.
build
());
samples
.
add
(
new
MediaItem
.
Builder
()
.
set
Source
Uri
(
"https://storage.googleapis.com/shaka-demo-assets/angel-one-hls/hls.m3u8"
)
.
setUri
(
"https://storage.googleapis.com/shaka-demo-assets/angel-one-hls/hls.m3u8"
)
.
setMediaMetadata
(
new
MediaMetadata
.
Builder
().
setTitle
(
"Clear HLS: Angel one"
).
build
())
.
setMimeType
(
MIME_TYPE_HLS
)
.
build
());
samples
.
add
(
new
MediaItem
.
Builder
()
.
set
Source
Uri
(
"https://html5demos.com/assets/dizzy.mp4"
)
.
setUri
(
"https://html5demos.com/assets/dizzy.mp4"
)
.
setMediaMetadata
(
new
MediaMetadata
.
Builder
().
setTitle
(
"Clear MP4: Dizzy"
).
build
())
.
setMimeType
(
MIME_TYPE_VIDEO_MP4
)
.
build
());
...
...
@@ -61,8 +61,7 @@ import java.util.List;
// DRM content.
samples
.
add
(
new
MediaItem
.
Builder
()
.
setSourceUri
(
Uri
.
parse
(
"https://storage.googleapis.com/wvmedia/cenc/h264/tears/tears.mpd"
))
.
setUri
(
Uri
.
parse
(
"https://storage.googleapis.com/wvmedia/cenc/h264/tears/tears.mpd"
))
.
setMediaMetadata
(
new
MediaMetadata
.
Builder
().
setTitle
(
"Widevine DASH cenc: Tears"
).
build
())
.
setMimeType
(
MIME_TYPE_DASH
)
...
...
@@ -71,8 +70,7 @@ import java.util.List;
.
build
());
samples
.
add
(
new
MediaItem
.
Builder
()
.
setSourceUri
(
"https://storage.googleapis.com/wvmedia/cbc1/h264/tears/tears_aes_cbc1.mpd"
)
.
setUri
(
"https://storage.googleapis.com/wvmedia/cbc1/h264/tears/tears_aes_cbc1.mpd"
)
.
setMediaMetadata
(
new
MediaMetadata
.
Builder
().
setTitle
(
"Widevine DASH cbc1: Tears"
).
build
())
.
setMimeType
(
MIME_TYPE_DASH
)
...
...
@@ -81,8 +79,7 @@ import java.util.List;
.
build
());
samples
.
add
(
new
MediaItem
.
Builder
()
.
setSourceUri
(
"https://storage.googleapis.com/wvmedia/cbcs/h264/tears/tears_aes_cbcs.mpd"
)
.
setUri
(
"https://storage.googleapis.com/wvmedia/cbcs/h264/tears/tears_aes_cbcs.mpd"
)
.
setMediaMetadata
(
new
MediaMetadata
.
Builder
().
setTitle
(
"Widevine DASH cbcs: Tears"
).
build
())
.
setMimeType
(
MIME_TYPE_DASH
)
...
...
demos/main/src/main/java/com/google/android/exoplayer2/demo/DownloadTracker.java
View file @
b22783f8
...
...
@@ -85,7 +85,7 @@ public class DownloadTracker {
}
public
boolean
isDownloaded
(
MediaItem
mediaItem
)
{
Download
download
=
downloads
.
get
(
checkNotNull
(
mediaItem
.
playbackProperties
).
sourceU
ri
);
Download
download
=
downloads
.
get
(
checkNotNull
(
mediaItem
.
playbackProperties
).
u
ri
);
return
download
!=
null
&&
download
.
state
!=
Download
.
STATE_FAILED
;
}
...
...
@@ -96,7 +96,7 @@ public class DownloadTracker {
public
void
toggleDownload
(
FragmentManager
fragmentManager
,
MediaItem
mediaItem
,
RenderersFactory
renderersFactory
)
{
Download
download
=
downloads
.
get
(
checkNotNull
(
mediaItem
.
playbackProperties
).
sourceU
ri
);
Download
download
=
downloads
.
get
(
checkNotNull
(
mediaItem
.
playbackProperties
).
u
ri
);
if
(
download
!=
null
)
{
DownloadService
.
sendRemoveDownload
(
context
,
DemoDownloadService
.
class
,
download
.
request
.
id
,
/* foreground= */
false
);
...
...
@@ -125,20 +125,19 @@ public class DownloadTracker {
MediaItem
.
PlaybackProperties
playbackProperties
=
checkNotNull
(
mediaItem
.
playbackProperties
);
@C
.
ContentType
int
type
=
Util
.
inferContentTypeWithMimeType
(
playbackProperties
.
sourceUri
,
playbackProperties
.
mimeType
);
Util
.
inferContentTypeWithMimeType
(
playbackProperties
.
uri
,
playbackProperties
.
mimeType
);
switch
(
type
)
{
case
C
.
TYPE_DASH
:
return
DownloadHelper
.
forDash
(
context
,
playbackProperties
.
sourceU
ri
,
dataSourceFactory
,
renderersFactory
);
context
,
playbackProperties
.
u
ri
,
dataSourceFactory
,
renderersFactory
);
case
C
.
TYPE_SS
:
return
DownloadHelper
.
forSmoothStreaming
(
context
,
playbackProperties
.
sourceU
ri
,
dataSourceFactory
,
renderersFactory
);
context
,
playbackProperties
.
u
ri
,
dataSourceFactory
,
renderersFactory
);
case
C
.
TYPE_HLS
:
return
DownloadHelper
.
forHls
(
context
,
playbackProperties
.
sourceU
ri
,
dataSourceFactory
,
renderersFactory
);
context
,
playbackProperties
.
u
ri
,
dataSourceFactory
,
renderersFactory
);
case
C
.
TYPE_OTHER
:
return
DownloadHelper
.
forProgressive
(
context
,
playbackProperties
.
sourceU
ri
);
return
DownloadHelper
.
forProgressive
(
context
,
playbackProperties
.
u
ri
);
default
:
throw
new
IllegalStateException
(
"Unsupported type: "
+
type
);
}
...
...
demos/main/src/main/java/com/google/android/exoplayer2/demo/IntentUtil.java
View file @
b22783f8
...
...
@@ -125,14 +125,14 @@ public class IntentUtil {
if
(
mediaItems
.
size
()
==
1
)
{
MediaItem
.
PlaybackProperties
playbackProperties
=
checkNotNull
(
mediaItems
.
get
(
0
).
playbackProperties
);
intent
.
setAction
(
IntentUtil
.
ACTION_VIEW
).
setData
(
playbackProperties
.
sourceU
ri
);
intent
.
setAction
(
IntentUtil
.
ACTION_VIEW
).
setData
(
playbackProperties
.
u
ri
);
addPlaybackPropertiesToIntent
(
playbackProperties
,
intent
,
/* extrasKeySuffix= */
""
);
}
else
{
intent
.
setAction
(
IntentUtil
.
ACTION_VIEW_LIST
);
for
(
int
i
=
0
;
i
<
mediaItems
.
size
();
i
++)
{
MediaItem
.
PlaybackProperties
playbackProperties
=
checkNotNull
(
mediaItems
.
get
(
i
).
playbackProperties
);
intent
.
putExtra
(
IntentUtil
.
URI_EXTRA
+
(
"_"
+
i
),
playbackProperties
.
sourceU
ri
.
toString
());
intent
.
putExtra
(
IntentUtil
.
URI_EXTRA
+
(
"_"
+
i
),
playbackProperties
.
u
ri
.
toString
());
addPlaybackPropertiesToIntent
(
playbackProperties
,
intent
,
/* extrasKeySuffix= */
"_"
+
i
);
}
}
...
...
@@ -165,7 +165,7 @@ public class IntentUtil {
}
MediaItem
.
Builder
builder
=
new
MediaItem
.
Builder
()
.
set
Source
Uri
(
uri
)
.
setUri
(
uri
)
.
setStreamKeys
(
downloadRequest
!=
null
?
downloadRequest
.
streamKeys
:
null
)
.
setCustomCacheKey
(
downloadRequest
!=
null
?
downloadRequest
.
customCacheKey
:
null
)
.
setMimeType
(
mimeType
)
...
...
demos/main/src/main/java/com/google/android/exoplayer2/demo/SampleChooserActivity.java
View file @
b22783f8
...
...
@@ -278,7 +278,7 @@ public class SampleChooserActivity extends AppCompatActivity
if
(
playbackProperties
.
adTagUri
!=
null
)
{
return
R
.
string
.
download_ads_unsupported
;
}
String
scheme
=
playbackProperties
.
sourceU
ri
.
getScheme
();
String
scheme
=
playbackProperties
.
u
ri
.
getScheme
();
if
(!(
"http"
.
equals
(
scheme
)
||
"https"
.
equals
(
scheme
)))
{
return
R
.
string
.
download_scheme_unsupported
;
}
...
...
@@ -457,7 +457,7 @@ public class SampleChooserActivity extends AppCompatActivity
return
new
PlaylistHolder
(
title
,
mediaItems
);
}
else
{
mediaItem
.
set
Source
Uri
(
uri
)
.
setUri
(
uri
)
.
setMediaMetadata
(
new
MediaMetadata
.
Builder
().
setTitle
(
title
).
build
())
.
setMimeType
(
IntentUtil
.
inferAdaptiveStreamMimeType
(
uri
,
extension
))
.
setTag
(
new
IntentUtil
.
Tag
(
isLive
,
sphericalStereoMode
));
...
...
extensions/cast/src/main/java/com/google/android/exoplayer2/ext/cast/DefaultMediaItemConverter.java
View file @
b22783f8
...
...
@@ -59,7 +59,7 @@ public final class DefaultMediaItemConverter implements MediaItemConverter {
metadata
.
putString
(
MediaMetadata
.
KEY_TITLE
,
item
.
mediaMetadata
.
title
);
}
MediaInfo
mediaInfo
=
new
MediaInfo
.
Builder
(
item
.
playbackProperties
.
sourceU
ri
.
toString
())
new
MediaInfo
.
Builder
(
item
.
playbackProperties
.
u
ri
.
toString
())
.
setStreamType
(
MediaInfo
.
STREAM_TYPE_BUFFERED
)
.
setContentType
(
item
.
playbackProperties
.
mimeType
)
.
setMetadata
(
metadata
)
...
...
@@ -74,7 +74,7 @@ public final class DefaultMediaItemConverter implements MediaItemConverter {
try
{
JSONObject
mediaItemJson
=
customData
.
getJSONObject
(
KEY_MEDIA_ITEM
);
MediaItem
.
Builder
builder
=
new
MediaItem
.
Builder
();
builder
.
set
Source
Uri
(
Uri
.
parse
(
mediaItemJson
.
getString
(
KEY_URI
)));
builder
.
setUri
(
Uri
.
parse
(
mediaItemJson
.
getString
(
KEY_URI
)));
if
(
mediaItemJson
.
has
(
KEY_TITLE
))
{
com
.
google
.
android
.
exoplayer2
.
MediaMetadata
mediaMetadata
=
new
com
.
google
.
android
.
exoplayer2
.
MediaMetadata
.
Builder
()
...
...
@@ -127,7 +127,7 @@ public final class DefaultMediaItemConverter implements MediaItemConverter {
Assertions
.
checkNotNull
(
mediaItem
.
playbackProperties
);
JSONObject
json
=
new
JSONObject
();
json
.
put
(
KEY_TITLE
,
mediaItem
.
mediaMetadata
.
title
);
json
.
put
(
KEY_URI
,
mediaItem
.
playbackProperties
.
sourceU
ri
.
toString
());
json
.
put
(
KEY_URI
,
mediaItem
.
playbackProperties
.
u
ri
.
toString
());
json
.
put
(
KEY_MIME_TYPE
,
mediaItem
.
playbackProperties
.
mimeType
);
if
(
mediaItem
.
playbackProperties
.
drmConfiguration
!=
null
)
{
json
.
put
(
...
...
extensions/cast/src/test/java/com/google/android/exoplayer2/ext/cast/CastPlayerTest.java
View file @
b22783f8
...
...
@@ -232,36 +232,30 @@ public class CastPlayerTest {
@Test
public
void
setMediaItems_callsRemoteMediaClient
()
{
List
<
MediaItem
>
mediaItems
=
new
ArrayList
<>();
String
sourceU
ri1
=
"http://www.google.com/video1"
;
String
sourceU
ri2
=
"http://www.google.com/video2"
;
String
u
ri1
=
"http://www.google.com/video1"
;
String
u
ri2
=
"http://www.google.com/video2"
;
mediaItems
.
add
(
new
MediaItem
.
Builder
()
.
setSourceUri
(
sourceUri1
)
.
setMimeType
(
MimeTypes
.
APPLICATION_MPD
)
.
build
());
new
MediaItem
.
Builder
().
setUri
(
uri1
).
setMimeType
(
MimeTypes
.
APPLICATION_MPD
).
build
());
mediaItems
.
add
(
new
MediaItem
.
Builder
()
.
setSourceUri
(
sourceUri2
)
.
setMimeType
(
MimeTypes
.
APPLICATION_MP4
)
.
build
());
new
MediaItem
.
Builder
().
setUri
(
uri2
).
setMimeType
(
MimeTypes
.
APPLICATION_MP4
).
build
());
castPlayer
.
setMediaItems
(
mediaItems
,
/* startWindowIndex= */
1
,
/* startPositionMs= */
2000L
);
verify
(
mockRemoteMediaClient
)
.
queueLoad
(
queueItemsArgumentCaptor
.
capture
(),
eq
(
1
),
anyInt
(),
eq
(
2000L
),
any
());
MediaQueueItem
[]
mediaQueueItems
=
queueItemsArgumentCaptor
.
getValue
();
assertThat
(
mediaQueueItems
[
0
].
getMedia
().
getContentId
()).
isEqualTo
(
sourceU
ri1
);
assertThat
(
mediaQueueItems
[
1
].
getMedia
().
getContentId
()).
isEqualTo
(
sourceU
ri2
);
assertThat
(
mediaQueueItems
[
0
].
getMedia
().
getContentId
()).
isEqualTo
(
u
ri1
);
assertThat
(
mediaQueueItems
[
1
].
getMedia
().
getContentId
()).
isEqualTo
(
u
ri2
);
}
@Test
public
void
setMediaItems_doNotReset_callsRemoteMediaClient
()
{
MediaItem
.
Builder
builder
=
new
MediaItem
.
Builder
();
List
<
MediaItem
>
mediaItems
=
new
ArrayList
<>();
String
sourceU
ri1
=
"http://www.google.com/video1"
;
String
sourceU
ri2
=
"http://www.google.com/video2"
;
mediaItems
.
add
(
builder
.
set
SourceUri
(
sourceU
ri1
).
setMimeType
(
MimeTypes
.
APPLICATION_MPD
).
build
());
mediaItems
.
add
(
builder
.
set
SourceUri
(
sourceU
ri2
).
setMimeType
(
MimeTypes
.
APPLICATION_MP4
).
build
());
String
u
ri1
=
"http://www.google.com/video1"
;
String
u
ri2
=
"http://www.google.com/video2"
;
mediaItems
.
add
(
builder
.
set
Uri
(
u
ri1
).
setMimeType
(
MimeTypes
.
APPLICATION_MPD
).
build
());
mediaItems
.
add
(
builder
.
set
Uri
(
u
ri2
).
setMimeType
(
MimeTypes
.
APPLICATION_MP4
).
build
());
int
startWindowIndex
=
C
.
INDEX_UNSET
;
long
startPositionMs
=
2000L
;
...
...
@@ -271,18 +265,18 @@ public class CastPlayerTest {
.
queueLoad
(
queueItemsArgumentCaptor
.
capture
(),
eq
(
0
),
anyInt
(),
eq
(
0L
),
any
());
MediaQueueItem
[]
mediaQueueItems
=
queueItemsArgumentCaptor
.
getValue
();
assertThat
(
mediaQueueItems
[
0
].
getMedia
().
getContentId
()).
isEqualTo
(
sourceU
ri1
);
assertThat
(
mediaQueueItems
[
1
].
getMedia
().
getContentId
()).
isEqualTo
(
sourceU
ri2
);
assertThat
(
mediaQueueItems
[
0
].
getMedia
().
getContentId
()).
isEqualTo
(
u
ri1
);
assertThat
(
mediaQueueItems
[
1
].
getMedia
().
getContentId
()).
isEqualTo
(
u
ri2
);
}
@Test
public
void
addMediaItems_callsRemoteMediaClient
()
{
MediaItem
.
Builder
builder
=
new
MediaItem
.
Builder
();
List
<
MediaItem
>
mediaItems
=
new
ArrayList
<>();
String
sourceU
ri1
=
"http://www.google.com/video1"
;
String
sourceU
ri2
=
"http://www.google.com/video2"
;
mediaItems
.
add
(
builder
.
set
SourceUri
(
sourceU
ri1
).
setMimeType
(
MimeTypes
.
APPLICATION_MPD
).
build
());
mediaItems
.
add
(
builder
.
set
SourceUri
(
sourceU
ri2
).
setMimeType
(
MimeTypes
.
APPLICATION_MP4
).
build
());
String
u
ri1
=
"http://www.google.com/video1"
;
String
u
ri2
=
"http://www.google.com/video2"
;
mediaItems
.
add
(
builder
.
set
Uri
(
u
ri1
).
setMimeType
(
MimeTypes
.
APPLICATION_MPD
).
build
());
mediaItems
.
add
(
builder
.
set
Uri
(
u
ri2
).
setMimeType
(
MimeTypes
.
APPLICATION_MP4
).
build
());
castPlayer
.
addMediaItems
(
mediaItems
);
...
...
@@ -291,8 +285,8 @@ public class CastPlayerTest {
queueItemsArgumentCaptor
.
capture
(),
eq
(
MediaQueueItem
.
INVALID_ITEM_ID
),
any
());
MediaQueueItem
[]
mediaQueueItems
=
queueItemsArgumentCaptor
.
getValue
();
assertThat
(
mediaQueueItems
[
0
].
getMedia
().
getContentId
()).
isEqualTo
(
sourceU
ri1
);
assertThat
(
mediaQueueItems
[
1
].
getMedia
().
getContentId
()).
isEqualTo
(
sourceU
ri2
);
assertThat
(
mediaQueueItems
[
0
].
getMedia
().
getContentId
()).
isEqualTo
(
u
ri1
);
assertThat
(
mediaQueueItems
[
1
].
getMedia
().
getContentId
()).
isEqualTo
(
u
ri2
);
}
@SuppressWarnings
(
"ConstantConditions"
)
...
...
@@ -301,12 +295,9 @@ public class CastPlayerTest {
int
[]
mediaQueueItemIds
=
createMediaQueueItemIds
(
/* numberOfIds= */
2
);
List
<
MediaItem
>
mediaItems
=
createMediaItems
(
mediaQueueItemIds
);
fillTimeline
(
mediaItems
,
mediaQueueItemIds
);
String
sourceU
ri
=
"http://www.google.com/video3"
;
String
u
ri
=
"http://www.google.com/video3"
;
MediaItem
anotherMediaItem
=
new
MediaItem
.
Builder
()
.
setSourceUri
(
sourceUri
)
.
setMimeType
(
MimeTypes
.
APPLICATION_MPD
)
.
build
();
new
MediaItem
.
Builder
().
setUri
(
uri
).
setMimeType
(
MimeTypes
.
APPLICATION_MPD
).
build
();
// Add another on position 1
int
index
=
1
;
...
...
@@ -319,7 +310,7 @@ public class CastPlayerTest {
any
());
MediaQueueItem
[]
mediaQueueItems
=
queueItemsArgumentCaptor
.
getValue
();
assertThat
(
mediaQueueItems
[
0
].
getMedia
().
getContentId
()).
isEqualTo
(
sourceU
ri
);
assertThat
(
mediaQueueItems
[
0
].
getMedia
().
getContentId
()).
isEqualTo
(
u
ri
);
}
@Test
...
...
@@ -477,7 +468,7 @@ public class CastPlayerTest {
for
(
int
mediaQueueItemId
:
mediaQueueItemIds
)
{
MediaItem
mediaItem
=
builder
.
set
Source
Uri
(
"http://www.google.com/video"
+
mediaQueueItemId
)
.
setUri
(
"http://www.google.com/video"
+
mediaQueueItemId
)
.
setMimeType
(
MimeTypes
.
APPLICATION_MPD
)
.
setTag
(
mediaQueueItemId
)
.
build
();
...
...
extensions/cast/src/test/java/com/google/android/exoplayer2/ext/cast/DefaultMediaItemConverterTest.java
View file @
b22783f8
...
...
@@ -36,7 +36,7 @@ public class DefaultMediaItemConverterTest {
public
void
serialize_deserialize_minimal
()
{
MediaItem
.
Builder
builder
=
new
MediaItem
.
Builder
();
MediaItem
item
=
builder
.
set
Source
Uri
(
"http://example.com"
).
setMimeType
(
MimeTypes
.
APPLICATION_MPD
).
build
();
builder
.
setUri
(
"http://example.com"
).
setMimeType
(
MimeTypes
.
APPLICATION_MPD
).
build
();
DefaultMediaItemConverter
converter
=
new
DefaultMediaItemConverter
();
MediaQueueItem
queueItem
=
converter
.
toMediaQueueItem
(
item
);
...
...
@@ -50,7 +50,7 @@ public class DefaultMediaItemConverterTest {
MediaItem
.
Builder
builder
=
new
MediaItem
.
Builder
();
MediaItem
item
=
builder
.
set
Source
Uri
(
Uri
.
parse
(
"http://example.com"
))
.
setUri
(
Uri
.
parse
(
"http://example.com"
))
.
setMediaMetadata
(
new
MediaMetadata
.
Builder
().
build
())
.
setMimeType
(
MimeTypes
.
APPLICATION_MPD
)
.
setDrmUuid
(
C
.
WIDEVINE_UUID
)
...
...
library/common/src/main/java/com/google/android/exoplayer2/MediaItem.java
View file @
b22783f8
This diff is collapsed.
Click to expand it.
library/common/src/main/java/com/google/android/exoplayer2/util/Util.java
View file @
b22783f8
...
...
@@ -213,7 +213,7 @@ public final class Util {
if
(
mediaItem
.
playbackProperties
==
null
)
{
continue
;
}
if
(
isLocalFileUri
(
mediaItem
.
playbackProperties
.
sourceU
ri
))
{
if
(
isLocalFileUri
(
mediaItem
.
playbackProperties
.
u
ri
))
{
return
requestExternalStoragePermission
(
activity
);
}
for
(
int
i
=
0
;
i
<
mediaItem
.
playbackProperties
.
subtitles
.
size
();
i
++)
{
...
...
@@ -241,7 +241,7 @@ public final class Util {
if
(
mediaItem
.
playbackProperties
==
null
)
{
continue
;
}
if
(
isTrafficRestricted
(
mediaItem
.
playbackProperties
.
sourceU
ri
))
{
if
(
isTrafficRestricted
(
mediaItem
.
playbackProperties
.
u
ri
))
{
return
false
;
}
for
(
int
i
=
0
;
i
<
mediaItem
.
playbackProperties
.
subtitles
.
size
();
i
++)
{
...
...
library/common/src/test/java/com/google/android/exoplayer2/MediaItemTest.java
View file @
b22783f8
...
...
@@ -38,26 +38,26 @@ public class MediaItemTest {
private
static
final
String
URI_STRING
=
"http://www.google.com"
;
@Test
public
void
builder_needs
Source
UriOrMediaId
()
{
public
void
builder_needsUriOrMediaId
()
{
assertThrows
(
NullPointerException
.
class
,
()
->
new
MediaItem
.
Builder
().
build
());
}
@Test
public
void
builderWithUri_sets
Source
Uri
()
{
public
void
builderWithUri_setsUri
()
{
Uri
uri
=
Uri
.
parse
(
URI_STRING
);
MediaItem
mediaItem
=
MediaItem
.
fromUri
(
uri
);
assertThat
(
mediaItem
.
playbackProperties
.
sourceU
ri
.
toString
()).
isEqualTo
(
URI_STRING
);
assertThat
(
mediaItem
.
playbackProperties
.
u
ri
.
toString
()).
isEqualTo
(
URI_STRING
);
assertThat
(
mediaItem
.
mediaId
).
isEqualTo
(
URI_STRING
);
assertThat
(
mediaItem
.
mediaMetadata
).
isNotNull
();
}
@Test
public
void
builderWithUriAsString_sets
Source
Uri
()
{
public
void
builderWithUriAsString_setsUri
()
{
MediaItem
mediaItem
=
MediaItem
.
fromUri
(
URI_STRING
);
assertThat
(
mediaItem
.
playbackProperties
.
sourceU
ri
.
toString
()).
isEqualTo
(
URI_STRING
);
assertThat
(
mediaItem
.
playbackProperties
.
u
ri
.
toString
()).
isEqualTo
(
URI_STRING
);
assertThat
(
mediaItem
.
mediaId
).
isEqualTo
(
URI_STRING
);
}
...
...
@@ -71,10 +71,7 @@ public class MediaItemTest {
@Test
public
void
builderSetMimeType_setsMimeType
()
{
MediaItem
mediaItem
=
new
MediaItem
.
Builder
()
.
setSourceUri
(
URI_STRING
)
.
setMimeType
(
MimeTypes
.
APPLICATION_MPD
)
.
build
();
new
MediaItem
.
Builder
().
setUri
(
URI_STRING
).
setMimeType
(
MimeTypes
.
APPLICATION_MPD
).
build
();
assertThat
(
mediaItem
.
playbackProperties
.
mimeType
).
isEqualTo
(
MimeTypes
.
APPLICATION_MPD
);
}
...
...
@@ -82,7 +79,7 @@ public class MediaItemTest {
@Test
public
void
builderSetDrmConfig_isNullByDefault
()
{
// Null value by default.
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
set
Source
Uri
(
URI_STRING
).
build
();
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
setUri
(
URI_STRING
).
build
();
assertThat
(
mediaItem
.
playbackProperties
.
drmConfiguration
).
isNull
();
}
...
...
@@ -94,7 +91,7 @@ public class MediaItemTest {
byte
[]
keySetId
=
new
byte
[]
{
1
,
2
,
3
};
MediaItem
mediaItem
=
new
MediaItem
.
Builder
()
.
set
Source
Uri
(
URI_STRING
)
.
setUri
(
URI_STRING
)
.
setDrmUuid
(
C
.
WIDEVINE_UUID
)
.
setDrmLicenseUri
(
licenseUri
)
.
setDrmLicenseRequestHeaders
(
requestHeaders
)
...
...
@@ -121,7 +118,7 @@ public class MediaItemTest {
Uri
licenseUri
=
Uri
.
parse
(
URI_STRING
);
MediaItem
mediaItem
=
new
MediaItem
.
Builder
()
.
set
Source
Uri
(
URI_STRING
)
.
setUri
(
URI_STRING
)
.
setDrmUuid
(
C
.
WIDEVINE_UUID
)
.
setDrmLicenseUri
(
licenseUri
)
.
setDrmSessionForClearTypes
(
Arrays
.
asList
(
C
.
TRACK_TYPE_AUDIO
))
...
...
@@ -138,7 +135,7 @@ public class MediaItemTest {
IllegalStateException
.
class
,
()
->
new
MediaItem
.
Builder
()
.
set
Source
Uri
(
URI_STRING
)
.
setUri
(
URI_STRING
)
// missing uuid
.
setDrmLicenseUri
(
Uri
.
parse
(
URI_STRING
))
.
build
());
...
...
@@ -147,7 +144,7 @@ public class MediaItemTest {
@Test
public
void
builderSetCustomCacheKey_setsCustomCacheKey
()
{
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
set
Source
Uri
(
URI_STRING
).
setCustomCacheKey
(
"key"
).
build
();
new
MediaItem
.
Builder
().
setUri
(
URI_STRING
).
setCustomCacheKey
(
"key"
).
build
();
assertThat
(
mediaItem
.
playbackProperties
.
customCacheKey
).
isEqualTo
(
"key"
);
}
...
...
@@ -159,7 +156,7 @@ public class MediaItemTest {
streamKeys
.
add
(
new
StreamKey
(
0
,
1
,
1
));
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
set
Source
Uri
(
URI_STRING
).
setStreamKeys
(
streamKeys
).
build
();
new
MediaItem
.
Builder
().
setUri
(
URI_STRING
).
setStreamKeys
(
streamKeys
).
build
();
assertThat
(
mediaItem
.
playbackProperties
.
streamKeys
).
isEqualTo
(
streamKeys
);
}
...
...
@@ -177,14 +174,14 @@ public class MediaItemTest {
C
.
SELECTION_FLAG_DEFAULT
));
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
set
Source
Uri
(
URI_STRING
).
setSubtitles
(
subtitles
).
build
();
new
MediaItem
.
Builder
().
setUri
(
URI_STRING
).
setSubtitles
(
subtitles
).
build
();
assertThat
(
mediaItem
.
playbackProperties
.
subtitles
).
isEqualTo
(
subtitles
);
}
@Test
public
void
builderSetTag_isNullByDefault
()
{
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
set
Source
Uri
(
URI_STRING
).
build
();
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
setUri
(
URI_STRING
).
build
();
assertThat
(
mediaItem
.
playbackProperties
.
tag
).
isNull
();
}
...
...
@@ -193,7 +190,7 @@ public class MediaItemTest {
public
void
builderSetTag_setsTag
()
{
Object
tag
=
new
Object
();
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
set
Source
Uri
(
URI_STRING
).
setTag
(
tag
).
build
();
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
setUri
(
URI_STRING
).
setTag
(
tag
).
build
();
assertThat
(
mediaItem
.
playbackProperties
.
tag
).
isEqualTo
(
tag
);
}
...
...
@@ -201,14 +198,14 @@ public class MediaItemTest {
@Test
public
void
builderSetStartPositionMs_setsStartPositionMs
()
{
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
set
Source
Uri
(
URI_STRING
).
setClipStartPositionMs
(
1000L
).
build
();
new
MediaItem
.
Builder
().
setUri
(
URI_STRING
).
setClipStartPositionMs
(
1000L
).
build
();
assertThat
(
mediaItem
.
clippingProperties
.
startPositionMs
).
isEqualTo
(
1000L
);
}
@Test
public
void
builderSetStartPositionMs_zeroByDefault
()
{
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
set
Source
Uri
(
URI_STRING
).
build
();
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
setUri
(
URI_STRING
).
build
();
assertThat
(
mediaItem
.
clippingProperties
.
startPositionMs
).
isEqualTo
(
0
);
}
...
...
@@ -223,14 +220,14 @@ public class MediaItemTest {
@Test
public
void
builderSetEndPositionMs_setsEndPositionMs
()
{
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
set
Source
Uri
(
URI_STRING
).
setClipEndPositionMs
(
1000L
).
build
();
new
MediaItem
.
Builder
().
setUri
(
URI_STRING
).
setClipEndPositionMs
(
1000L
).
build
();
assertThat
(
mediaItem
.
clippingProperties
.
endPositionMs
).
isEqualTo
(
1000L
);
}
@Test
public
void
builderSetEndPositionMs_timeEndOfSourceByDefault
()
{
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
set
Source
Uri
(
URI_STRING
).
build
();
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
setUri
(
URI_STRING
).
build
();
assertThat
(
mediaItem
.
clippingProperties
.
endPositionMs
).
isEqualTo
(
C
.
TIME_END_OF_SOURCE
);
}
...
...
@@ -239,7 +236,7 @@ public class MediaItemTest {
public
void
builderSetEndPositionMs_timeEndOfSource_setsEndPositionMs
()
{
MediaItem
mediaItem
=
new
MediaItem
.
Builder
()
.
set
Source
Uri
(
URI_STRING
)
.
setUri
(
URI_STRING
)
.
setClipEndPositionMs
(
1000
)
.
setClipEndPositionMs
(
C
.
TIME_END_OF_SOURCE
)
.
build
();
...
...
@@ -258,7 +255,7 @@ public class MediaItemTest {
public
void
builderSetClippingFlags_setsClippingFlags
()
{
MediaItem
mediaItem
=
new
MediaItem
.
Builder
()
.
set
Source
Uri
(
URI_STRING
)
.
setUri
(
URI_STRING
)
.
setClipRelativeToDefaultPosition
(
true
)
.
setClipRelativeToLiveWindow
(
true
)
.
setClipStartsAtKeyFrame
(
true
)
...
...
@@ -273,8 +270,7 @@ public class MediaItemTest {
public
void
builderSetAdTagUri_setsAdTagUri
()
{
Uri
adTagUri
=
Uri
.
parse
(
URI_STRING
+
"/ad"
);
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
setSourceUri
(
URI_STRING
).
setAdTagUri
(
adTagUri
).
build
();
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
setUri
(
URI_STRING
).
setAdTagUri
(
adTagUri
).
build
();
assertThat
(
mediaItem
.
playbackProperties
.
adTagUri
).
isEqualTo
(
adTagUri
);
}
...
...
@@ -284,7 +280,7 @@ public class MediaItemTest {
MediaMetadata
mediaMetadata
=
new
MediaMetadata
.
Builder
().
setTitle
(
"title"
).
build
();
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
set
Source
Uri
(
URI_STRING
).
setMediaMetadata
(
mediaMetadata
).
build
();
new
MediaItem
.
Builder
().
setUri
(
URI_STRING
).
setMediaMetadata
(
mediaMetadata
).
build
();
assertThat
(
mediaItem
.
mediaMetadata
).
isEqualTo
(
mediaMetadata
);
}
...
...
@@ -311,7 +307,7 @@ public class MediaItemTest {
.
setMediaId
(
"mediaId"
)
.
setMediaMetadata
(
new
MediaMetadata
.
Builder
().
setTitle
(
"title"
).
build
())
.
setMimeType
(
MimeTypes
.
APPLICATION_MP4
)
.
set
Source
Uri
(
URI_STRING
)
.
setUri
(
URI_STRING
)
.
setStreamKeys
(
Collections
.
singletonList
(
new
StreamKey
(
1
,
0
,
0
)))
.
setSubtitles
(
Collections
.
singletonList
(
...
...
library/core/src/main/java/com/google/android/exoplayer2/source/DefaultMediaSourceFactory.java
View file @
b22783f8
...
...
@@ -52,25 +52,24 @@ import java.util.Map;
* factories:
*
* <ul>
* <li>{@code DashMediaSource.Factory} if the item's {@link MediaItem.PlaybackProperties#
sourceUri
*
sourceUri} ends in '.mpd' or if its {@link MediaItem.PlaybackProperties#mimeType mimeType
*
field} is
explicitly set to {@link MimeTypes#APPLICATION_MPD} (Requires the <a
* <li>{@code DashMediaSource.Factory} if the item's {@link MediaItem.PlaybackProperties#
uri uri}
*
ends in '.mpd' or if its {@link MediaItem.PlaybackProperties#mimeType mimeType field} is
* explicitly set to {@link MimeTypes#APPLICATION_MPD} (Requires the <a
* href="https://exoplayer.dev/hello-world.html#add-exoplayer-modules">exoplayer-dash module
* to be added</a> to the app).
* <li>{@code HlsMediaSource.Factory} if the item's {@link MediaItem.PlaybackProperties#
sourceUri
*
sourceUri} ends in '.m3u8' or if its {@link MediaItem.PlaybackProperties#mimeType mimeType
*
field} is
explicitly set to {@link MimeTypes#APPLICATION_M3U8} (Requires the <a
* <li>{@code HlsMediaSource.Factory} if the item's {@link MediaItem.PlaybackProperties#
uri uri}
*
ends in '.m3u8' or if its {@link MediaItem.PlaybackProperties#mimeType mimeType field} is
* explicitly set to {@link MimeTypes#APPLICATION_M3U8} (Requires the <a
* href="https://exoplayer.dev/hello-world.html#add-exoplayer-modules">exoplayer-hls module to
* be added</a> to the app).
* <li>{@code SsMediaSource.Factory} if the item's {@link MediaItem.PlaybackProperties#sourceUri
* sourceUri} ends in '.ism', '.ism/Manifest' or if its {@link
* MediaItem.PlaybackProperties#mimeType mimeType field} is explicitly set to {@link
* MimeTypes#APPLICATION_SS} (Requires the <a
* <li>{@code SsMediaSource.Factory} if the item's {@link MediaItem.PlaybackProperties#uri uri}
* ends in '.ism', '.ism/Manifest' or if its {@link MediaItem.PlaybackProperties#mimeType
* mimeType field} is explicitly set to {@link MimeTypes#APPLICATION_SS} (Requires the <a
* href="https://exoplayer.dev/hello-world.html#add-exoplayer-modules">
* exoplayer-smoothstreaming module to be added</a> to the app).
* <li>{@link ProgressiveMediaSource.Factory} serves as a fallback if the item's {@link
* MediaItem.PlaybackProperties#
sourceUri sourceUri} doesn't match one of the above. It tries
*
to infer the
required extractor by using the {@link
* MediaItem.PlaybackProperties#
uri uri} doesn't match one of the above. It tries to infer the
* required extractor by using the {@link
* com.google.android.exoplayer2.extractor.DefaultExtractorsFactory}. An {@link
* UnrecognizedInputFormatException} is thrown if none of the available extractors can read
* the stream.
...
...
@@ -249,7 +248,7 @@ public final class DefaultMediaSourceFactory implements MediaSourceFactory {
@C
.
ContentType
int
type
=
Util
.
inferContentTypeWithMimeType
(
mediaItem
.
playbackProperties
.
sourceU
ri
,
mediaItem
.
playbackProperties
.
mimeType
);
mediaItem
.
playbackProperties
.
u
ri
,
mediaItem
.
playbackProperties
.
mimeType
);
@Nullable
MediaSourceFactory
mediaSourceFactory
=
mediaSourceFactories
.
get
(
type
);
Assertions
.
checkNotNull
(
mediaSourceFactory
,
"No suitable media source factory found for content type: "
+
type
);
...
...
library/core/src/main/java/com/google/android/exoplayer2/source/ExtractorMediaSource.java
View file @
b22783f8
...
...
@@ -173,7 +173,7 @@ public final class ExtractorMediaSource extends CompositeMediaSource<Void> {
@Deprecated
@Override
public
ExtractorMediaSource
createMediaSource
(
Uri
uri
)
{
return
createMediaSource
(
new
MediaItem
.
Builder
().
set
Source
Uri
(
uri
).
build
());
return
createMediaSource
(
new
MediaItem
.
Builder
().
setUri
(
uri
).
build
());
}
/**
...
...
@@ -187,7 +187,7 @@ public final class ExtractorMediaSource extends CompositeMediaSource<Void> {
public
ExtractorMediaSource
createMediaSource
(
MediaItem
mediaItem
)
{
Assertions
.
checkNotNull
(
mediaItem
.
playbackProperties
);
return
new
ExtractorMediaSource
(
mediaItem
.
playbackProperties
.
sourceU
ri
,
mediaItem
.
playbackProperties
.
u
ri
,
dataSourceFactory
,
extractorsFactory
,
loadErrorHandlingPolicy
,
...
...
library/core/src/main/java/com/google/android/exoplayer2/source/ProgressiveMediaSource.java
View file @
b22783f8
...
...
@@ -166,7 +166,7 @@ public final class ProgressiveMediaSource extends BaseMediaSource
@Deprecated
@Override
public
ProgressiveMediaSource
createMediaSource
(
Uri
uri
)
{
return
createMediaSource
(
new
MediaItem
.
Builder
().
set
Source
Uri
(
uri
).
build
());
return
createMediaSource
(
new
MediaItem
.
Builder
().
setUri
(
uri
).
build
());
}
/**
...
...
@@ -180,7 +180,7 @@ public final class ProgressiveMediaSource extends BaseMediaSource
public
ProgressiveMediaSource
createMediaSource
(
MediaItem
mediaItem
)
{
Assertions
.
checkNotNull
(
mediaItem
.
playbackProperties
);
return
new
ProgressiveMediaSource
(
mediaItem
.
playbackProperties
.
sourceU
ri
,
mediaItem
.
playbackProperties
.
u
ri
,
dataSourceFactory
,
extractorsFactory
,
drmSessionManager
,
...
...
library/core/src/test/java/com/google/android/exoplayer2/source/DefaultMediaSourceFactoryTest.java
View file @
b22783f8
...
...
@@ -46,7 +46,7 @@ public final class DefaultMediaSourceFactoryTest {
public
void
createMediaSource_withoutMimeType_progressiveSource
()
{
DefaultMediaSourceFactory
defaultMediaSourceFactory
=
DefaultMediaSourceFactory
.
newInstance
(
ApplicationProvider
.
getApplicationContext
());
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
set
Source
Uri
(
URI_MEDIA
).
build
();
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
setUri
(
URI_MEDIA
).
build
();
MediaSource
mediaSource
=
defaultMediaSourceFactory
.
createMediaSource
(
mediaItem
);
...
...
@@ -58,7 +58,7 @@ public final class DefaultMediaSourceFactoryTest {
Object
tag
=
new
Object
();
DefaultMediaSourceFactory
defaultMediaSourceFactory
=
DefaultMediaSourceFactory
.
newInstance
(
ApplicationProvider
.
getApplicationContext
());
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
set
Source
Uri
(
URI_MEDIA
).
setTag
(
tag
).
build
();
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
setUri
(
URI_MEDIA
).
setTag
(
tag
).
build
();
MediaSource
mediaSource
=
defaultMediaSourceFactory
.
createMediaSource
(
mediaItem
);
...
...
@@ -69,7 +69,7 @@ public final class DefaultMediaSourceFactoryTest {
public
void
createMediaSource_withPath_progressiveSource
()
{
DefaultMediaSourceFactory
defaultMediaSourceFactory
=
DefaultMediaSourceFactory
.
newInstance
(
ApplicationProvider
.
getApplicationContext
());
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
set
Source
Uri
(
URI_MEDIA
+
"/file.mp3"
).
build
();
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
setUri
(
URI_MEDIA
+
"/file.mp3"
).
build
();
MediaSource
mediaSource
=
defaultMediaSourceFactory
.
createMediaSource
(
mediaItem
);
...
...
@@ -80,7 +80,7 @@ public final class DefaultMediaSourceFactoryTest {
public
void
createMediaSource_withNull_usesNonNullDefaults
()
{
DefaultMediaSourceFactory
defaultMediaSourceFactory
=
DefaultMediaSourceFactory
.
newInstance
(
ApplicationProvider
.
getApplicationContext
());
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
set
Source
Uri
(
URI_MEDIA
).
build
();
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
setUri
(
URI_MEDIA
).
build
();
MediaSource
mediaSource
=
defaultMediaSourceFactory
...
...
@@ -101,8 +101,7 @@ public final class DefaultMediaSourceFactoryTest {
new
MediaItem
.
Subtitle
(
Uri
.
parse
(
URI_TEXT
),
MimeTypes
.
APPLICATION_TTML
,
"en"
),
new
MediaItem
.
Subtitle
(
Uri
.
parse
(
URI_TEXT
),
MimeTypes
.
APPLICATION_TTML
,
"de"
,
C
.
SELECTION_FLAG_DEFAULT
));
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
setSourceUri
(
URI_MEDIA
).
setSubtitles
(
subtitles
).
build
();
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
setUri
(
URI_MEDIA
).
setSubtitles
(
subtitles
).
build
();
MediaSource
mediaSource
=
defaultMediaSourceFactory
.
createMediaSource
(
mediaItem
);
...
...
@@ -117,7 +116,7 @@ public final class DefaultMediaSourceFactoryTest {
MediaItem
mediaItem
=
new
MediaItem
.
Builder
()
.
setTag
(
tag
)
.
set
Source
Uri
(
URI_MEDIA
)
.
setUri
(
URI_MEDIA
)
.
setSubtitles
(
Collections
.
singletonList
(
new
MediaItem
.
Subtitle
(
Uri
.
parse
(
URI_TEXT
),
MimeTypes
.
APPLICATION_TTML
,
"en"
)))
...
...
@@ -133,7 +132,7 @@ public final class DefaultMediaSourceFactoryTest {
DefaultMediaSourceFactory
defaultMediaSourceFactory
=
DefaultMediaSourceFactory
.
newInstance
(
ApplicationProvider
.
getApplicationContext
());
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
set
Source
Uri
(
URI_MEDIA
).
setClipStartPositionMs
(
1000L
).
build
();
new
MediaItem
.
Builder
().
setUri
(
URI_MEDIA
).
setClipStartPositionMs
(
1000L
).
build
();
MediaSource
mediaSource
=
defaultMediaSourceFactory
.
createMediaSource
(
mediaItem
);
...
...
@@ -145,7 +144,7 @@ public final class DefaultMediaSourceFactoryTest {
DefaultMediaSourceFactory
defaultMediaSourceFactory
=
DefaultMediaSourceFactory
.
newInstance
(
ApplicationProvider
.
getApplicationContext
());
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
set
Source
Uri
(
URI_MEDIA
).
setClipEndPositionMs
(
1000L
).
build
();
new
MediaItem
.
Builder
().
setUri
(
URI_MEDIA
).
setClipEndPositionMs
(
1000L
).
build
();
MediaSource
mediaSource
=
defaultMediaSourceFactory
.
createMediaSource
(
mediaItem
);
...
...
@@ -157,10 +156,7 @@ public final class DefaultMediaSourceFactoryTest {
DefaultMediaSourceFactory
defaultMediaSourceFactory
=
DefaultMediaSourceFactory
.
newInstance
(
ApplicationProvider
.
getApplicationContext
());
MediaItem
mediaItem
=
new
MediaItem
.
Builder
()
.
setSourceUri
(
URI_MEDIA
)
.
setClipRelativeToDefaultPosition
(
true
)
.
build
();
new
MediaItem
.
Builder
().
setUri
(
URI_MEDIA
).
setClipRelativeToDefaultPosition
(
true
).
build
();
MediaSource
mediaSource
=
defaultMediaSourceFactory
.
createMediaSource
(
mediaItem
);
...
...
@@ -173,7 +169,7 @@ public final class DefaultMediaSourceFactoryTest {
DefaultMediaSourceFactory
.
newInstance
(
ApplicationProvider
.
getApplicationContext
());
MediaItem
mediaItem
=
new
MediaItem
.
Builder
()
.
set
Source
Uri
(
URI_MEDIA
)
.
setUri
(
URI_MEDIA
)
.
setClipEndPositionMs
(
C
.
TIME_END_OF_SOURCE
)
.
build
();
...
...
@@ -195,8 +191,7 @@ public final class DefaultMediaSourceFactoryTest {
public
void
createMediaSource_withAdTagUri_callsAdsLoader
()
{
Context
applicationContext
=
ApplicationProvider
.
getApplicationContext
();
Uri
adTagUri
=
Uri
.
parse
(
URI_MEDIA
);
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
setSourceUri
(
URI_MEDIA
).
setAdTagUri
(
adTagUri
).
build
();
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
setUri
(
URI_MEDIA
).
setAdTagUri
(
adTagUri
).
build
();
DefaultMediaSourceFactory
defaultMediaSourceFactory
=
new
DefaultMediaSourceFactory
(
applicationContext
,
...
...
@@ -212,7 +207,7 @@ public final class DefaultMediaSourceFactoryTest {
public
void
createMediaSource_withAdTagUriAdsLoaderNull_playsWithoutAdNoException
()
{
Context
applicationContext
=
ApplicationProvider
.
getApplicationContext
();
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
set
Source
Uri
(
URI_MEDIA
).
setAdTagUri
(
Uri
.
parse
(
URI_MEDIA
)).
build
();
new
MediaItem
.
Builder
().
setUri
(
URI_MEDIA
).
setAdTagUri
(
Uri
.
parse
(
URI_MEDIA
)).
build
();
DefaultMediaSourceFactory
defaultMediaSourceFactory
=
new
DefaultMediaSourceFactory
(
applicationContext
,
...
...
@@ -228,7 +223,7 @@ public final class DefaultMediaSourceFactoryTest {
public
void
createMediaSource_withAdTagUriProvidersNull_playsWithoutAdNoException
()
{
Context
applicationContext
=
ApplicationProvider
.
getApplicationContext
();
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
set
Source
Uri
(
URI_MEDIA
).
setAdTagUri
(
Uri
.
parse
(
URI_MEDIA
)).
build
();
new
MediaItem
.
Builder
().
setUri
(
URI_MEDIA
).
setAdTagUri
(
Uri
.
parse
(
URI_MEDIA
)).
build
();
MediaSource
mediaSource
=
DefaultMediaSourceFactory
.
newInstance
(
applicationContext
).
createMediaSource
(
mediaItem
);
...
...
library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java
View file @
b22783f8
...
...
@@ -313,7 +313,7 @@ public final class DashMediaSource extends BaseMediaSource {
@Deprecated
@Override
public
DashMediaSource
createMediaSource
(
Uri
uri
)
{
return
createMediaSource
(
new
MediaItem
.
Builder
().
set
Source
Uri
(
uri
).
build
());
return
createMediaSource
(
new
MediaItem
.
Builder
().
setUri
(
uri
).
build
());
}
/**
...
...
@@ -339,7 +339,7 @@ public final class DashMediaSource extends BaseMediaSource {
}
return
new
DashMediaSource
(
/* manifest= */
null
,
mediaItem
.
playbackProperties
.
sourceU
ri
,
mediaItem
.
playbackProperties
.
u
ri
,
manifestDataSourceFactory
,
manifestParser
,
chunkSourceFactory
,
...
...
library/dash/src/test/java/com/google/android/exoplayer2/source/dash/DefaultMediaSourceFactoryTest.java
View file @
b22783f8
...
...
@@ -38,10 +38,7 @@ public class DefaultMediaSourceFactoryTest {
DefaultMediaSourceFactory
defaultMediaSourceFactory
=
DefaultMediaSourceFactory
.
newInstance
(
ApplicationProvider
.
getApplicationContext
());
MediaItem
mediaItem
=
new
MediaItem
.
Builder
()
.
setSourceUri
(
URI_MEDIA
)
.
setMimeType
(
MimeTypes
.
APPLICATION_MPD
)
.
build
();
new
MediaItem
.
Builder
().
setUri
(
URI_MEDIA
).
setMimeType
(
MimeTypes
.
APPLICATION_MPD
).
build
();
MediaSource
mediaSource
=
defaultMediaSourceFactory
.
createMediaSource
(
mediaItem
);
...
...
@@ -55,7 +52,7 @@ public class DefaultMediaSourceFactoryTest {
DefaultMediaSourceFactory
.
newInstance
(
ApplicationProvider
.
getApplicationContext
());
MediaItem
mediaItem
=
new
MediaItem
.
Builder
()
.
set
Source
Uri
(
URI_MEDIA
)
.
setUri
(
URI_MEDIA
)
.
setMimeType
(
MimeTypes
.
APPLICATION_MPD
)
.
setTag
(
tag
)
.
build
();
...
...
@@ -69,7 +66,7 @@ public class DefaultMediaSourceFactoryTest {
public
void
createMediaSource_withPath_dashSource
()
{
DefaultMediaSourceFactory
defaultMediaSourceFactory
=
DefaultMediaSourceFactory
.
newInstance
(
ApplicationProvider
.
getApplicationContext
());
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
set
Source
Uri
(
URI_MEDIA
+
"/file.mpd"
).
build
();
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
setUri
(
URI_MEDIA
+
"/file.mpd"
).
build
();
MediaSource
mediaSource
=
defaultMediaSourceFactory
.
createMediaSource
(
mediaItem
);
...
...
@@ -80,7 +77,7 @@ public class DefaultMediaSourceFactoryTest {
public
void
createMediaSource_withNull_usesNonNullDefaults
()
{
DefaultMediaSourceFactory
defaultMediaSourceFactory
=
DefaultMediaSourceFactory
.
newInstance
(
ApplicationProvider
.
getApplicationContext
());
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
set
Source
Uri
(
URI_MEDIA
+
"/file.mpd"
).
build
();
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
setUri
(
URI_MEDIA
+
"/file.mpd"
).
build
();
MediaSource
mediaSource
=
defaultMediaSourceFactory
...
...
library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaSource.java
View file @
b22783f8
...
...
@@ -332,7 +332,7 @@ public final class HlsMediaSource extends BaseMediaSource
@Deprecated
@Override
public
HlsMediaSource
createMediaSource
(
Uri
uri
)
{
return
createMediaSource
(
new
MediaItem
.
Builder
().
set
Source
Uri
(
uri
).
build
());
return
createMediaSource
(
new
MediaItem
.
Builder
().
setUri
(
uri
).
build
());
}
/**
...
...
@@ -355,7 +355,7 @@ public final class HlsMediaSource extends BaseMediaSource
new
FilteringHlsPlaylistParserFactory
(
playlistParserFactory
,
streamKeys
);
}
return
new
HlsMediaSource
(
mediaItem
.
playbackProperties
.
sourceU
ri
,
mediaItem
.
playbackProperties
.
u
ri
,
hlsDataSourceFactory
,
extractorFactory
,
compositeSequenceableLoaderFactory
,
...
...
library/hls/src/test/java/com/google/android/exoplayer2/source/hls/DefaultMediaSourceFactoryTest.java
View file @
b22783f8
...
...
@@ -38,10 +38,7 @@ public class DefaultMediaSourceFactoryTest {
DefaultMediaSourceFactory
defaultMediaSourceFactory
=
DefaultMediaSourceFactory
.
newInstance
(
ApplicationProvider
.
getApplicationContext
());
MediaItem
mediaItem
=
new
MediaItem
.
Builder
()
.
setSourceUri
(
URI_MEDIA
)
.
setMimeType
(
MimeTypes
.
APPLICATION_M3U8
)
.
build
();
new
MediaItem
.
Builder
().
setUri
(
URI_MEDIA
).
setMimeType
(
MimeTypes
.
APPLICATION_M3U8
).
build
();
MediaSource
mediaSource
=
defaultMediaSourceFactory
.
createMediaSource
(
mediaItem
);
...
...
@@ -55,7 +52,7 @@ public class DefaultMediaSourceFactoryTest {
DefaultMediaSourceFactory
.
newInstance
(
ApplicationProvider
.
getApplicationContext
());
MediaItem
mediaItem
=
new
MediaItem
.
Builder
()
.
set
Source
Uri
(
URI_MEDIA
)
.
setUri
(
URI_MEDIA
)
.
setMimeType
(
MimeTypes
.
APPLICATION_M3U8
)
.
setTag
(
tag
)
.
build
();
...
...
@@ -69,7 +66,7 @@ public class DefaultMediaSourceFactoryTest {
public
void
createMediaSource_withPath_hlsSource
()
{
DefaultMediaSourceFactory
defaultMediaSourceFactory
=
DefaultMediaSourceFactory
.
newInstance
(
ApplicationProvider
.
getApplicationContext
());
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
set
Source
Uri
(
URI_MEDIA
+
"/file.m3u8"
).
build
();
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
setUri
(
URI_MEDIA
+
"/file.m3u8"
).
build
();
MediaSource
mediaSource
=
defaultMediaSourceFactory
.
createMediaSource
(
mediaItem
);
...
...
@@ -80,7 +77,7 @@ public class DefaultMediaSourceFactoryTest {
public
void
createMediaSource_withNull_usesNonNullDefaults
()
{
DefaultMediaSourceFactory
defaultMediaSourceFactory
=
DefaultMediaSourceFactory
.
newInstance
(
ApplicationProvider
.
getApplicationContext
());
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
set
Source
Uri
(
URI_MEDIA
+
"/file.m3u8"
).
build
();
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
setUri
(
URI_MEDIA
+
"/file.m3u8"
).
build
();
MediaSource
mediaSource
=
defaultMediaSourceFactory
...
...
library/smoothstreaming/src/main/java/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSource.java
View file @
b22783f8
...
...
@@ -223,7 +223,7 @@ public final class SsMediaSource extends BaseMediaSource
@Deprecated
@Override
public
SsMediaSource
createMediaSource
(
Uri
uri
)
{
return
createMediaSource
(
new
MediaItem
.
Builder
().
set
Source
Uri
(
uri
).
build
());
return
createMediaSource
(
new
MediaItem
.
Builder
().
setUri
(
uri
).
build
());
}
/**
...
...
@@ -307,7 +307,7 @@ public final class SsMediaSource extends BaseMediaSource
}
return
new
SsMediaSource
(
/* manifest= */
null
,
mediaItem
.
playbackProperties
.
sourceU
ri
,
mediaItem
.
playbackProperties
.
u
ri
,
manifestDataSourceFactory
,
manifestParser
,
chunkSourceFactory
,
...
...
library/smoothstreaming/src/test/java/com/google/android/exoplayer2/source/smoothstreaming/DefaultMediaSourceFactoryTest.java
View file @
b22783f8
...
...
@@ -40,10 +40,7 @@ public class DefaultMediaSourceFactoryTest {
DefaultMediaSourceFactory
defaultMediaSourceFactory
=
DefaultMediaSourceFactory
.
newInstance
(
ApplicationProvider
.
getApplicationContext
());
MediaItem
mediaItem
=
new
MediaItem
.
Builder
()
.
setSourceUri
(
URI_MEDIA
)
.
setMimeType
(
MimeTypes
.
APPLICATION_SS
)
.
build
();
new
MediaItem
.
Builder
().
setUri
(
URI_MEDIA
).
setMimeType
(
MimeTypes
.
APPLICATION_SS
).
build
();
MediaSource
mediaSource
=
defaultMediaSourceFactory
.
createMediaSource
(
mediaItem
);
assertThat
(
mediaSource
).
isInstanceOf
(
SsMediaSource
.
class
);
}
...
...
@@ -55,7 +52,7 @@ public class DefaultMediaSourceFactoryTest {
DefaultMediaSourceFactory
.
newInstance
(
ApplicationProvider
.
getApplicationContext
());
MediaItem
mediaItem
=
new
MediaItem
.
Builder
()
.
set
Source
Uri
(
URI_MEDIA
)
.
setUri
(
URI_MEDIA
)
.
setMimeType
(
MimeTypes
.
APPLICATION_SS
)
.
setTag
(
tag
)
.
build
();
...
...
@@ -69,7 +66,7 @@ public class DefaultMediaSourceFactoryTest {
public
void
createMediaSource_withIsmPath_smoothstreamingSource
()
{
DefaultMediaSourceFactory
defaultMediaSourceFactory
=
DefaultMediaSourceFactory
.
newInstance
(
ApplicationProvider
.
getApplicationContext
());
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
set
Source
Uri
(
URI_MEDIA
+
"/file.ism"
).
build
();
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
setUri
(
URI_MEDIA
+
"/file.ism"
).
build
();
MediaSource
mediaSource
=
defaultMediaSourceFactory
.
createMediaSource
(
mediaItem
);
...
...
@@ -80,7 +77,7 @@ public class DefaultMediaSourceFactoryTest {
public
void
createMediaSource_withManifestPath_smoothstreamingSource
()
{
DefaultMediaSourceFactory
defaultMediaSourceFactory
=
DefaultMediaSourceFactory
.
newInstance
(
ApplicationProvider
.
getApplicationContext
());
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
set
Source
Uri
(
URI_MEDIA
+
".ism/Manifest"
).
build
();
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
setUri
(
URI_MEDIA
+
".ism/Manifest"
).
build
();
MediaSource
mediaSource
=
defaultMediaSourceFactory
.
createMediaSource
(
mediaItem
);
...
...
@@ -91,7 +88,7 @@ public class DefaultMediaSourceFactoryTest {
public
void
createMediaSource_withNull_usesNonNullDefaults
()
{
DefaultMediaSourceFactory
defaultMediaSourceFactory
=
DefaultMediaSourceFactory
.
newInstance
(
ApplicationProvider
.
getApplicationContext
());
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
set
Source
Uri
(
URI_MEDIA
+
"/file.ism"
).
build
();
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
setUri
(
URI_MEDIA
+
"/file.ism"
).
build
();
MediaSource
mediaSource
=
defaultMediaSourceFactory
...
...
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