diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 6747267be8..a5ea5c3d54 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -5,13 +5,16 @@ * Add `Player.onPlaybackSuppressionReasonChanged` to allow listeners to detect playbacks suppressions (e.g. audio focus loss) directly ([#6203](https://github.com/google/ExoPlayer/issues/6203)). -* DASH: Support `Label` elements - ([#6297](https://github.com/google/ExoPlayer/issues/6297)). +* DASH: + * Support `Label` elements + ([#6297](https://github.com/google/ExoPlayer/issues/6297)). + * Support legacy audio channel configuration + ([#6523](https://github.com/google/ExoPlayer/issues/6523)). * HLS: Add support for ID3 in EMSG when using FMP4 streams ([spec](https://aomediacodec.github.io/av1-id3/)). * Metadata: Expose the raw ICY metadata through `IcyInfo` ([#6476](https://github.com/google/ExoPlayer/issues/6476)). -* UI +* UI: * Setting `app:played_color` on `PlayerView` and `PlayerControlView` no longer adjusts the colors of the scrubber handle , buffered and unplayed parts of the time bar. These can be set separately using `app:scrubber_color`, diff --git a/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.java b/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.java index 73e92a3d15..95e8c7f942 100644 --- a/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.java +++ b/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.java @@ -1113,10 +1113,13 @@ public class DashManifestParser extends DefaultHandler protected int parseAudioChannelConfiguration(XmlPullParser xpp) throws XmlPullParserException, IOException { String schemeIdUri = parseString(xpp, "schemeIdUri", null); - int audioChannels = "urn:mpeg:dash:23003:3:audio_channel_configuration:2011".equals(schemeIdUri) - ? parseInt(xpp, "value", Format.NO_VALUE) - : ("tag:dolby.com,2014:dash:audio_channel_configuration:2011".equals(schemeIdUri) - ? parseDolbyChannelConfiguration(xpp) : Format.NO_VALUE); + int audioChannels = + "urn:mpeg:dash:23003:3:audio_channel_configuration:2011".equals(schemeIdUri) + ? parseInt(xpp, "value", Format.NO_VALUE) + : ("tag:dolby.com,2014:dash:audio_channel_configuration:2011".equals(schemeIdUri) + || "urn:dolby:dash:audio_channel_configuration:2011".equals(schemeIdUri) + ? parseDolbyChannelConfiguration(xpp) + : Format.NO_VALUE); do { xpp.next(); } while (!XmlPullParserUtil.isEndTag(xpp, "AudioChannelConfiguration")); @@ -1491,7 +1494,8 @@ 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. + * in ETSI TS 102 366, or the legacy schemeIdUri + * "urn:dolby:dash:audio_channel_configuration:2011". * * @param xpp The parser from which to read. * @return The parsed number of channels, or {@link Format#NO_VALUE} if the channel count could