Skip to content

Commit

Permalink
Merge pull request #9163 from ProtoScott:feature/dtsx_codec_updates
Browse files Browse the repository at this point in the history
PiperOrigin-RevId: 386428758
  • Loading branch information
kim-vde committed Jul 23, 2021
2 parents 72cf9c3 + 83d2c39 commit 8e29e76
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 2 deletions.
3 changes: 3 additions & 0 deletions RELEASENOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,9 @@
* Deprecate `setControlDispatcher` in `PlayerView`, `StyledPlayerView`,
`PlayerControlView`, `StyledPlayerControlView` and
`PlayerNotificationManager`.
* Extractors:
* Add support for DTS-UHD in MP4
([#9163](https:/google/ExoPlayer/issues/9163).
* Ad playback:
* Support changing ad break positions in the player logic
([#5067](https:/google/ExoPlayer/issues/5067).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ public final class MimeTypes {
public static final String AUDIO_DTS = BASE_TYPE_AUDIO + "/vnd.dts";
public static final String AUDIO_DTS_HD = BASE_TYPE_AUDIO + "/vnd.dts.hd";
public static final String AUDIO_DTS_EXPRESS = BASE_TYPE_AUDIO + "/vnd.dts.hd;profile=lbr";
public static final String AUDIO_DTS_UHD = BASE_TYPE_AUDIO + "/vnd.dts.uhd";
public static final String AUDIO_VORBIS = BASE_TYPE_AUDIO + "/vorbis";
public static final String AUDIO_OPUS = BASE_TYPE_AUDIO + "/opus";
public static final String AUDIO_AMR = BASE_TYPE_AUDIO + "/amr";
Expand Down Expand Up @@ -380,10 +381,14 @@ public static String getMediaMimeType(@Nullable String codec) {
return MimeTypes.AUDIO_E_AC3_JOC;
} else if (codec.startsWith("ac-4") || codec.startsWith("dac4")) {
return MimeTypes.AUDIO_AC4;
} else if (codec.startsWith("dtsc") || codec.startsWith("dtse")) {
} else if (codec.startsWith("dtsc")) {
return MimeTypes.AUDIO_DTS;
} else if (codec.startsWith("dtse")) {
return MimeTypes.AUDIO_DTS_EXPRESS;
} else if (codec.startsWith("dtsh") || codec.startsWith("dtsl")) {
return MimeTypes.AUDIO_DTS_HD;
} else if (codec.startsWith("dtsx")) {
return MimeTypes.AUDIO_DTS_UHD;
} else if (codec.startsWith("opus")) {
return MimeTypes.AUDIO_OPUS;
} else if (codec.startsWith("vorbis")) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,9 +137,10 @@ public void getMediaMimeType_fromValidCodecs_returnsCorrectMimeType() {
assertThat(MimeTypes.getMediaMimeType("ec-3")).isEqualTo(MimeTypes.AUDIO_E_AC3);
assertThat(MimeTypes.getMediaMimeType("ec+3")).isEqualTo(MimeTypes.AUDIO_E_AC3_JOC);
assertThat(MimeTypes.getMediaMimeType("dtsc")).isEqualTo(MimeTypes.AUDIO_DTS);
assertThat(MimeTypes.getMediaMimeType("dtse")).isEqualTo(MimeTypes.AUDIO_DTS);
assertThat(MimeTypes.getMediaMimeType("dtse")).isEqualTo(MimeTypes.AUDIO_DTS_EXPRESS);
assertThat(MimeTypes.getMediaMimeType("dtsh")).isEqualTo(MimeTypes.AUDIO_DTS_HD);
assertThat(MimeTypes.getMediaMimeType("dtsl")).isEqualTo(MimeTypes.AUDIO_DTS_HD);
assertThat(MimeTypes.getMediaMimeType("dtsx")).isEqualTo(MimeTypes.AUDIO_DTS_UHD);
assertThat(MimeTypes.getMediaMimeType("opus")).isEqualTo(MimeTypes.AUDIO_OPUS);
assertThat(MimeTypes.getMediaMimeType("vorbis")).isEqualTo(MimeTypes.AUDIO_VORBIS);
assertThat(MimeTypes.getMediaMimeType("mp4a")).isEqualTo(MimeTypes.AUDIO_AAC);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,9 @@
@SuppressWarnings("ConstantCaseForConstants")
public static final int TYPE_dtse = 0x64747365;

@SuppressWarnings("ConstantCaseForConstants")
public static final int TYPE_dtsx = 0x64747378;

@SuppressWarnings("ConstantCaseForConstants")
public static final int TYPE_ddts = 0x64647473;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -965,6 +965,7 @@ private static StsdData parseStsd(
|| childAtomType == Atom.TYPE_dtse
|| childAtomType == Atom.TYPE_dtsh
|| childAtomType == Atom.TYPE_dtsl
|| childAtomType == Atom.TYPE_dtsx
|| childAtomType == Atom.TYPE_samr
|| childAtomType == Atom.TYPE_sawb
|| childAtomType == Atom.TYPE_lpcm
Expand Down Expand Up @@ -1371,6 +1372,8 @@ private static void parseAudioSampleEntry(
mimeType = MimeTypes.AUDIO_DTS_HD;
} else if (atomType == Atom.TYPE_dtse) {
mimeType = MimeTypes.AUDIO_DTS_EXPRESS;
} else if (atomType == Atom.TYPE_dtsx) {
mimeType = MimeTypes.AUDIO_DTS_UHD;
} else if (atomType == Atom.TYPE_samr) {
mimeType = MimeTypes.AUDIO_AMR_NB;
} else if (atomType == Atom.TYPE_sawb) {
Expand Down

0 comments on commit 8e29e76

Please sign in to comment.