From 835a9e9abed3f0b4fbb8ddb54bb4ad701621327f Mon Sep 17 00:00:00 2001 From: olly Date: Mon, 14 Mar 2016 06:59:03 -0700 Subject: [PATCH] Use a separate MIME type for DTS Express. DTS Express (which is DTS LBR according to http://www.mp4ra.org/codecs.html) is not supported for passthrough playback currently. Associate a different MIME type with it so that we don't try to use DTS passthrough for playing DTS Express. The MIME type for DTS Express is just vnd.dts.hd, with a profile parameter indicating that it's DTS Express rather than one of the other formats. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=117129583 --- .../google/android/exoplayer/extractor/mp4/AtomParsers.java | 4 +++- .../smoothstreaming/SmoothStreamingManifestParser.java | 4 +++- .../java/com/google/android/exoplayer/util/MimeTypes.java | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/library/src/main/java/com/google/android/exoplayer/extractor/mp4/AtomParsers.java b/library/src/main/java/com/google/android/exoplayer/extractor/mp4/AtomParsers.java index 26a0e0da6e..a51fd082d0 100644 --- a/library/src/main/java/com/google/android/exoplayer/extractor/mp4/AtomParsers.java +++ b/library/src/main/java/com/google/android/exoplayer/extractor/mp4/AtomParsers.java @@ -741,10 +741,12 @@ import java.util.List; mimeType = MimeTypes.AUDIO_AC3; } else if (atomType == Atom.TYPE_ec_3) { mimeType = MimeTypes.AUDIO_E_AC3; - } else if (atomType == Atom.TYPE_dtsc || atomType == Atom.TYPE_dtse) { + } else if (atomType == Atom.TYPE_dtsc) { mimeType = MimeTypes.AUDIO_DTS; } else if (atomType == Atom.TYPE_dtsh || atomType == Atom.TYPE_dtsl) { mimeType = MimeTypes.AUDIO_DTS_HD; + } else if (atomType == Atom.TYPE_dtse) { + mimeType = MimeTypes.AUDIO_DTS_EXPRESS; } else if (atomType == Atom.TYPE_samr) { mimeType = MimeTypes.AUDIO_AMR_NB; } else if (atomType == Atom.TYPE_sawb) { diff --git a/library/src/main/java/com/google/android/exoplayer/smoothstreaming/SmoothStreamingManifestParser.java b/library/src/main/java/com/google/android/exoplayer/smoothstreaming/SmoothStreamingManifestParser.java index 736dcdb75d..c5302e064e 100644 --- a/library/src/main/java/com/google/android/exoplayer/smoothstreaming/SmoothStreamingManifestParser.java +++ b/library/src/main/java/com/google/android/exoplayer/smoothstreaming/SmoothStreamingManifestParser.java @@ -672,10 +672,12 @@ public class SmoothStreamingManifestParser implements UriLoadable.Parser