From c299ccf7e4433bb463552a1ae27454cc5deefc84 Mon Sep 17 00:00:00 2001 From: ybai001 Date: Mon, 7 Jun 2021 22:15:54 +0800 Subject: [PATCH] DD+JOC track can't be selected if there are multi tracks in manifest file DD+JOC track can't be selected if there are multi tracks in manifest file. --- .../exoplayer2/source/dash/manifest/DashManifestParser.java | 3 +++ .../exoplayer2/source/hls/playlist/HlsPlaylistParser.java | 1 + 2 files changed, 4 insertions(+) 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 2b849e9eba..a3d43d6c31 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 @@ -765,6 +765,9 @@ public class DashManifestParser extends DefaultHandler @Nullable String sampleMimeType = getSampleMimeType(containerMimeType, codecs); if (MimeTypes.AUDIO_E_AC3.equals(sampleMimeType)) { sampleMimeType = parseEac3SupplementalProperties(supplementalProperties); + if (MimeTypes.AUDIO_E_AC3_JOC.equals(sampleMimeType)) { + codecs = "ec+3"; + } } @C.SelectionFlags int selectionFlags = parseSelectionFlagsFromRoleDescriptors(roleDescriptors); @C.RoleFlags int roleFlags = parseRoleFlagsFromRoleDescriptors(roleDescriptors); diff --git a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.java index c8d16efe43..1d11e38307 100644 --- a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.java +++ b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.java @@ -515,6 +515,7 @@ public final class HlsPlaylistParser implements ParsingLoadable.Parser