From aac5e10deeea644df278b52cfc81ac0049537791 Mon Sep 17 00:00:00 2001 From: ybai001 Date: Thu, 10 Jun 2021 09:33:46 +0800 Subject: [PATCH] Update solution that DD+JOC track can't be selected --- .../google/android/exoplayer2/mediacodec/MediaCodecInfo.java | 3 +++ .../exoplayer2/source/dash/manifest/DashManifestParser.java | 3 --- .../exoplayer2/source/hls/playlist/HlsPlaylistParser.java | 1 - 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MediaCodecInfo.java b/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MediaCodecInfo.java index 6d4c11603a..c6690a846a 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MediaCodecInfo.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MediaCodecInfo.java @@ -279,6 +279,9 @@ public final class MediaCodecInfo { if (format.codecs == null || mimeType == null) { return true; } + if (MimeTypes.AUDIO_E_AC3_JOC.equals(mimeType)) { + return true; + } String codecMimeType = MimeTypes.getMediaMimeType(format.codecs); if (codecMimeType == null) { return true; 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 a3d43d6c31..2b849e9eba 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,9 +765,6 @@ 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 1d11e38307..c8d16efe43 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,7 +515,6 @@ public final class HlsPlaylistParser implements ParsingLoadable.Parser