diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 5dc4b0f6f7..5ef08f3043 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -59,6 +59,8 @@ * Matroska: Add support for 32-bit floating point PCM, and 8-bit and 16-bit big endian integer PCM ([#8142](https://github.com/google/ExoPlayer/issues/8142)). + * MP4: Add support for mpeg1 video box + ([#8257](https://github.com/google/ExoPlayer/issues/8257)). * DRM: * Fix playback failure when switching from PlayReady protected content to Widevine or Clearkey protected content in a playlist. diff --git a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/Atom.java b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/Atom.java index 71e6c69887..1a19358b57 100644 --- a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/Atom.java +++ b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/Atom.java @@ -280,6 +280,9 @@ import java.util.List; @SuppressWarnings("ConstantCaseForConstants") public static final int TYPE_TTML = 0x54544d4c; + @SuppressWarnings("ConstantCaseForConstants") + public static final int TYPE_m1v_ = 0x6d317620; + @SuppressWarnings("ConstantCaseForConstants") public static final int TYPE_mp4v = 0x6d703476; diff --git a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/AtomParsers.java b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/AtomParsers.java index 58cb57f261..551ebc3ea3 100644 --- a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/AtomParsers.java +++ b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/AtomParsers.java @@ -853,6 +853,7 @@ import org.checkerframework.checker.nullness.compatqual.NullableType; if (childAtomType == Atom.TYPE_avc1 || childAtomType == Atom.TYPE_avc3 || childAtomType == Atom.TYPE_encv + || childAtomType == Atom.TYPE_m1v_ || childAtomType == Atom.TYPE_mp4v || childAtomType == Atom.TYPE_hvc1 || childAtomType == Atom.TYPE_hev1 @@ -993,8 +994,12 @@ import org.checkerframework.checker.nullness.compatqual.NullableType; // drmInitData = null; // } - @Nullable List initializationData = null; @Nullable String mimeType = null; + if (atomType == Atom.TYPE_m1v_) { + mimeType = MimeTypes.VIDEO_MPEG; + } + + @Nullable List initializationData = null; @Nullable String codecs = null; @Nullable byte[] projectionData = null; @C.StereoMode