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
d7c2519a
authored
Mar 07, 2019
by
Arnold Szabo
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Fixes according to the code review
parent
85441996
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
126 additions
and
110 deletions
library/core/src/main/java/com/google/android/exoplayer2/C.java
library/core/src/main/java/com/google/android/exoplayer2/Format.java
library/dash/src/main/java/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.java
library/dash/src/test/java/com/google/android/exoplayer2/source/dash/DashMediaPeriodTest.java
library/dash/src/test/java/com/google/android/exoplayer2/source/dash/DashUtilTest.java
library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaPeriod.java
library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist.java
library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.java
library/smoothstreaming/src/main/java/com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser.java
library/core/src/main/java/com/google/android/exoplayer2/C.java
View file @
d7c2519a
...
@@ -977,7 +977,10 @@ public final class C {
...
@@ -977,7 +977,10 @@ public final class C {
public
static
final
int
NETWORK_TYPE_OTHER
=
8
;
public
static
final
int
NETWORK_TYPE_OTHER
=
8
;
/**
/**
* Adaptation set's role and accessibility descriptor value.
* Track role flags. Possible values are {@link #ROLE_FLAGS_MAIN}, {@link #ROLE_FLAGS_ALTERNATE},
* {@link #ROLE_FLAGS_SUPPLEMENTARY}, {@link #ROLE_FLAGS_COMMENTARY}, {@link #ROLE_FLAGS_DUB},
* {@link #ROLE_FLAGS_EMERGENCY}, {@link #ROLE_FLAGS_CAPTION}, {@link #ROLE_FLAGS_SIGN},
* {@link #ROLE_FLAGS_ENHANCED_AUDIO_INTELLIGIBILITY}, {@link #ROLE_FLAGS_DESCRIPTION}.
*/
*/
@Documented
@Documented
@Retention
(
RetentionPolicy
.
SOURCE
)
@Retention
(
RetentionPolicy
.
SOURCE
)
...
...
library/core/src/main/java/com/google/android/exoplayer2/Format.java
View file @
d7c2519a
This diff is collapsed.
Click to expand it.
library/dash/src/main/java/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.java
View file @
d7c2519a
...
@@ -279,7 +279,6 @@ public class DashManifestParser extends DefaultHandler
...
@@ -279,7 +279,6 @@ public class DashManifestParser extends DefaultHandler
ArrayList
<
Descriptor
>
roleDescriptors
=
new
ArrayList
<>();
ArrayList
<
Descriptor
>
roleDescriptors
=
new
ArrayList
<>();
ArrayList
<
Descriptor
>
supplementalProperties
=
new
ArrayList
<>();
ArrayList
<
Descriptor
>
supplementalProperties
=
new
ArrayList
<>();
List
<
RepresentationInfo
>
representationInfos
=
new
ArrayList
<>();
List
<
RepresentationInfo
>
representationInfos
=
new
ArrayList
<>();
@C
.
SelectionFlags
int
selectionFlags
=
0
;
boolean
seenFirstBaseUrl
=
false
;
boolean
seenFirstBaseUrl
=
false
;
do
{
do
{
...
@@ -301,9 +300,7 @@ public class DashManifestParser extends DefaultHandler
...
@@ -301,9 +300,7 @@ public class DashManifestParser extends DefaultHandler
language
=
checkLanguageConsistency
(
language
,
xpp
.
getAttributeValue
(
null
,
"lang"
));
language
=
checkLanguageConsistency
(
language
,
xpp
.
getAttributeValue
(
null
,
"lang"
));
contentType
=
checkContentTypeConsistency
(
contentType
,
parseContentType
(
xpp
));
contentType
=
checkContentTypeConsistency
(
contentType
,
parseContentType
(
xpp
));
}
else
if
(
XmlPullParserUtil
.
isStartTag
(
xpp
,
"Role"
))
{
}
else
if
(
XmlPullParserUtil
.
isStartTag
(
xpp
,
"Role"
))
{
Descriptor
descriptor
=
parseDescriptor
(
xpp
,
"Role"
);
roleDescriptors
.
add
(
parseDescriptor
(
xpp
,
"Role"
));
selectionFlags
|=
parseSelectionFlags
(
descriptor
);
roleDescriptors
.
add
(
descriptor
);
}
else
if
(
XmlPullParserUtil
.
isStartTag
(
xpp
,
"AudioChannelConfiguration"
))
{
}
else
if
(
XmlPullParserUtil
.
isStartTag
(
xpp
,
"AudioChannelConfiguration"
))
{
audioChannels
=
parseAudioChannelConfiguration
(
xpp
);
audioChannels
=
parseAudioChannelConfiguration
(
xpp
);
}
else
if
(
XmlPullParserUtil
.
isStartTag
(
xpp
,
"Accessibility"
))
{
}
else
if
(
XmlPullParserUtil
.
isStartTag
(
xpp
,
"Accessibility"
))
{
...
@@ -324,7 +321,6 @@ public class DashManifestParser extends DefaultHandler
...
@@ -324,7 +321,6 @@ public class DashManifestParser extends DefaultHandler
audioChannels
,
audioChannels
,
audioSamplingRate
,
audioSamplingRate
,
language
,
language
,
selectionFlags
,
roleDescriptors
,
roleDescriptors
,
accessibilityDescriptors
,
accessibilityDescriptors
,
segmentBase
);
segmentBase
);
...
@@ -494,7 +490,6 @@ public class DashManifestParser extends DefaultHandler
...
@@ -494,7 +490,6 @@ public class DashManifestParser extends DefaultHandler
int
adaptationSetAudioChannels
,
int
adaptationSetAudioChannels
,
int
adaptationSetAudioSamplingRate
,
int
adaptationSetAudioSamplingRate
,
String
adaptationSetLanguage
,
String
adaptationSetLanguage
,
@C
.
SelectionFlags
int
adaptationSetSelectionFlags
,
List
<
Descriptor
>
adaptationSetRoleDescriptors
,
List
<
Descriptor
>
adaptationSetRoleDescriptors
,
List
<
Descriptor
>
adaptationSetAccessibilityDescriptors
,
List
<
Descriptor
>
adaptationSetAccessibilityDescriptors
,
SegmentBase
segmentBase
)
SegmentBase
segmentBase
)
...
@@ -559,7 +554,6 @@ public class DashManifestParser extends DefaultHandler
...
@@ -559,7 +554,6 @@ public class DashManifestParser extends DefaultHandler
audioSamplingRate
,
audioSamplingRate
,
bandwidth
,
bandwidth
,
adaptationSetLanguage
,
adaptationSetLanguage
,
adaptationSetSelectionFlags
,
adaptationSetRoleDescriptors
,
adaptationSetRoleDescriptors
,
adaptationSetAccessibilityDescriptors
,
adaptationSetAccessibilityDescriptors
,
codecs
,
codecs
,
...
@@ -581,16 +575,16 @@ public class DashManifestParser extends DefaultHandler
...
@@ -581,16 +575,16 @@ public class DashManifestParser extends DefaultHandler
int
audioSamplingRate
,
int
audioSamplingRate
,
int
bitrate
,
int
bitrate
,
String
language
,
String
language
,
@C
.
SelectionFlags
int
selectionFlags
,
List
<
Descriptor
>
roleDescriptors
,
List
<
Descriptor
>
roleDescriptors
,
List
<
Descriptor
>
accessibilityDescriptors
,
List
<
Descriptor
>
accessibilityDescriptors
,
String
codecs
,
String
codecs
,
List
<
Descriptor
>
supplementalProperties
)
{
List
<
Descriptor
>
supplementalProperties
)
{
String
sampleMimeType
=
getSampleMimeType
(
containerMimeType
,
codecs
);
String
sampleMimeType
=
getSampleMimeType
(
containerMimeType
,
codecs
);
@C
.
SelectionFlags
int
selectionFlags
=
parseSelection
(
roleDescriptors
);
@C
.
RoleFlags
int
role
=
parseRole
(
roleDescriptors
);
@C
.
RoleFlags
int
accessibility
=
parseAccessibility
(
accessibilityDescriptors
);
@C
.
RoleFlags
int
roleFlags
=
role
|
accessibility
;
if
(
sampleMimeType
!=
null
)
{
if
(
sampleMimeType
!=
null
)
{
@C
.
RoleFlags
int
role
=
parseRole
(
roleDescriptors
);
@C
.
RoleFlags
int
accessibility
=
parseAccessibility
(
accessibilityDescriptors
);
@C
.
RoleFlags
int
roleFlags
=
role
|
accessibility
;
if
(
MimeTypes
.
AUDIO_E_AC3
.
equals
(
sampleMimeType
))
{
if
(
MimeTypes
.
AUDIO_E_AC3
.
equals
(
sampleMimeType
))
{
sampleMimeType
=
parseEac3SupplementalProperties
(
supplementalProperties
);
sampleMimeType
=
parseEac3SupplementalProperties
(
supplementalProperties
);
}
}
...
@@ -620,8 +614,8 @@ public class DashManifestParser extends DefaultHandler
...
@@ -620,8 +614,8 @@ public class DashManifestParser extends DefaultHandler
audioSamplingRate
,
audioSamplingRate
,
/* initializationData= */
null
,
/* initializationData= */
null
,
selectionFlags
,
selectionFlags
,
language
,
roleFlags
,
roleFlags
);
language
);
}
else
if
(
mimeTypeIsRawText
(
sampleMimeType
))
{
}
else
if
(
mimeTypeIsRawText
(
sampleMimeType
))
{
int
accessibilityChannel
;
int
accessibilityChannel
;
if
(
MimeTypes
.
APPLICATION_CEA608
.
equals
(
sampleMimeType
))
{
if
(
MimeTypes
.
APPLICATION_CEA608
.
equals
(
sampleMimeType
))
{
...
@@ -639,13 +633,21 @@ public class DashManifestParser extends DefaultHandler
...
@@ -639,13 +633,21 @@ public class DashManifestParser extends DefaultHandler
codecs
,
codecs
,
bitrate
,
bitrate
,
selectionFlags
,
selectionFlags
,
roleFlags
,
language
,
language
,
accessibilityChannel
,
accessibilityChannel
);
roleFlags
);
}
}
}
}
return
Format
.
createContainerFormat
(
return
Format
.
createContainerFormat
(
id
,
label
,
containerMimeType
,
sampleMimeType
,
codecs
,
bitrate
,
selectionFlags
,
language
);
id
,
label
,
containerMimeType
,
sampleMimeType
,
codecs
,
bitrate
,
selectionFlags
,
roleFlags
,
language
);
}
}
protected
Representation
buildRepresentation
(
protected
Representation
buildRepresentation
(
...
@@ -1061,9 +1063,16 @@ public class DashManifestParser extends DefaultHandler
...
@@ -1061,9 +1063,16 @@ public class DashManifestParser extends DefaultHandler
// Selection flag parsing.
// Selection flag parsing.
protected
int
parseSelectionFlags
(
Descriptor
roleDescriptor
)
{
protected
int
parseSelection
(
List
<
Descriptor
>
roleDescriptors
)
{
return
"urn:mpeg:dash:role:2011"
.
equals
(
roleDescriptor
.
schemeIdUri
)
for
(
int
i
=
0
;
i
<
roleDescriptors
.
size
();
i
++)
{
&&
"main"
.
equals
(
roleDescriptor
.
value
)
?
C
.
SELECTION_FLAG_DEFAULT
:
0
;
Descriptor
descriptor
=
roleDescriptors
.
get
(
i
);
if
(
"urn:mpeg:dash:role:2011"
.
equalsIgnoreCase
(
descriptor
.
schemeIdUri
)
&&
"main"
.
equals
(
descriptor
.
value
))
{
return
C
.
SELECTION_FLAG_DEFAULT
;
}
}
return
0
;
}
}
// Role and Accessibility parsing.
// Role and Accessibility parsing.
...
@@ -1072,7 +1081,7 @@ public class DashManifestParser extends DefaultHandler
...
@@ -1072,7 +1081,7 @@ public class DashManifestParser extends DefaultHandler
@C
.
RoleFlags
int
result
=
0
;
@C
.
RoleFlags
int
result
=
0
;
for
(
int
i
=
0
;
i
<
roleDescriptors
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
roleDescriptors
.
size
();
i
++)
{
Descriptor
descriptor
=
roleDescriptors
.
get
(
i
);
Descriptor
descriptor
=
roleDescriptors
.
get
(
i
);
if
(
"urn:mpeg:dash:role:2011"
.
equalsIgnoreCase
(
descriptor
.
schemeIdUri
)
&&
descriptor
.
value
!=
null
)
{
if
(
"urn:mpeg:dash:role:2011"
.
equalsIgnoreCase
(
descriptor
.
schemeIdUri
))
{
result
|=
parseRoleSchemeValue
(
descriptor
.
value
);
result
|=
parseRoleSchemeValue
(
descriptor
.
value
);
}
}
}
}
...
@@ -1083,68 +1092,63 @@ public class DashManifestParser extends DefaultHandler
...
@@ -1083,68 +1092,63 @@ public class DashManifestParser extends DefaultHandler
@C
.
RoleFlags
int
result
=
0
;
@C
.
RoleFlags
int
result
=
0
;
for
(
int
i
=
0
;
i
<
accessibilityDescriptors
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
accessibilityDescriptors
.
size
();
i
++)
{
Descriptor
descriptor
=
accessibilityDescriptors
.
get
(
i
);
Descriptor
descriptor
=
accessibilityDescriptors
.
get
(
i
);
if
(
"urn:mpeg:dash:role:2011"
.
equalsIgnoreCase
(
descriptor
.
schemeIdUri
)
&&
descriptor
.
value
!=
null
)
{
if
(
"urn:mpeg:dash:role:2011"
.
equalsIgnoreCase
(
descriptor
.
schemeIdUri
))
{
result
|=
parseRoleSchemeValue
(
descriptor
.
value
);
result
|=
parseRoleSchemeValue
(
descriptor
.
value
);
}
}
else
if
(
"urn:tva:metadata:cs:AudioPurposeCS:2007"
.
equalsIgnoreCase
(
descriptor
.
schemeIdUri
))
{
if
(
"urn:tva:metadata:cs:AudioPurposeCS:2007"
.
equalsIgnoreCase
(
descriptor
.
schemeIdUri
)
&&
result
|=
parseAudioPurposeValue
(
descriptor
.
value
);
descriptor
.
value
!=
null
)
{
switch
(
descriptor
.
value
){
case
"1"
:
// Audio description for the visually impaired
result
|=
C
.
ROLE_FLAGS_DESCRIPTION
;
break
;
case
"2"
:
// Audio description for the hard of hearing
result
|=
C
.
ROLE_FLAGS_ENHANCED_AUDIO_INTELLIGIBILITY
;
break
;
case
"3"
:
// Supplemental commentary
result
|=
C
.
ROLE_FLAGS_SUPPLEMENTARY
;
break
;
case
"4"
:
// Director's commentary
result
|=
C
.
ROLE_FLAGS_COMMENTARY
;
break
;
case
"6"
:
// Main programme audio
result
|=
C
.
ROLE_FLAGS_MAIN
;
break
;
}
}
}
}
}
return
result
;
return
result
;
}
}
protected
@C
.
RoleFlags
int
parseRoleSchemeValue
(
String
value
){
protected
@C
.
RoleFlags
int
parseRoleSchemeValue
(
String
value
)
{
@C
.
RoleFlags
int
result
=
0
;
if
(
value
==
null
)
{
return
0
;
}
switch
(
value
)
{
switch
(
value
)
{
case
"main"
:
case
"main"
:
result
|=
C
.
ROLE_FLAGS_MAIN
;
return
C
.
ROLE_FLAGS_MAIN
;
break
;
case
"alternate"
:
case
"alternate"
:
result
|=
C
.
ROLE_FLAGS_ALTERNATE
;
return
C
.
ROLE_FLAGS_ALTERNATE
;
break
;
case
"supplementary"
:
case
"supplementary"
:
result
|=
C
.
ROLE_FLAGS_SUPPLEMENTARY
;
return
C
.
ROLE_FLAGS_SUPPLEMENTARY
;
break
;
case
"commentary"
:
case
"commentary"
:
result
|=
C
.
ROLE_FLAGS_COMMENTARY
;
return
C
.
ROLE_FLAGS_COMMENTARY
;
break
;
case
"dub"
:
case
"dub"
:
result
|=
C
.
ROLE_FLAGS_DUB
;
return
C
.
ROLE_FLAGS_DUB
;
break
;
case
"emergency"
:
case
"emergency"
:
result
|=
C
.
ROLE_FLAGS_EMERGENCY
;
return
C
.
ROLE_FLAGS_EMERGENCY
;
break
;
case
"caption"
:
case
"caption"
:
result
|=
C
.
ROLE_FLAGS_CAPTION
;
return
C
.
ROLE_FLAGS_CAPTION
;
break
;
case
"sign"
:
case
"sign"
:
result
|=
C
.
ROLE_FLAGS_SIGN
;
return
C
.
ROLE_FLAGS_SIGN
;
break
;
case
"description"
:
case
"description"
:
result
|=
C
.
ROLE_FLAGS_DESCRIPTION
;
return
C
.
ROLE_FLAGS_DESCRIPTION
;
break
;
case
"enhanced-audio-intelligibility"
:
case
"enhanced-audio-intelligibility"
:
result
|=
C
.
ROLE_FLAGS_ENHANCED_AUDIO_INTELLIGIBILITY
;
return
C
.
ROLE_FLAGS_ENHANCED_AUDIO_INTELLIGIBILITY
;
break
;
default
:
return
0
;
}
}
protected
@C
.
RoleFlags
int
parseAudioPurposeValue
(
String
value
)
{
if
(
value
==
null
)
{
return
0
;
}
switch
(
value
)
{
case
"1"
:
// Audio description for the visually impaired
return
C
.
ROLE_FLAGS_DESCRIPTION
;
case
"2"
:
// Audio description for the hard of hearing
return
C
.
ROLE_FLAGS_ENHANCED_AUDIO_INTELLIGIBILITY
;
case
"3"
:
// Supplemental commentary
return
C
.
ROLE_FLAGS_SUPPLEMENTARY
;
case
"4"
:
// Director's commentary
return
C
.
ROLE_FLAGS_COMMENTARY
;
case
"6"
:
// Main programme audio
return
C
.
ROLE_FLAGS_MAIN
;
default
:
return
0
;
}
}
return
result
;
}
}
// Utility methods.
// Utility methods.
...
...
library/dash/src/test/java/com/google/android/exoplayer2/source/dash/DashMediaPeriodTest.java
View file @
d7c2519a
...
@@ -193,6 +193,7 @@ public final class DashMediaPeriodTest {
...
@@ -193,6 +193,7 @@ public final class DashMediaPeriodTest {
/* codecs= */
null
,
/* codecs= */
null
,
bitrate
,
bitrate
,
/* selectionFlags= */
0
,
/* selectionFlags= */
0
,
/* roleFlags= */
0
,
/* language= */
null
);
/* language= */
null
);
}
}
...
@@ -207,6 +208,7 @@ public final class DashMediaPeriodTest {
...
@@ -207,6 +208,7 @@ public final class DashMediaPeriodTest {
/* codecs= */
null
,
/* codecs= */
null
,
bitrate
,
bitrate
,
/* selectionFlags= */
0
,
/* selectionFlags= */
0
,
/* roleFlags= */
0
,
/* language= */
null
),
/* language= */
null
),
/* baseUrl= */
""
,
/* baseUrl= */
""
,
new
SingleSegmentBase
());
new
SingleSegmentBase
());
...
@@ -223,6 +225,7 @@ public final class DashMediaPeriodTest {
...
@@ -223,6 +225,7 @@ public final class DashMediaPeriodTest {
/* codecs= */
null
,
/* codecs= */
null
,
/* bitrate= */
Format
.
NO_VALUE
,
/* bitrate= */
Format
.
NO_VALUE
,
/* selectionFlags= */
0
,
/* selectionFlags= */
0
,
/* roleFlags= */
0
,
language
),
language
),
/* baseUrl= */
""
,
/* baseUrl= */
""
,
new
SingleSegmentBase
());
new
SingleSegmentBase
());
...
...
library/dash/src/test/java/com/google/android/exoplayer2/source/dash/DashUtilTest.java
View file @
d7c2519a
...
@@ -85,7 +85,8 @@ public final class DashUtilTest {
...
@@ -85,7 +85,8 @@ public final class DashUtilTest {
/* height= */
768
,
/* height= */
768
,
Format
.
NO_VALUE
,
Format
.
NO_VALUE
,
/* initializationData= */
null
,
/* initializationData= */
null
,
/* selectionFlags= */
0
);
/* selectionFlags= */
0
,
/* roleFlags= */
0
);
if
(
drmInitData
!=
null
)
{
if
(
drmInitData
!=
null
)
{
format
=
format
.
copyWithDrmInitData
(
drmInitData
);
format
=
format
.
copyWithDrmInitData
(
drmInitData
);
}
}
...
...
library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaPeriod.java
View file @
d7c2519a
...
@@ -741,8 +741,8 @@ public final class HlsMediaPeriod implements MediaPeriod, HlsSampleStreamWrapper
...
@@ -741,8 +741,8 @@ public final class HlsMediaPeriod implements MediaPeriod, HlsSampleStreamWrapper
/* sampleRate= */
Format
.
NO_VALUE
,
/* sampleRate= */
Format
.
NO_VALUE
,
/* initializationData= */
null
,
/* initializationData= */
null
,
selectionFlags
,
selectionFlags
,
language
,
/* roleFlags= */
0
,
/* roleFlags= */
0
);
language
);
}
}
}
}
library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist.java
View file @
d7c2519a
...
@@ -78,6 +78,7 @@ public final class HlsMasterPlaylist extends HlsPlaylist {
...
@@ -78,6 +78,7 @@ public final class HlsMasterPlaylist extends HlsPlaylist {
/* codecs= */
null
,
/* codecs= */
null
,
/* bitrate= */
Format
.
NO_VALUE
,
/* bitrate= */
Format
.
NO_VALUE
,
/* selectionFlags= */
0
,
/* selectionFlags= */
0
,
/* roleFlags= */
0
,
/* language= */
null
);
/* language= */
null
);
return
new
HlsUrl
(
url
,
format
,
/* name= */
""
);
return
new
HlsUrl
(
url
,
format
,
/* name= */
""
);
}
}
...
...
library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.java
View file @
d7c2519a
...
@@ -362,8 +362,8 @@ public final class HlsPlaylistParser implements ParsingLoadable.Parser<HlsPlayli
...
@@ -362,8 +362,8 @@ public final class HlsPlaylistParser implements ParsingLoadable.Parser<HlsPlayli
/* sampleRate= */
Format
.
NO_VALUE
,
/* sampleRate= */
Format
.
NO_VALUE
,
/* initializationData= */
null
,
/* initializationData= */
null
,
selectionFlags
,
selectionFlags
,
language
,
/* roleFlags= */
0
,
/* roleFlags= */
0
);
language
);
if
(
isMediaTagMuxed
(
variants
,
uri
))
{
if
(
isMediaTagMuxed
(
variants
,
uri
))
{
muxedAudioFormat
=
format
;
muxedAudioFormat
=
format
;
}
else
{
}
else
{
...
@@ -406,9 +406,9 @@ public final class HlsPlaylistParser implements ParsingLoadable.Parser<HlsPlayli
...
@@ -406,9 +406,9 @@ public final class HlsPlaylistParser implements ParsingLoadable.Parser<HlsPlayli
/* codecs= */
null
,
/* codecs= */
null
,
/* bitrate= */
Format
.
NO_VALUE
,
/* bitrate= */
Format
.
NO_VALUE
,
selectionFlags
,
selectionFlags
,
/* roleFlags= */
0
,
language
,
language
,
accessibilityChannel
,
accessibilityChannel
));
/* roleFlags= */
0
));
break
;
break
;
default
:
default
:
// Do nothing.
// Do nothing.
...
...
library/smoothstreaming/src/main/java/com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser.java
View file @
d7c2519a
...
@@ -706,8 +706,8 @@ public class SsManifestParser implements ParsingLoadable.Parser<SsManifest> {
...
@@ -706,8 +706,8 @@ public class SsManifestParser implements ParsingLoadable.Parser<SsManifest> {
samplingRate
,
samplingRate
,
codecSpecificData
,
codecSpecificData
,
/* selectionFlags= */
0
,
/* selectionFlags= */
0
,
language
,
/* roleFlags= */
0
,
/* roleFlags= */
0
);
language
);
}
else
if
(
type
==
C
.
TRACK_TYPE_TEXT
)
{
}
else
if
(
type
==
C
.
TRACK_TYPE_TEXT
)
{
String
language
=
(
String
)
getNormalizedAttribute
(
KEY_LANGUAGE
);
String
language
=
(
String
)
getNormalizedAttribute
(
KEY_LANGUAGE
);
format
=
format
=
...
@@ -730,6 +730,7 @@ public class SsManifestParser implements ParsingLoadable.Parser<SsManifest> {
...
@@ -730,6 +730,7 @@ public class SsManifestParser implements ParsingLoadable.Parser<SsManifest> {
/* codecs= */
null
,
/* codecs= */
null
,
bitrate
,
bitrate
,
/* selectionFlags= */
0
,
/* selectionFlags= */
0
,
/* roleFlags= */
0
,
/* language= */
null
);
/* language= */
null
);
}
}
}
}
...
...
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