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
bb7c9348
authored
Oct 13, 2020
by
bachinger
Committed by
Oliver Woodman
Oct 17, 2020
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Add missing properties of MediaItem.Subtitle
Issue: #8044 PiperOrigin-RevId: 336955479
parent
2e5f2f12
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
49 additions
and
7 deletions
library/common/src/main/java/com/google/android/exoplayer2/MediaItem.java
library/common/src/test/java/com/google/android/exoplayer2/MediaItemTest.java
library/core/src/main/java/com/google/android/exoplayer2/source/SingleSampleMediaSource.java
library/common/src/main/java/com/google/android/exoplayer2/MediaItem.java
View file @
bb7c9348
...
@@ -778,6 +778,10 @@ public final class MediaItem {
...
@@ -778,6 +778,10 @@ public final class MediaItem {
@Nullable
public
final
String
language
;
@Nullable
public
final
String
language
;
/** The selection flags. */
/** The selection flags. */
@C
.
SelectionFlags
public
final
int
selectionFlags
;
@C
.
SelectionFlags
public
final
int
selectionFlags
;
/** The role flags. */
@C
.
RoleFlags
public
final
int
roleFlags
;
/** The label. */
@Nullable
public
final
String
label
;
/**
/**
* Creates an instance.
* Creates an instance.
...
@@ -791,7 +795,7 @@ public final class MediaItem {
...
@@ -791,7 +795,7 @@ public final class MediaItem {
}
}
/**
/**
* Creates an instance
with the given selection flags
.
* Creates an instance.
*
*
* @param uri The {@link Uri URI} to the subtitle file.
* @param uri The {@link Uri URI} to the subtitle file.
* @param mimeType The MIME type.
* @param mimeType The MIME type.
...
@@ -800,10 +804,32 @@ public final class MediaItem {
...
@@ -800,10 +804,32 @@ public final class MediaItem {
*/
*/
public
Subtitle
(
public
Subtitle
(
Uri
uri
,
String
mimeType
,
@Nullable
String
language
,
@C
.
SelectionFlags
int
selectionFlags
)
{
Uri
uri
,
String
mimeType
,
@Nullable
String
language
,
@C
.
SelectionFlags
int
selectionFlags
)
{
this
(
uri
,
mimeType
,
language
,
selectionFlags
,
/* roleFlags= */
0
,
/* label= */
null
);
}
/**
* Creates an instance.
*
* @param uri The {@link Uri URI} to the subtitle file.
* @param mimeType The MIME type.
* @param language The optional language.
* @param selectionFlags The selection flags.
* @param roleFlags The role flags.
* @param label The optional label.
*/
public
Subtitle
(
Uri
uri
,
String
mimeType
,
@Nullable
String
language
,
@C
.
SelectionFlags
int
selectionFlags
,
@C
.
RoleFlags
int
roleFlags
,
@Nullable
String
label
)
{
this
.
uri
=
uri
;
this
.
uri
=
uri
;
this
.
mimeType
=
mimeType
;
this
.
mimeType
=
mimeType
;
this
.
language
=
language
;
this
.
language
=
language
;
this
.
selectionFlags
=
selectionFlags
;
this
.
selectionFlags
=
selectionFlags
;
this
.
roleFlags
=
roleFlags
;
this
.
label
=
label
;
}
}
@Override
@Override
...
@@ -820,7 +846,9 @@ public final class MediaItem {
...
@@ -820,7 +846,9 @@ public final class MediaItem {
return
uri
.
equals
(
other
.
uri
)
return
uri
.
equals
(
other
.
uri
)
&&
mimeType
.
equals
(
other
.
mimeType
)
&&
mimeType
.
equals
(
other
.
mimeType
)
&&
Util
.
areEqual
(
language
,
other
.
language
)
&&
Util
.
areEqual
(
language
,
other
.
language
)
&&
selectionFlags
==
other
.
selectionFlags
;
&&
selectionFlags
==
other
.
selectionFlags
&&
roleFlags
==
other
.
roleFlags
&&
Util
.
areEqual
(
label
,
other
.
label
);
}
}
@Override
@Override
...
@@ -829,6 +857,8 @@ public final class MediaItem {
...
@@ -829,6 +857,8 @@ public final class MediaItem {
result
=
31
*
result
+
mimeType
.
hashCode
();
result
=
31
*
result
+
mimeType
.
hashCode
();
result
=
31
*
result
+
(
language
==
null
?
0
:
language
.
hashCode
());
result
=
31
*
result
+
(
language
==
null
?
0
:
language
.
hashCode
());
result
=
31
*
result
+
selectionFlags
;
result
=
31
*
result
+
selectionFlags
;
result
=
31
*
result
+
roleFlags
;
result
=
31
*
result
+
(
label
==
null
?
0
:
label
.
hashCode
());
return
result
;
return
result
;
}
}
}
}
...
...
library/common/src/test/java/com/google/android/exoplayer2/MediaItemTest.java
View file @
bb7c9348
...
@@ -173,7 +173,14 @@ public class MediaItemTest {
...
@@ -173,7 +173,14 @@ public class MediaItemTest {
Uri
.
parse
(
URI_STRING
+
"/de"
),
Uri
.
parse
(
URI_STRING
+
"/de"
),
MimeTypes
.
APPLICATION_TTML
,
MimeTypes
.
APPLICATION_TTML
,
/* language= */
null
,
/* language= */
null
,
C
.
SELECTION_FLAG_DEFAULT
));
C
.
SELECTION_FLAG_DEFAULT
),
new
MediaItem
.
Subtitle
(
Uri
.
parse
(
URI_STRING
+
"/fr"
),
MimeTypes
.
APPLICATION_SUBRIP
,
/* language= */
"fr"
,
C
.
SELECTION_FLAG_DEFAULT
,
C
.
ROLE_FLAG_ALTERNATE
,
"label"
));
MediaItem
mediaItem
=
MediaItem
mediaItem
=
new
MediaItem
.
Builder
().
setUri
(
URI_STRING
).
setSubtitles
(
subtitles
).
build
();
new
MediaItem
.
Builder
().
setUri
(
URI_STRING
).
setSubtitles
(
subtitles
).
build
();
...
@@ -336,15 +343,18 @@ public class MediaItemTest {
...
@@ -336,15 +343,18 @@ public class MediaItemTest {
.
setMimeType
(
MimeTypes
.
APPLICATION_MP4
)
.
setMimeType
(
MimeTypes
.
APPLICATION_MP4
)
.
setUri
(
URI_STRING
)
.
setUri
(
URI_STRING
)
.
setStreamKeys
(
Collections
.
singletonList
(
new
StreamKey
(
1
,
0
,
0
)))
.
setStreamKeys
(
Collections
.
singletonList
(
new
StreamKey
(
1
,
0
,
0
)))
.
setLiveTargetOffsetMs
(
20_000
)
.
setLiveMinPlaybackSpeed
(.
9
f
)
.
setLiveMaxPlaybackSpeed
(
1.1f
)
.
setSubtitles
(
.
setSubtitles
(
Collections
.
singletonList
(
Collections
.
singletonList
(
new
MediaItem
.
Subtitle
(
new
MediaItem
.
Subtitle
(
Uri
.
parse
(
URI_STRING
+
"/en"
),
Uri
.
parse
(
URI_STRING
+
"/en"
),
MimeTypes
.
APPLICATION_TTML
,
MimeTypes
.
APPLICATION_TTML
,
/* language= */
"en"
)))
/* language= */
"en"
,
.
setLiveTargetOffsetMs
(
20_000
)
C
.
SELECTION_FLAG_FORCED
,
.
setLiveMinPlaybackSpeed
(.
9
f
)
C
.
ROLE_FLAG_ALTERNATE
,
.
setLiveMaxPlaybackSpeed
(
1.1f
)
"label"
))
)
.
setTag
(
new
Object
())
.
setTag
(
new
Object
())
.
build
();
.
build
();
...
...
library/core/src/main/java/com/google/android/exoplayer2/source/SingleSampleMediaSource.java
View file @
bb7c9348
...
@@ -281,6 +281,8 @@ public final class SingleSampleMediaSource extends BaseMediaSource {
...
@@ -281,6 +281,8 @@ public final class SingleSampleMediaSource extends BaseMediaSource {
.
setSampleMimeType
(
subtitle
.
mimeType
)
.
setSampleMimeType
(
subtitle
.
mimeType
)
.
setLanguage
(
subtitle
.
language
)
.
setLanguage
(
subtitle
.
language
)
.
setSelectionFlags
(
subtitle
.
selectionFlags
)
.
setSelectionFlags
(
subtitle
.
selectionFlags
)
.
setRoleFlags
(
subtitle
.
roleFlags
)
.
setLabel
(
subtitle
.
label
)
.
build
();
.
build
();
dataSpec
=
dataSpec
=
new
DataSpec
.
Builder
().
setUri
(
subtitle
.
uri
).
setFlags
(
DataSpec
.
FLAG_ALLOW_GZIP
).
build
();
new
DataSpec
.
Builder
().
setUri
(
subtitle
.
uri
).
setFlags
(
DataSpec
.
FLAG_ALLOW_GZIP
).
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