diff --git a/libraries/container/src/main/java/androidx/media3/container/Mp4Box.java b/libraries/container/src/main/java/androidx/media3/container/Mp4Box.java index fed3f4902c..c7cf349fb4 100644 --- a/libraries/container/src/main/java/androidx/media3/container/Mp4Box.java +++ b/libraries/container/src/main/java/androidx/media3/container/Mp4Box.java @@ -470,6 +470,9 @@ public abstract class Mp4Box { @SuppressWarnings("ConstantCaseForConstants") public static final int TYPE_apco = 0x6170636f; + @SuppressWarnings("ConstantCaseForConstants") + public static final int TYPE_av3a = 0x61763361; + public final int type; diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/BoxParser.java b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/BoxParser.java index 10e075af7c..40cc4aa56a 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/BoxParser.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/BoxParser.java @@ -1043,7 +1043,8 @@ private static StsdData parseStsd( || childAtomType == Mp4Box.TYPE_ulaw || childAtomType == Mp4Box.TYPE_Opus || childAtomType == Mp4Box.TYPE_fLaC - || childAtomType == Mp4Box.TYPE_iamf) { + || childAtomType == Mp4Box.TYPE_iamf + || childAtomType == Mp4Box.TYPE_av3a) { parseAudioSampleEntry( stsd, childAtomType, @@ -1840,6 +1841,8 @@ private static void parseAudioSampleEntry( mimeType = MimeTypes.AUDIO_TRUEHD; } else if (atomType == Mp4Box.TYPE_iamf) { mimeType = MimeTypes.AUDIO_IAMF; + } else if (atomType == Mp4Box.TYPE_av3a) { + mimeType = MimeTypes.AUDIO_AV3A; } @Nullable List initializationData = null;