mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
Merge pull request #9163 from ProtoScott:feature/dtsx_codec_updates
PiperOrigin-RevId: 386428758
This commit is contained in:
commit
8e29e76b51
5 changed files with 17 additions and 2 deletions
|
|
@ -103,6 +103,9 @@
|
||||||
* Deprecate `setControlDispatcher` in `PlayerView`, `StyledPlayerView`,
|
* Deprecate `setControlDispatcher` in `PlayerView`, `StyledPlayerView`,
|
||||||
`PlayerControlView`, `StyledPlayerControlView` and
|
`PlayerControlView`, `StyledPlayerControlView` and
|
||||||
`PlayerNotificationManager`.
|
`PlayerNotificationManager`.
|
||||||
|
* Extractors:
|
||||||
|
* Add support for DTS-UHD in MP4
|
||||||
|
([#9163](https://github.com/google/ExoPlayer/issues/9163).
|
||||||
* Ad playback:
|
* Ad playback:
|
||||||
* Support changing ad break positions in the player logic
|
* Support changing ad break positions in the player logic
|
||||||
([#5067](https://github.com/google/ExoPlayer/issues/5067).
|
([#5067](https://github.com/google/ExoPlayer/issues/5067).
|
||||||
|
|
|
||||||
|
|
@ -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 = BASE_TYPE_AUDIO + "/vnd.dts";
|
||||||
public static final String AUDIO_DTS_HD = BASE_TYPE_AUDIO + "/vnd.dts.hd";
|
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_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_VORBIS = BASE_TYPE_AUDIO + "/vorbis";
|
||||||
public static final String AUDIO_OPUS = BASE_TYPE_AUDIO + "/opus";
|
public static final String AUDIO_OPUS = BASE_TYPE_AUDIO + "/opus";
|
||||||
public static final String AUDIO_AMR = BASE_TYPE_AUDIO + "/amr";
|
public static final String AUDIO_AMR = BASE_TYPE_AUDIO + "/amr";
|
||||||
|
|
@ -380,10 +381,14 @@ public final class MimeTypes {
|
||||||
return MimeTypes.AUDIO_E_AC3_JOC;
|
return MimeTypes.AUDIO_E_AC3_JOC;
|
||||||
} else if (codec.startsWith("ac-4") || codec.startsWith("dac4")) {
|
} else if (codec.startsWith("ac-4") || codec.startsWith("dac4")) {
|
||||||
return MimeTypes.AUDIO_AC4;
|
return MimeTypes.AUDIO_AC4;
|
||||||
} else if (codec.startsWith("dtsc") || codec.startsWith("dtse")) {
|
} else if (codec.startsWith("dtsc")) {
|
||||||
return MimeTypes.AUDIO_DTS;
|
return MimeTypes.AUDIO_DTS;
|
||||||
|
} else if (codec.startsWith("dtse")) {
|
||||||
|
return MimeTypes.AUDIO_DTS_EXPRESS;
|
||||||
} else if (codec.startsWith("dtsh") || codec.startsWith("dtsl")) {
|
} else if (codec.startsWith("dtsh") || codec.startsWith("dtsl")) {
|
||||||
return MimeTypes.AUDIO_DTS_HD;
|
return MimeTypes.AUDIO_DTS_HD;
|
||||||
|
} else if (codec.startsWith("dtsx")) {
|
||||||
|
return MimeTypes.AUDIO_DTS_UHD;
|
||||||
} else if (codec.startsWith("opus")) {
|
} else if (codec.startsWith("opus")) {
|
||||||
return MimeTypes.AUDIO_OPUS;
|
return MimeTypes.AUDIO_OPUS;
|
||||||
} else if (codec.startsWith("vorbis")) {
|
} else if (codec.startsWith("vorbis")) {
|
||||||
|
|
|
||||||
|
|
@ -137,9 +137,10 @@ public final class MimeTypesTest {
|
||||||
assertThat(MimeTypes.getMediaMimeType("ec-3")).isEqualTo(MimeTypes.AUDIO_E_AC3);
|
assertThat(MimeTypes.getMediaMimeType("ec-3")).isEqualTo(MimeTypes.AUDIO_E_AC3);
|
||||||
assertThat(MimeTypes.getMediaMimeType("ec+3")).isEqualTo(MimeTypes.AUDIO_E_AC3_JOC);
|
assertThat(MimeTypes.getMediaMimeType("ec+3")).isEqualTo(MimeTypes.AUDIO_E_AC3_JOC);
|
||||||
assertThat(MimeTypes.getMediaMimeType("dtsc")).isEqualTo(MimeTypes.AUDIO_DTS);
|
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("dtsh")).isEqualTo(MimeTypes.AUDIO_DTS_HD);
|
||||||
assertThat(MimeTypes.getMediaMimeType("dtsl")).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("opus")).isEqualTo(MimeTypes.AUDIO_OPUS);
|
||||||
assertThat(MimeTypes.getMediaMimeType("vorbis")).isEqualTo(MimeTypes.AUDIO_VORBIS);
|
assertThat(MimeTypes.getMediaMimeType("vorbis")).isEqualTo(MimeTypes.AUDIO_VORBIS);
|
||||||
assertThat(MimeTypes.getMediaMimeType("mp4a")).isEqualTo(MimeTypes.AUDIO_AAC);
|
assertThat(MimeTypes.getMediaMimeType("mp4a")).isEqualTo(MimeTypes.AUDIO_AAC);
|
||||||
|
|
|
||||||
|
|
@ -164,6 +164,9 @@ import java.util.List;
|
||||||
@SuppressWarnings("ConstantCaseForConstants")
|
@SuppressWarnings("ConstantCaseForConstants")
|
||||||
public static final int TYPE_dtse = 0x64747365;
|
public static final int TYPE_dtse = 0x64747365;
|
||||||
|
|
||||||
|
@SuppressWarnings("ConstantCaseForConstants")
|
||||||
|
public static final int TYPE_dtsx = 0x64747378;
|
||||||
|
|
||||||
@SuppressWarnings("ConstantCaseForConstants")
|
@SuppressWarnings("ConstantCaseForConstants")
|
||||||
public static final int TYPE_ddts = 0x64647473;
|
public static final int TYPE_ddts = 0x64647473;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -965,6 +965,7 @@ import org.checkerframework.checker.nullness.compatqual.NullableType;
|
||||||
|| childAtomType == Atom.TYPE_dtse
|
|| childAtomType == Atom.TYPE_dtse
|
||||||
|| childAtomType == Atom.TYPE_dtsh
|
|| childAtomType == Atom.TYPE_dtsh
|
||||||
|| childAtomType == Atom.TYPE_dtsl
|
|| childAtomType == Atom.TYPE_dtsl
|
||||||
|
|| childAtomType == Atom.TYPE_dtsx
|
||||||
|| childAtomType == Atom.TYPE_samr
|
|| childAtomType == Atom.TYPE_samr
|
||||||
|| childAtomType == Atom.TYPE_sawb
|
|| childAtomType == Atom.TYPE_sawb
|
||||||
|| childAtomType == Atom.TYPE_lpcm
|
|| childAtomType == Atom.TYPE_lpcm
|
||||||
|
|
@ -1371,6 +1372,8 @@ import org.checkerframework.checker.nullness.compatqual.NullableType;
|
||||||
mimeType = MimeTypes.AUDIO_DTS_HD;
|
mimeType = MimeTypes.AUDIO_DTS_HD;
|
||||||
} else if (atomType == Atom.TYPE_dtse) {
|
} else if (atomType == Atom.TYPE_dtse) {
|
||||||
mimeType = MimeTypes.AUDIO_DTS_EXPRESS;
|
mimeType = MimeTypes.AUDIO_DTS_EXPRESS;
|
||||||
|
} else if (atomType == Atom.TYPE_dtsx) {
|
||||||
|
mimeType = MimeTypes.AUDIO_DTS_UHD;
|
||||||
} else if (atomType == Atom.TYPE_samr) {
|
} else if (atomType == Atom.TYPE_samr) {
|
||||||
mimeType = MimeTypes.AUDIO_AMR_NB;
|
mimeType = MimeTypes.AUDIO_AMR_NB;
|
||||||
} else if (atomType == Atom.TYPE_sawb) {
|
} else if (atomType == Atom.TYPE_sawb) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue