From d176891c9ccd662399246472c4c00afb6296a31a Mon Sep 17 00:00:00 2001 From: ybai001 Date: Thu, 10 Jun 2021 21:00:10 +0800 Subject: [PATCH] Restore to the original solution after further discussion --- .../google/android/exoplayer2/mediacodec/MediaCodecInfo.java | 3 --- .../exoplayer2/source/dash/manifest/DashManifestParser.java | 3 +++ .../exoplayer2/source/hls/playlist/HlsPlaylistParser.java | 1 + 3 files changed, 4 insertions(+), 3 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 c6690a846a..6d4c11603a 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,9 +279,6 @@ 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 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