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
9e7c8380
authored
May 09, 2022
by
Ian Baker
Browse files
Options
_('Browse Files')
Download
Plain Diff
Merge pull request #10214 from cedricxperi:dev-v2
PiperOrigin-RevId: 444585404
parents
f269963e
55637565
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
50 additions
and
6 deletions
RELEASENOTES.md
libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/manifest/DashManifestParser.java
RELEASENOTES.md
View file @
9e7c8380
...
...
@@ -49,13 +49,17 @@
*
Don't show forced text tracks in the
`PlayerView`
track selector, and
keep a suitable forced text track selected if "None" is selected
(
[
#9432
](
https://github.com/google/ExoPlayer/issues/9432
)
).
*
DASH:
*
Parse channel count from DTS
`AudioChannelConfiguration`
elements. This
re-enables audio passthrough for DTS streams
(
[
#10159
](
https://github.com/google/ExoPlayer/issues/10159
)
).
*
HLS:
*
Fallback to chunkful preparation if the playlist CODECS attribute
does not contain the audio codec
(
[
#10065
](
https://github.com/google/ExoPlayer/issues/10065
)
).
*
RTSP:
*
Add RTP reader for MPEG4
(
[
#35
](
https://github.com/androidx/media/pull/35
)
)
(
[
#35
](
https://github.com/androidx/media/pull/35
)
)
.
*
Add RTP reader for HEVC
(
[
#36
](
https://github.com/androidx/media/pull/36
)
).
*
Add RTP reader for AMR. Currently only mono-channel, non-interleaved
...
...
libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/manifest/DashManifestParser.java
View file @
9e7c8380
...
...
@@ -77,7 +77,7 @@ public class DashManifestParser extends DefaultHandler
Pattern
.
compile
(
"([1-9]|[1-5][0-9]|6[0-3])=.*"
);
/**
* Maps the value attribute of an Audio
Element
Configuration with schemeIdUri
* Maps the value attribute of an Audio
Channel
Configuration with schemeIdUri
* "urn:mpeg:mpegB:cicp:ChannelConfiguration", as defined by ISO 23001-8 clause 8.1, to a channel
* count.
*/
...
...
@@ -1465,6 +1465,13 @@ public class DashManifestParser extends DefaultHandler
case
"urn:mpeg:mpegB:cicp:ChannelConfiguration"
:
audioChannels
=
parseMpegChannelConfiguration
(
xpp
);
break
;
case
"tag:dts.com,2014:dash:audio_channel_configuration:2012"
:
case
"urn:dts:dash:audio_channel_configuration:2012"
:
audioChannels
=
parseDtsChannelConfiguration
(
xpp
);
break
;
case
"tag:dts.com,2018:uhd:audio_channel_configuration"
:
audioChannels
=
parseDtsxChannelConfiguration
(
xpp
);
break
;
case
"tag:dolby.com,2014:dash:audio_channel_configuration:2011"
:
case
"urn:dolby:dash:audio_channel_configuration:2011"
:
audioChannels
=
parseDolbyChannelConfiguration
(
xpp
);
...
...
@@ -1868,7 +1875,7 @@ public class DashManifestParser extends DefaultHandler
}
/**
* Parses the number of channels from the value attribute of an Audio
Element
Configuration with
* Parses the number of channels from the value attribute of an Audio
Channel
Configuration with
* schemeIdUri "urn:mpeg:mpegB:cicp:ChannelConfiguration", as defined by ISO 23001-8 clause 8.1.
*
* @param xpp The parser from which to read.
...
...
@@ -1883,9 +1890,42 @@ public class DashManifestParser extends DefaultHandler
}
/**
* Parses the number of channels from the value attribute of an AudioElementConfiguration with
* schemeIdUri "tag:dolby.com,2014:dash:audio_channel_configuration:2011", as defined by table E.5
* in ETSI TS 102 366, or the legacy schemeIdUri
* Parses the number of channels from the value attribute of an AudioChannelConfiguration with
* schemeIdUri "tag:dts.com,2014:dash:audio_channel_configuration:2012" as defined by Annex G
* (3.2) in ETSI TS 102 114 V1.6.1, or by the legacy schemeIdUri
* "urn:dts:dash:audio_channel_configuration:2012".
*
* @param xpp The parser from which to read.
* @return The parsed number of channels, or {@link Format#NO_VALUE} if the channel count could
* not be parsed.
*/
protected
static
int
parseDtsChannelConfiguration
(
XmlPullParser
xpp
)
{
int
channelCount
=
parseInt
(
xpp
,
"value"
,
Format
.
NO_VALUE
);
return
0
<
channelCount
&&
channelCount
<
33
?
channelCount
:
Format
.
NO_VALUE
;
}
/**
* Parses the number of channels from the value attribute of an AudioChannelConfiguration with
* schemeIdUri "tag:dts.com,2018:uhd:audio_channel_configuration" as defined by table B-5 in ETSI
* TS 103 491 v1.2.1.
*
* @param xpp The parser from which to read.
* @return The parsed number of channels, or {@link Format#NO_VALUE} if the channel count could
* not be parsed.
*/
protected
static
int
parseDtsxChannelConfiguration
(
XmlPullParser
xpp
)
{
@Nullable
String
value
=
xpp
.
getAttributeValue
(
null
,
"value"
);
if
(
value
==
null
)
{
return
Format
.
NO_VALUE
;
}
int
channelCount
=
Integer
.
bitCount
(
Integer
.
parseInt
(
value
,
/* radix= */
16
));
return
channelCount
==
0
?
Format
.
NO_VALUE
:
channelCount
;
}
/**
* Parses the number of channels from the value attribute of an AudioChannelConfiguration with
* schemeIdUri "tag:dolby.com,2014:dash:audio_channel_configuration:2011" as defined by table E.5
* in ETSI TS 102 366, or by the legacy schemeIdUri
* "urn:dolby:dash:audio_channel_configuration:2011".
*
* @param xpp The parser from which to read.
...
...
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