diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/Atom.java b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/Atom.java index 6256fa7f27..3f2cb72ad8 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/Atom.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/Atom.java @@ -176,6 +176,9 @@ import java.util.List; @SuppressWarnings("ConstantCaseForConstants") public static final int TYPE_ddts = 0x64647473; + @SuppressWarnings("ConstantCaseForConstants") + public static final int TYPE_udts = 0x75647473; + @SuppressWarnings("ConstantCaseForConstants") public static final int TYPE_tfdt = 0x74666474; diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/AtomParsers.java b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/AtomParsers.java index 5e290bc67d..d7b615538c 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/AtomParsers.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/AtomParsers.java @@ -1560,7 +1560,7 @@ import org.checkerframework.checker.nullness.compatqual.NullableType; // because these streams can carry simultaneously multiple representations of the same // audio. Use stereo by default. channelCount = 2; - } else if (childAtomType == Atom.TYPE_ddts) { + } else if (childAtomType == Atom.TYPE_ddts || childAtomType == Atom.TYPE_udts) { out.format = new Format.Builder() .setId(trackId)