From d0eda433ea311a6e450d7f3dabe8b46c8b91bb5b Mon Sep 17 00:00:00 2001 From: sheenachhabra Date: Wed, 14 Jun 2023 14:57:27 +0100 Subject: [PATCH] Replace CreationTime class with Mp4TimestampData class PiperOrigin-RevId: 540257484 --- .../media3/container/CreationTime.java | 91 ------------ .../media3/container/Mp4TimestampData.java | 136 ++++++++++++++++++ .../androidx/media3/container/Mp4Util.java | 43 ++++++ .../exoplayer/MetadataRetrieverTest.java | 12 +- .../media3/extractor/mp4/AtomParsers.java | 32 +---- .../media3/extractor/mp4/Mp4Extractor.java | 3 +- .../java/androidx/media3/muxer/Boxes.java | 28 ++-- .../media3/muxer/MetadataCollector.java | 14 +- .../media3/muxer/Mp4MoovStructure.java | 6 +- .../java/androidx/media3/muxer/BoxesTest.java | 8 +- ...on-photo-jfif-segment-shortened.jpg.0.dump | 2 +- ...on-photo-jfif-segment-shortened.jpg.1.dump | 2 +- ...on-photo-jfif-segment-shortened.jpg.2.dump | 2 +- ...on-photo-jfif-segment-shortened.jpg.3.dump | 2 +- .../extractordumps/mp4/sample.mp4.0.dump | 4 +- .../extractordumps/mp4/sample.mp4.1.dump | 4 +- .../extractordumps/mp4/sample.mp4.2.dump | 4 +- .../extractordumps/mp4/sample.mp4.3.dump | 4 +- .../mp4/sample.mp4.unknown_length.dump | 4 +- .../mp4/sample_18byte_nclx_colr.mp4.0.dump | 2 +- .../mp4/sample_18byte_nclx_colr.mp4.1.dump | 2 +- .../mp4/sample_18byte_nclx_colr.mp4.2.dump | 2 +- .../mp4/sample_18byte_nclx_colr.mp4.3.dump | 2 +- ...e_18byte_nclx_colr.mp4.unknown_length.dump | 2 +- .../extractordumps/mp4/sample_ac3.mp4.0.dump | 2 +- .../extractordumps/mp4/sample_ac3.mp4.1.dump | 2 +- .../extractordumps/mp4/sample_ac3.mp4.2.dump | 2 +- .../extractordumps/mp4/sample_ac3.mp4.3.dump | 2 +- .../mp4/sample_ac3.mp4.unknown_length.dump | 2 +- .../extractordumps/mp4/sample_ac4.mp4.0.dump | 2 +- .../extractordumps/mp4/sample_ac4.mp4.1.dump | 2 +- .../extractordumps/mp4/sample_ac4.mp4.2.dump | 2 +- .../extractordumps/mp4/sample_ac4.mp4.3.dump | 2 +- .../mp4/sample_ac4.mp4.unknown_length.dump | 2 +- .../mp4/sample_android_slow_motion.mp4.0.dump | 2 +- .../mp4/sample_android_slow_motion.mp4.1.dump | 2 +- .../mp4/sample_android_slow_motion.mp4.2.dump | 2 +- .../mp4/sample_android_slow_motion.mp4.3.dump | 2 +- ...ndroid_slow_motion.mp4.unknown_length.dump | 2 +- .../extractordumps/mp4/sample_dthd.mp4.0.dump | 2 +- .../extractordumps/mp4/sample_dthd.mp4.1.dump | 2 +- .../extractordumps/mp4/sample_dthd.mp4.2.dump | 2 +- .../extractordumps/mp4/sample_dthd.mp4.3.dump | 2 +- .../mp4/sample_dthd.mp4.unknown_length.dump | 2 +- .../extractordumps/mp4/sample_eac3.mp4.0.dump | 2 +- .../extractordumps/mp4/sample_eac3.mp4.1.dump | 2 +- .../extractordumps/mp4/sample_eac3.mp4.2.dump | 2 +- .../extractordumps/mp4/sample_eac3.mp4.3.dump | 2 +- .../mp4/sample_eac3.mp4.unknown_length.dump | 2 +- .../mp4/sample_eac3joc.mp4.0.dump | 2 +- .../mp4/sample_eac3joc.mp4.1.dump | 2 +- .../mp4/sample_eac3joc.mp4.2.dump | 2 +- .../mp4/sample_eac3joc.mp4.3.dump | 2 +- .../sample_eac3joc.mp4.unknown_length.dump | 2 +- .../mp4/sample_mdat_too_long.mp4.0.dump | 4 +- .../mp4/sample_mdat_too_long.mp4.1.dump | 4 +- .../mp4/sample_mdat_too_long.mp4.2.dump | 4 +- .../mp4/sample_mdat_too_long.mp4.3.dump | 4 +- ...mple_mdat_too_long.mp4.unknown_length.dump | 4 +- .../mp4/sample_mpegh_mha1.mp4.0.dump | 2 +- .../mp4/sample_mpegh_mha1.mp4.1.dump | 2 +- .../mp4/sample_mpegh_mha1.mp4.2.dump | 2 +- .../mp4/sample_mpegh_mha1.mp4.3.dump | 2 +- .../sample_mpegh_mha1.mp4.unknown_length.dump | 2 +- .../mp4/sample_mpegh_mhm1.mp4.0.dump | 2 +- .../mp4/sample_mpegh_mhm1.mp4.1.dump | 2 +- .../mp4/sample_mpegh_mhm1.mp4.2.dump | 2 +- .../mp4/sample_mpegh_mhm1.mp4.3.dump | 2 +- .../sample_mpegh_mhm1.mp4.unknown_length.dump | 2 +- .../extractordumps/mp4/sample_opus.mp4.0.dump | 2 +- .../extractordumps/mp4/sample_opus.mp4.1.dump | 2 +- .../extractordumps/mp4/sample_opus.mp4.2.dump | 2 +- .../extractordumps/mp4/sample_opus.mp4.3.dump | 2 +- .../mp4/sample_opus.mp4.unknown_length.dump | 2 +- .../mp4/sample_with_color_info.mp4.0.dump | 4 +- .../mp4/sample_with_color_info.mp4.1.dump | 4 +- .../mp4/sample_with_color_info.mp4.2.dump | 4 +- .../mp4/sample_with_color_info.mp4.3.dump | 4 +- ...le_with_color_info.mp4.unknown_length.dump | 4 +- .../sample_with_colr_mdcv_and_clli.mp4.0.dump | 4 +- .../sample_with_colr_mdcv_and_clli.mp4.1.dump | 4 +- .../sample_with_colr_mdcv_and_clli.mp4.2.dump | 4 +- .../sample_with_colr_mdcv_and_clli.mp4.3.dump | 4 +- ...colr_mdcv_and_clli.mp4.unknown_length.dump | 4 +- .../muxerdumps/audio_track_tkhd_box.dump | 2 +- .../h265_with_metadata_track.mp4.dump | 6 +- .../assets/muxerdumps/hdr10-720p.mp4.dump | 4 +- .../src/test/assets/muxerdumps/mdhd_box.dump | 2 +- .../mp4_with_0_orientation.mp4.dump | 2 +- .../mp4_with_180_orientation.mp4.dump | 2 +- .../mp4_with_270_orientation.mp4.dump | 2 +- .../mp4_with_90_orientation.mp4.dump | 2 +- .../mp4_with_different_tracks_offset.mp4.dump | 4 +- .../muxerdumps/mp4_with_frame_rate.mp4.dump | 2 +- .../muxerdumps/mp4_with_location.mp4.dump | 2 +- .../mp4_with_null_location.mp4.dump | 2 +- .../mp4_with_same_tracks_offset.mp4.dump | 4 +- .../src/test/assets/muxerdumps/mvhd_box.dump | 2 +- .../muxerdumps/partial_hdr10-720p.mp4.dump | 4 +- .../test/assets/muxerdumps/sample.mp4.dump | 4 +- .../assets/muxerdumps/sample_av1.mp4.dump | 4 +- .../muxerdumps/video_track_tkhd_box.dump | 2 +- .../mp4/sample.mp4.48000hz.dump | 8 +- .../mp4/sample.mp4.concatenated.dump | 8 +- ...atenated_with_high_pitch_and_no_video.dump | 4 +- .../transformerdumps/mp4/sample.mp4.dump | 8 +- .../mp4/sample.mp4.noaudio.dump | 4 +- .../mp4/sample.mp4.novideo.dump | 4 +- .../mp4/sample.mp4.rotated.dump | 8 +- .../mp4/sample.mp4.silence_then_audio.dump | 4 +- ...e.mp4.silence_then_audio_with_effects.dump | 4 +- .../mp4/sample.mp4.silentaudio.dump | 4 +- .../mp4/sample.mp4.with_capture_fps.dump | 4 +- .../mp4/sample.mp4.with_creation_time.dump | 4 +- .../mp4/sample.mp4.with_custom_metadata.dump | 4 +- .../sample.mp4.with_location_metadata.dump | 4 +- .../mp4/sample_18byte_nclx_colr.mp4.dump | 4 +- ...mple_18byte_nclx_colr.mp4.silentaudio.dump | 4 +- .../mp4/sample_ac3.mp4.fallback.dump | 4 +- .../mp4/sample_sef_slow_motion.mp4.dump | 8 +- ...sing_timestamps_320w_240h.mp4.clipped.dump | 8 +- ...20w_240h.mp4.clipped_and_concatenated.dump | 8 +- .../media3/transformer/InAppMuxer.java | 10 +- ...TransformerWithInAppMuxerEndToEndTest.java | 5 +- 124 files changed, 405 insertions(+), 331 deletions(-) delete mode 100644 libraries/container/src/main/java/androidx/media3/container/CreationTime.java create mode 100644 libraries/container/src/main/java/androidx/media3/container/Mp4TimestampData.java create mode 100644 libraries/container/src/main/java/androidx/media3/container/Mp4Util.java diff --git a/libraries/container/src/main/java/androidx/media3/container/CreationTime.java b/libraries/container/src/main/java/androidx/media3/container/CreationTime.java deleted file mode 100644 index 3eb2e3939a..0000000000 --- a/libraries/container/src/main/java/androidx/media3/container/CreationTime.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright 2023 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package androidx.media3.container; - -import android.os.Parcel; -import android.os.Parcelable; -import androidx.annotation.Nullable; -import androidx.media3.common.Metadata; -import androidx.media3.common.util.UnstableApi; -import com.google.common.primitives.Longs; - -/** Stores creation time. */ -@UnstableApi -public final class CreationTime implements Metadata.Entry { - public final long timestampMs; - - /** - * Creates an instance. - * - * @param timestampMs The creation time UTC in milliseconds since the Unix epoch. - */ - public CreationTime(long timestampMs) { - this.timestampMs = timestampMs; - } - - private CreationTime(Parcel in) { - this.timestampMs = in.readLong(); - } - - @Override - public boolean equals(@Nullable Object obj) { - if (this == obj) { - return true; - } - if (!(obj instanceof CreationTime)) { - return false; - } - - return timestampMs == ((CreationTime) obj).timestampMs; - } - - @Override - public int hashCode() { - return Longs.hashCode(timestampMs); - } - - @Override - public String toString() { - long unsetCreationTime = -2_082_844_800_000L; - return "Creation time: " + (timestampMs == unsetCreationTime ? "unset" : timestampMs); - } - - // Parcelable implementation. - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeLong(timestampMs); - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - - @Override - public CreationTime createFromParcel(Parcel in) { - return new CreationTime(in); - } - - @Override - public CreationTime[] newArray(int size) { - return new CreationTime[size]; - } - }; -} diff --git a/libraries/container/src/main/java/androidx/media3/container/Mp4TimestampData.java b/libraries/container/src/main/java/androidx/media3/container/Mp4TimestampData.java new file mode 100644 index 0000000000..a2d6f442db --- /dev/null +++ b/libraries/container/src/main/java/androidx/media3/container/Mp4TimestampData.java @@ -0,0 +1,136 @@ +/* + * Copyright 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.container; + +import android.os.Parcel; +import android.os.Parcelable; +import androidx.annotation.Nullable; +import androidx.media3.common.C; +import androidx.media3.common.Metadata; +import androidx.media3.common.util.UnstableApi; +import com.google.common.primitives.Longs; + +/** Stores MP4 timestamp data. */ +@UnstableApi +public final class Mp4TimestampData implements Metadata.Entry { + /** Represents an unset or unknown timescale. */ + public static final int TIMESCALE_UNSET = -1; + + /** The creation timestamp. */ + public final long creationTimestampSeconds; + /** The modification timestamp. */ + public final long modificationTimestampSeconds; + /** The timescale of the movie. */ + public final long timescale; + + /** + * Creates an instance. + * + * @param creationTimestampSeconds The creation time UTC in seconds since midnight, January 1, + * 1904. The {@link #modificationTimestampSeconds} is set to {@link C#TIME_UNSET} and {@link + * #timescale} is set to {@link Mp4TimestampData#TIMESCALE_UNSET}. + */ + public Mp4TimestampData(long creationTimestampSeconds) { + this.creationTimestampSeconds = creationTimestampSeconds; + this.modificationTimestampSeconds = C.TIME_UNSET; + this.timescale = TIMESCALE_UNSET; + } + + /** + * Creates an instance. + * + * @param creationTimestampSeconds The creation time UTC in seconds since midnight, January 1, + * 1904. + * @param modificationTimestampSeconds The modification time UTC in seconds since midnight, + * January 1, 1904. + * @param timescale The timescale of the movie. + */ + public Mp4TimestampData( + long creationTimestampSeconds, long modificationTimestampSeconds, long timescale) { + this.creationTimestampSeconds = creationTimestampSeconds; + this.modificationTimestampSeconds = modificationTimestampSeconds; + this.timescale = timescale; + } + + private Mp4TimestampData(Parcel in) { + this.creationTimestampSeconds = in.readLong(); + this.modificationTimestampSeconds = in.readLong(); + this.timescale = in.readLong(); + } + + @Override + public boolean equals(@Nullable Object obj) { + if (this == obj) { + return true; + } + if (!(obj instanceof Mp4TimestampData)) { + return false; + } + + Mp4TimestampData other = (Mp4TimestampData) obj; + + return creationTimestampSeconds == other.creationTimestampSeconds + && modificationTimestampSeconds == other.modificationTimestampSeconds + && timescale == other.timescale; + } + + @Override + public int hashCode() { + int result = 17; + result = 31 * result + Longs.hashCode(creationTimestampSeconds); + result = 31 * result + Longs.hashCode(modificationTimestampSeconds); + result = 31 * result + Longs.hashCode(timescale); + return result; + } + + @Override + public String toString() { + return "Mp4Timestamp: creation time=" + + creationTimestampSeconds + + ", modification time=" + + modificationTimestampSeconds + + ", timescale=" + + timescale; + } + + // Parcelable implementation. + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeLong(creationTimestampSeconds); + dest.writeLong(modificationTimestampSeconds); + dest.writeLong(timescale); + } + + public static final Parcelable.Creator CREATOR = + new Parcelable.Creator() { + + @Override + public Mp4TimestampData createFromParcel(Parcel in) { + return new Mp4TimestampData(in); + } + + @Override + public Mp4TimestampData[] newArray(int size) { + return new Mp4TimestampData[size]; + } + }; +} diff --git a/libraries/container/src/main/java/androidx/media3/container/Mp4Util.java b/libraries/container/src/main/java/androidx/media3/container/Mp4Util.java new file mode 100644 index 0000000000..7963171da1 --- /dev/null +++ b/libraries/container/src/main/java/androidx/media3/container/Mp4Util.java @@ -0,0 +1,43 @@ +/* + * Copyright 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.container; + +import androidx.media3.common.util.UnstableApi; + +/** Utilities for MP4 container. */ +@UnstableApi +public final class Mp4Util { + private static final int UNIX_EPOCH_TO_MP4_TIME_DELTA_SECONDS = + ((1970 - 1904) * 365 + 17 /* leap year */) * (24 * 60 * 60); + + private Mp4Util() {} + + /** + * Returns an MP4 timestamp (in seconds since midnight, January 1, 1904) from a Unix epoch + * timestamp (in milliseconds since midnight, January 1, 1970). + */ + public static long unixTimeToMp4TimeSeconds(long unixTimestampMs) { + return (unixTimestampMs / 1000L + UNIX_EPOCH_TO_MP4_TIME_DELTA_SECONDS); + } + + /** + * Returns a Unix epoch timestamp (in milliseconds since midnight, January 1, 1970) from an MP4 + * timestamp (in seconds since midnight, January 1, 1904). + */ + public static long mp4TimeToUnixTimeMs(long mp4TimestampSeconds) { + return (mp4TimestampSeconds - UNIX_EPOCH_TO_MP4_TIME_DELTA_SECONDS) * 1000L; + } +} diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/MetadataRetrieverTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/MetadataRetrieverTest.java index 8c015b8db2..527f524e65 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/MetadataRetrieverTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/MetadataRetrieverTest.java @@ -27,8 +27,8 @@ import androidx.media3.common.C; import androidx.media3.common.MediaItem; import androidx.media3.common.MimeTypes; import androidx.media3.common.util.Util; -import androidx.media3.container.CreationTime; import androidx.media3.container.MdtaMetadataEntry; +import androidx.media3.container.Mp4TimestampData; import androidx.media3.exoplayer.source.TrackGroupArray; import androidx.media3.extractor.metadata.mp4.MotionPhotoMetadata; import androidx.media3.extractor.metadata.mp4.SlowMotionData; @@ -176,7 +176,11 @@ public class MetadataRetrieverTest { new SlowMotionData.Segment( /* startTimeMs= */ 1255, /* endTimeMs= */ 1970, /* speedDivisor= */ 8)); SlowMotionData expectedSlowMotionData = new SlowMotionData(segments); - CreationTime expectedCreationTime = new CreationTime(/* timestampMs= */ 1604060090000L); + Mp4TimestampData expectedMp4TimestampData = + new Mp4TimestampData( + /* creationTimestampSeconds= */ 3_686_904_890L, + /* modificationTimestampSeconds= */ 3_686_904_890L, + /* timescale= */ 1000); MdtaMetadataEntry expectedMdtaEntry = new MdtaMetadataEntry( KEY_ANDROID_CAPTURE_FPS, @@ -198,7 +202,7 @@ public class MetadataRetrieverTest { .isEqualTo(expectedTemporalLayersCountMetdata); assertThat(trackGroups.get(0).getFormat(0).metadata.get(2)).isEqualTo(expectedSmtaEntry); assertThat(trackGroups.get(0).getFormat(0).metadata.get(3)).isEqualTo(expectedSlowMotionData); - assertThat(trackGroups.get(0).getFormat(0).metadata.get(4)).isEqualTo(expectedCreationTime); + assertThat(trackGroups.get(0).getFormat(0).metadata.get(4)).isEqualTo(expectedMp4TimestampData); // Video assertThat(trackGroups.get(1).getFormat(0).metadata.length()).isEqualTo(6); @@ -209,7 +213,7 @@ public class MetadataRetrieverTest { assertThat(trackGroups.get(1).getFormat(0).metadata.get(2)).isEqualTo(expectedMdtaEntry); assertThat(trackGroups.get(1).getFormat(0).metadata.get(3)).isEqualTo(expectedSmtaEntry); assertThat(trackGroups.get(1).getFormat(0).metadata.get(4)).isEqualTo(expectedSlowMotionData); - assertThat(trackGroups.get(1).getFormat(0).metadata.get(5)).isEqualTo(expectedCreationTime); + assertThat(trackGroups.get(1).getFormat(0).metadata.get(5)).isEqualTo(expectedMp4TimestampData); } @Test 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 0fd3f76203..89c45c2838 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 @@ -33,8 +33,8 @@ import androidx.media3.common.util.CodecSpecificDataUtil; import androidx.media3.common.util.Log; import androidx.media3.common.util.ParsableByteArray; import androidx.media3.common.util.Util; -import androidx.media3.container.CreationTime; import androidx.media3.container.Mp4LocationData; +import androidx.media3.container.Mp4TimestampData; import androidx.media3.extractor.AacUtil; import androidx.media3.extractor.Ac3Util; import androidx.media3.extractor.Ac4Util; @@ -80,19 +80,6 @@ import org.checkerframework.checker.nullness.compatqual.NullableType; } } - /** Stores data retrieved from the mvhd atom. */ - public static final class MvhdInfo { - /** The metadata. */ - public final Metadata metadata; - /** The movie timescale. */ - public final long timescale; - - public MvhdInfo(Metadata metadata, long timescale) { - this.metadata = metadata; - this.timescale = timescale; - } - } - private static final String TAG = "AtomParsers"; @SuppressWarnings("ConstantCaseForConstants") @@ -220,32 +207,27 @@ import org.checkerframework.checker.nullness.compatqual.NullableType; } /** - * Parses a mvhd atom (defined in ISO/IEC 14496-12), returning the timescale for the movie. + * Parses an mvhd atom (defined in ISO/IEC 14496-12). * * @param mvhd Contents of the mvhd atom to be parsed. * @return An object containing the parsed data. */ - public static MvhdInfo parseMvhd(ParsableByteArray mvhd) { + public static Mp4TimestampData parseMvhd(ParsableByteArray mvhd) { mvhd.setPosition(Atom.HEADER_SIZE); int fullAtom = mvhd.readInt(); int version = Atom.parseFullAtomVersion(fullAtom); long creationTimestampSeconds; + long modificationTimestampSeconds; if (version == 0) { creationTimestampSeconds = mvhd.readUnsignedInt(); - mvhd.skipBytes(4); // modification_time + modificationTimestampSeconds = mvhd.readUnsignedInt(); } else { creationTimestampSeconds = mvhd.readLong(); - mvhd.skipBytes(8); // modification_time + modificationTimestampSeconds = mvhd.readLong(); } - // Convert creation time from MP4 format to Unix epoch timestamp in Ms. - // Time delta between January 1, 1904 (MP4 format) and January 1, 1970 (Unix epoch). - // Includes leap year. - int timeDeltaSeconds = (66 * 365 + 17) * (24 * 60 * 60); - long unixTimestampMs = (creationTimestampSeconds - timeDeltaSeconds) * 1000; - long timescale = mvhd.readUnsignedInt(); - return new MvhdInfo(new Metadata(new CreationTime(unixTimestampMs)), timescale); + return new Mp4TimestampData(creationTimestampSeconds, modificationTimestampSeconds, timescale); } /** diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/Mp4Extractor.java b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/Mp4Extractor.java index 8179dd8f37..e11159fdef 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/Mp4Extractor.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/Mp4Extractor.java @@ -513,7 +513,8 @@ public final class Mp4Extractor implements Extractor, SeekMap { } Metadata mvhdMetadata = - AtomParsers.parseMvhd(checkNotNull(moov.getLeafAtomOfType(Atom.TYPE_mvhd)).data).metadata; + new Metadata( + AtomParsers.parseMvhd(checkNotNull(moov.getLeafAtomOfType(Atom.TYPE_mvhd)).data)); boolean ignoreEditLists = (flags & FLAG_WORKAROUND_IGNORE_EDIT_LISTS) != 0; List trackSampleTables = diff --git a/libraries/muxer/src/main/java/androidx/media3/muxer/Boxes.java b/libraries/muxer/src/main/java/androidx/media3/muxer/Boxes.java index 1d9578511b..90bcfd3727 100644 --- a/libraries/muxer/src/main/java/androidx/media3/muxer/Boxes.java +++ b/libraries/muxer/src/main/java/androidx/media3/muxer/Boxes.java @@ -76,14 +76,14 @@ import java.util.Locale; public static ByteBuffer tkhd( int trackId, int trackDurationVu, - long modificationDateUnixMs, + int modificationTimestampSeconds, int orientation, Format format) { ByteBuffer contents = ByteBuffer.allocate(Mp4Utils.MAX_FIXED_LEAF_BOX_SIZE); contents.putInt(0x00000007); // version and flags; allow presentation, etc. - contents.putInt(toMp4Time(modificationDateUnixMs)); // creation_time - contents.putInt(toMp4Time(modificationDateUnixMs)); // modification_time + contents.putInt(modificationTimestampSeconds); // creation_time + contents.putInt(modificationTimestampSeconds); // modification_time contents.putInt(trackId); contents.putInt(0); // reserved @@ -115,12 +115,12 @@ import java.util.Locale; *

This is the movie header for the entire MP4 file. */ public static ByteBuffer mvhd( - int nextEmptyTrackId, long modificationDateUnixMs, long videoDurationUs) { + int nextEmptyTrackId, int modificationTimestampSeconds, long videoDurationUs) { ByteBuffer contents = ByteBuffer.allocate(Mp4Utils.MAX_FIXED_LEAF_BOX_SIZE); contents.putInt(0); // version and flags - contents.putInt(toMp4Time(modificationDateUnixMs)); // creation_time - contents.putInt(toMp4Time(modificationDateUnixMs)); // modification_time + contents.putInt(modificationTimestampSeconds); // creation_time + contents.putInt(modificationTimestampSeconds); // modification_time contents.putInt((int) MVHD_TIMEBASE); // The per-track timescales might be different. contents.putInt( (int) Mp4Utils.vuFromUs(videoDurationUs, MVHD_TIMEBASE)); // Duration of the entire video. @@ -158,13 +158,13 @@ import java.util.Locale; public static ByteBuffer mdhd( long trackDurationVu, int videoUnitTimebase, - long modificationDateUnixMs, + int modificationTimestampSeconds, @Nullable String languageCode) { ByteBuffer contents = ByteBuffer.allocate(Mp4Utils.MAX_FIXED_LEAF_BOX_SIZE); contents.putInt(0x0); // version and flags - contents.putInt(toMp4Time(modificationDateUnixMs)); // creation_time - contents.putInt(toMp4Time(modificationDateUnixMs)); // modification_time + contents.putInt(modificationTimestampSeconds); // creation_time + contents.putInt(modificationTimestampSeconds); // modification_time contents.putInt(videoUnitTimebase); @@ -1101,16 +1101,6 @@ import java.util.Locale; return BoxUtils.wrapIntoBox("esds", contents); } - /** Convert Unix epoch timestamps to the format used by MP4 files. */ - private static int toMp4Time(long unixTimeMs) { - // Time delta between January 1, 1904 (MP4 format) and January 1, 1970 (Unix epoch). - // Includes leap year. - long timeDeltaSeconds = (66 * 365 + 17) * (24 * 60 * 60); - - // The returned value is a positive (when read as unsigned) integer. - return (int) (unixTimeMs / 1000L + timeDeltaSeconds); - } - /** Packs a three-letter language code into a short, packing 3x5 bits. */ private static short languageCodeFromString(@Nullable String code) { if (code == null) { diff --git a/libraries/muxer/src/main/java/androidx/media3/muxer/MetadataCollector.java b/libraries/muxer/src/main/java/androidx/media3/muxer/MetadataCollector.java index 9f339676e3..8ae55c8550 100644 --- a/libraries/muxer/src/main/java/androidx/media3/muxer/MetadataCollector.java +++ b/libraries/muxer/src/main/java/androidx/media3/muxer/MetadataCollector.java @@ -15,8 +15,10 @@ */ package androidx.media3.muxer; +import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkState; +import androidx.media3.container.Mp4Util; import java.nio.ByteBuffer; import java.util.LinkedHashMap; import java.util.Map; @@ -27,13 +29,14 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; public int orientation; public @MonotonicNonNull Mp4Location location; public Map metadataPairs; - public long modificationDateUnixMs; + public int modificationTimestampSeconds; public @MonotonicNonNull ByteBuffer xmpData; public MetadataCollector() { orientation = 0; metadataPairs = new LinkedHashMap<>(); - modificationDateUnixMs = System.currentTimeMillis(); + modificationTimestampSeconds = + (int) Mp4Util.unixTimeToMp4TimeSeconds(System.currentTimeMillis()); } public void addXmp(ByteBuffer xmpData) { @@ -57,7 +60,10 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; metadataPairs.put(key, value); } - public void setModificationTime(long modificationDateUnixMs) { - this.modificationDateUnixMs = modificationDateUnixMs; + public void setModificationTime(long unixTimestampMs) { + long maxUnsignedInt = 4294967295L; + long timestampSeconds = Mp4Util.unixTimeToMp4TimeSeconds(unixTimestampMs); + checkArgument(timestampSeconds <= maxUnsignedInt, "Only 32-bit long timestamp supported"); + this.modificationTimestampSeconds = (int) timestampSeconds; } } diff --git a/libraries/muxer/src/main/java/androidx/media3/muxer/Mp4MoovStructure.java b/libraries/muxer/src/main/java/androidx/media3/muxer/Mp4MoovStructure.java index 52ddd2d143..dc1b929e77 100644 --- a/libraries/muxer/src/main/java/androidx/media3/muxer/Mp4MoovStructure.java +++ b/libraries/muxer/src/main/java/androidx/media3/muxer/Mp4MoovStructure.java @@ -144,14 +144,14 @@ import org.checkerframework.checker.nullness.qual.PolyNull; // Using the time base of the entire file, not that of the track; otherwise, // Quicktime will stretch the audio accordingly, see b/158120042. (int) Mp4Utils.vuFromUs(trackDurationUs, MVHD_TIMEBASE), - metadataCollector.modificationDateUnixMs, + metadataCollector.modificationTimestampSeconds, metadataCollector.orientation, format), Boxes.mdia( Boxes.mdhd( trackDurationInTrackUnitsVu, track.videoUnitTimebase(), - metadataCollector.modificationDateUnixMs, + metadataCollector.modificationTimestampSeconds, languageCode), Boxes.hdlr(handlerType, handlerName), Boxes.minf(mhdBox, Boxes.dinf(Boxes.dref(Boxes.localUrl())), stblBox))); @@ -163,7 +163,7 @@ import org.checkerframework.checker.nullness.qual.PolyNull; } ByteBuffer mvhdBox = - Boxes.mvhd(nextTrackId, metadataCollector.modificationDateUnixMs, videoDurationUs); + Boxes.mvhd(nextTrackId, metadataCollector.modificationTimestampSeconds, videoDurationUs); ByteBuffer udtaBox = Boxes.udta(metadataCollector.location); ByteBuffer metaBox = metadataCollector.metadataPairs.isEmpty() diff --git a/libraries/muxer/src/test/java/androidx/media3/muxer/BoxesTest.java b/libraries/muxer/src/test/java/androidx/media3/muxer/BoxesTest.java index d1cd4456f9..63ee5fc987 100644 --- a/libraries/muxer/src/test/java/androidx/media3/muxer/BoxesTest.java +++ b/libraries/muxer/src/test/java/androidx/media3/muxer/BoxesTest.java @@ -63,7 +63,7 @@ public class BoxesTest { Boxes.tkhd( /* trackId= */ 1, /* trackDurationVu= */ 5_000_000, - /* modificationDateUnixMs= */ 1_000_000_000, + /* modificationTimestampSeconds= */ 1_000_000_000, /* orientation= */ 90, videoFormat); @@ -80,7 +80,7 @@ public class BoxesTest { Boxes.tkhd( /* trackId= */ 1, /* trackDurationVu= */ 5_000_000, - /* modificationDateUnixMs= */ 1_000_000_000, + /* modificationTimestampSeconds= */ 1_000_000_000, /* orientation= */ 90, audioFormat); @@ -94,7 +94,7 @@ public class BoxesTest { ByteBuffer mvhdBox = Boxes.mvhd( /* nextEmptyTrackId= */ 3, - /* modificationDateUnixMs= */ 1_000_000_000, + /* modificationTimestampSeconds= */ 1_000_000_000, /* videoDurationUs= */ 5_000_000); DumpableMp4Box dumpableBox = new DumpableMp4Box(mvhdBox); @@ -107,7 +107,7 @@ public class BoxesTest { Boxes.mdhd( /* trackDurationVu= */ 5_000_000, VU_TIMEBASE, - /* modificationDateUnixMs= */ 1_000_000_000, + /* modificationTimestampSeconds= */ 1_000_000_000, /* languageCode= */ "und"); DumpableMp4Box dumpableBox = new DumpableMp4Box(mdhdBox); diff --git a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.0.dump b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.0.dump index 12735f3043..bc609c6209 100644 --- a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.0.dump @@ -17,7 +17,7 @@ track 0: width = 180 height = 120 pixelWidthHeightRatio = 0.5 - metadata = entries=[Creation time: unset] + metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 32, hash 1F3D6E87 data = length 10, hash 7A0D0F2B diff --git a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.1.dump b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.1.dump index 12735f3043..bc609c6209 100644 --- a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.1.dump @@ -17,7 +17,7 @@ track 0: width = 180 height = 120 pixelWidthHeightRatio = 0.5 - metadata = entries=[Creation time: unset] + metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 32, hash 1F3D6E87 data = length 10, hash 7A0D0F2B diff --git a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.2.dump b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.2.dump index 12735f3043..bc609c6209 100644 --- a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.2.dump @@ -17,7 +17,7 @@ track 0: width = 180 height = 120 pixelWidthHeightRatio = 0.5 - metadata = entries=[Creation time: unset] + metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 32, hash 1F3D6E87 data = length 10, hash 7A0D0F2B diff --git a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.3.dump b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.3.dump index 12735f3043..bc609c6209 100644 --- a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.3.dump @@ -17,7 +17,7 @@ track 0: width = 180 height = 120 pixelWidthHeightRatio = 0.5 - metadata = entries=[Creation time: unset] + metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 32, hash 1F3D6E87 data = length 10, hash 7A0D0F2B diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.0.dump index 6e35ee4cc1..ad0b923a00 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.0.dump @@ -17,7 +17,7 @@ track 0: width = 1080 height = 720 frameRate = 29.970028 - metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B @@ -153,7 +153,7 @@ track 1: channelCount = 1 sampleRate = 44100 language = und - metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 2, hash 5F7 sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.1.dump index 1bc1db2188..44bbeb8d9d 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.1.dump @@ -17,7 +17,7 @@ track 0: width = 1080 height = 720 frameRate = 29.970028 - metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B @@ -153,7 +153,7 @@ track 1: channelCount = 1 sampleRate = 44100 language = und - metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 2, hash 5F7 sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.2.dump index ff8a2386a7..5226241cea 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.2.dump @@ -17,7 +17,7 @@ track 0: width = 1080 height = 720 frameRate = 29.970028 - metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B @@ -153,7 +153,7 @@ track 1: channelCount = 1 sampleRate = 44100 language = und - metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 2, hash 5F7 sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.3.dump index 4d95d75fd8..7875fa3dff 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.3.dump @@ -17,7 +17,7 @@ track 0: width = 1080 height = 720 frameRate = 29.970028 - metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B @@ -153,7 +153,7 @@ track 1: channelCount = 1 sampleRate = 44100 language = und - metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 2, hash 5F7 sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.unknown_length.dump index 6e35ee4cc1..ad0b923a00 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.unknown_length.dump @@ -17,7 +17,7 @@ track 0: width = 1080 height = 720 frameRate = 29.970028 - metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B @@ -153,7 +153,7 @@ track 1: channelCount = 1 sampleRate = 44100 language = und - metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 2, hash 5F7 sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.0.dump index 7471e41852..7f88e8ecfc 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.0.dump @@ -22,7 +22,7 @@ track 0: colorRange = 2 colorTransfer = 3 hdrStaticInfo = length 0, hash 0 - metadata = entries=[Creation time: 1635264810000] + metadata = entries=[Mp4Timestamp: creation time=3718109610, modification time=3718109610, timescale=1000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.1.dump index 7471e41852..7f88e8ecfc 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.1.dump @@ -22,7 +22,7 @@ track 0: colorRange = 2 colorTransfer = 3 hdrStaticInfo = length 0, hash 0 - metadata = entries=[Creation time: 1635264810000] + metadata = entries=[Mp4Timestamp: creation time=3718109610, modification time=3718109610, timescale=1000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.2.dump index 7471e41852..7f88e8ecfc 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.2.dump @@ -22,7 +22,7 @@ track 0: colorRange = 2 colorTransfer = 3 hdrStaticInfo = length 0, hash 0 - metadata = entries=[Creation time: 1635264810000] + metadata = entries=[Mp4Timestamp: creation time=3718109610, modification time=3718109610, timescale=1000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.3.dump index 7471e41852..7f88e8ecfc 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.3.dump @@ -22,7 +22,7 @@ track 0: colorRange = 2 colorTransfer = 3 hdrStaticInfo = length 0, hash 0 - metadata = entries=[Creation time: 1635264810000] + metadata = entries=[Mp4Timestamp: creation time=3718109610, modification time=3718109610, timescale=1000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.unknown_length.dump index 7471e41852..7f88e8ecfc 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.unknown_length.dump @@ -22,7 +22,7 @@ track 0: colorRange = 2 colorTransfer = 3 hdrStaticInfo = length 0, hash 0 - metadata = entries=[Creation time: 1635264810000] + metadata = entries=[Mp4Timestamp: creation time=3718109610, modification time=3718109610, timescale=1000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3.mp4.0.dump index c439bdb87c..f34f662d59 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3.mp4.0.dump @@ -18,7 +18,7 @@ track 0: channelCount = 6 sampleRate = 48000 language = und - metadata = entries=[Creation time: 1581574441000] + metadata = entries=[Mp4Timestamp: creation time=3664419241, modification time=3664419241, timescale=600] sample 0: time = 0 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3.mp4.1.dump index 356d7c9573..1e4d5da55a 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3.mp4.1.dump @@ -18,7 +18,7 @@ track 0: channelCount = 6 sampleRate = 48000 language = und - metadata = entries=[Creation time: 1581574441000] + metadata = entries=[Mp4Timestamp: creation time=3664419241, modification time=3664419241, timescale=600] sample 0: time = 96000 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3.mp4.2.dump index f250480de4..447f2d9232 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3.mp4.2.dump @@ -18,7 +18,7 @@ track 0: channelCount = 6 sampleRate = 48000 language = und - metadata = entries=[Creation time: 1581574441000] + metadata = entries=[Mp4Timestamp: creation time=3664419241, modification time=3664419241, timescale=600] sample 0: time = 192000 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3.mp4.3.dump index a74b64c379..8bd9f28f42 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3.mp4.3.dump @@ -18,7 +18,7 @@ track 0: channelCount = 6 sampleRate = 48000 language = und - metadata = entries=[Creation time: 1581574441000] + metadata = entries=[Mp4Timestamp: creation time=3664419241, modification time=3664419241, timescale=600] sample 0: time = 256000 flags = 536870913 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3.mp4.unknown_length.dump index c439bdb87c..f34f662d59 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3.mp4.unknown_length.dump @@ -18,7 +18,7 @@ track 0: channelCount = 6 sampleRate = 48000 language = und - metadata = entries=[Creation time: 1581574441000] + metadata = entries=[Mp4Timestamp: creation time=3664419241, modification time=3664419241, timescale=600] sample 0: time = 0 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4.mp4.0.dump index 3f8b7c6b8d..5ef2c7cbe6 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4.mp4.0.dump @@ -16,7 +16,7 @@ track 0: channelCount = 2 sampleRate = 48000 language = und - metadata = entries=[Creation time: 1578288075000] + metadata = entries=[Mp4Timestamp: creation time=3661132875, modification time=3661132875, timescale=600] sample 0: time = 0 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4.mp4.1.dump index 3f8b7c6b8d..5ef2c7cbe6 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4.mp4.1.dump @@ -16,7 +16,7 @@ track 0: channelCount = 2 sampleRate = 48000 language = und - metadata = entries=[Creation time: 1578288075000] + metadata = entries=[Mp4Timestamp: creation time=3661132875, modification time=3661132875, timescale=600] sample 0: time = 0 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4.mp4.2.dump index 3f8b7c6b8d..5ef2c7cbe6 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4.mp4.2.dump @@ -16,7 +16,7 @@ track 0: channelCount = 2 sampleRate = 48000 language = und - metadata = entries=[Creation time: 1578288075000] + metadata = entries=[Mp4Timestamp: creation time=3661132875, modification time=3661132875, timescale=600] sample 0: time = 0 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4.mp4.3.dump index 3f8b7c6b8d..5ef2c7cbe6 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4.mp4.3.dump @@ -16,7 +16,7 @@ track 0: channelCount = 2 sampleRate = 48000 language = und - metadata = entries=[Creation time: 1578288075000] + metadata = entries=[Mp4Timestamp: creation time=3661132875, modification time=3661132875, timescale=600] sample 0: time = 0 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4.mp4.unknown_length.dump index 3f8b7c6b8d..5ef2c7cbe6 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4.mp4.unknown_length.dump @@ -16,7 +16,7 @@ track 0: channelCount = 2 sampleRate = 48000 language = und - metadata = entries=[Creation time: 1578288075000] + metadata = entries=[Mp4Timestamp: creation time=3661132875, modification time=3661132875, timescale=600] sample 0: time = 0 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.0.dump index e0e71760a5..9934b26bb2 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.0.dump @@ -22,7 +22,7 @@ track 0: colorRange = 1 colorTransfer = -1 hdrStaticInfo = length 0, hash 0 - metadata = entries=[mdta: key=major_brand, value=mp42, mdta: key=minor_version, value=0, mdta: key=compatible_brands, value=isommp42, mdta: key=com.android.capture.fps, value=240.0, mdta: key=com.android.version, value=10, mdta: key=encoder, value=Lavf58.29.100, Creation time: unset] + metadata = entries=[mdta: key=major_brand, value=mp42, mdta: key=minor_version, value=0, mdta: key=compatible_brands, value=isommp42, mdta: key=com.android.capture.fps, value=240.0, mdta: key=com.android.version, value=10, mdta: key=encoder, value=Lavf58.29.100, Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 22, hash 4CF81805 data = length 9, hash FBAFBA1C diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.1.dump index e0e71760a5..9934b26bb2 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.1.dump @@ -22,7 +22,7 @@ track 0: colorRange = 1 colorTransfer = -1 hdrStaticInfo = length 0, hash 0 - metadata = entries=[mdta: key=major_brand, value=mp42, mdta: key=minor_version, value=0, mdta: key=compatible_brands, value=isommp42, mdta: key=com.android.capture.fps, value=240.0, mdta: key=com.android.version, value=10, mdta: key=encoder, value=Lavf58.29.100, Creation time: unset] + metadata = entries=[mdta: key=major_brand, value=mp42, mdta: key=minor_version, value=0, mdta: key=compatible_brands, value=isommp42, mdta: key=com.android.capture.fps, value=240.0, mdta: key=com.android.version, value=10, mdta: key=encoder, value=Lavf58.29.100, Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 22, hash 4CF81805 data = length 9, hash FBAFBA1C diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.2.dump index e0e71760a5..9934b26bb2 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.2.dump @@ -22,7 +22,7 @@ track 0: colorRange = 1 colorTransfer = -1 hdrStaticInfo = length 0, hash 0 - metadata = entries=[mdta: key=major_brand, value=mp42, mdta: key=minor_version, value=0, mdta: key=compatible_brands, value=isommp42, mdta: key=com.android.capture.fps, value=240.0, mdta: key=com.android.version, value=10, mdta: key=encoder, value=Lavf58.29.100, Creation time: unset] + metadata = entries=[mdta: key=major_brand, value=mp42, mdta: key=minor_version, value=0, mdta: key=compatible_brands, value=isommp42, mdta: key=com.android.capture.fps, value=240.0, mdta: key=com.android.version, value=10, mdta: key=encoder, value=Lavf58.29.100, Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 22, hash 4CF81805 data = length 9, hash FBAFBA1C diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.3.dump index e0e71760a5..9934b26bb2 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.3.dump @@ -22,7 +22,7 @@ track 0: colorRange = 1 colorTransfer = -1 hdrStaticInfo = length 0, hash 0 - metadata = entries=[mdta: key=major_brand, value=mp42, mdta: key=minor_version, value=0, mdta: key=compatible_brands, value=isommp42, mdta: key=com.android.capture.fps, value=240.0, mdta: key=com.android.version, value=10, mdta: key=encoder, value=Lavf58.29.100, Creation time: unset] + metadata = entries=[mdta: key=major_brand, value=mp42, mdta: key=minor_version, value=0, mdta: key=compatible_brands, value=isommp42, mdta: key=com.android.capture.fps, value=240.0, mdta: key=com.android.version, value=10, mdta: key=encoder, value=Lavf58.29.100, Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 22, hash 4CF81805 data = length 9, hash FBAFBA1C diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.unknown_length.dump index e0e71760a5..9934b26bb2 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.unknown_length.dump @@ -22,7 +22,7 @@ track 0: colorRange = 1 colorTransfer = -1 hdrStaticInfo = length 0, hash 0 - metadata = entries=[mdta: key=major_brand, value=mp42, mdta: key=minor_version, value=0, mdta: key=compatible_brands, value=isommp42, mdta: key=com.android.capture.fps, value=240.0, mdta: key=com.android.version, value=10, mdta: key=encoder, value=Lavf58.29.100, Creation time: unset] + metadata = entries=[mdta: key=major_brand, value=mp42, mdta: key=minor_version, value=0, mdta: key=compatible_brands, value=isommp42, mdta: key=com.android.capture.fps, value=240.0, mdta: key=com.android.version, value=10, mdta: key=encoder, value=Lavf58.29.100, Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 22, hash 4CF81805 data = length 9, hash FBAFBA1C diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_dthd.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_dthd.mp4.0.dump index 34dcb5ec57..b4d61e8eca 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_dthd.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_dthd.mp4.0.dump @@ -16,7 +16,7 @@ track 0: channelCount = 2 sampleRate = 48000 language = und - metadata = entries=[Creation time: 1633006610000] + metadata = entries=[Mp4Timestamp: creation time=3715851410, modification time=3715851410, timescale=48000] sample 0: time = 0 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_dthd.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_dthd.mp4.1.dump index 397648bbf0..48af021b49 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_dthd.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_dthd.mp4.1.dump @@ -16,7 +16,7 @@ track 0: channelCount = 2 sampleRate = 48000 language = und - metadata = entries=[Creation time: 1633006610000] + metadata = entries=[Mp4Timestamp: creation time=3715851410, modification time=3715851410, timescale=48000] sample 0: time = 106666 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_dthd.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_dthd.mp4.2.dump index 2a9f5f6761..3dd9c397b2 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_dthd.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_dthd.mp4.2.dump @@ -16,7 +16,7 @@ track 0: channelCount = 2 sampleRate = 48000 language = und - metadata = entries=[Creation time: 1633006610000] + metadata = entries=[Mp4Timestamp: creation time=3715851410, modification time=3715851410, timescale=48000] sample 0: time = 213333 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_dthd.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_dthd.mp4.3.dump index 3cf9d0d533..c97a41a818 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_dthd.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_dthd.mp4.3.dump @@ -16,7 +16,7 @@ track 0: channelCount = 2 sampleRate = 48000 language = und - metadata = entries=[Creation time: 1633006610000] + metadata = entries=[Mp4Timestamp: creation time=3715851410, modification time=3715851410, timescale=48000] sample 0: time = 320000 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_dthd.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_dthd.mp4.unknown_length.dump index 34dcb5ec57..b4d61e8eca 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_dthd.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_dthd.mp4.unknown_length.dump @@ -16,7 +16,7 @@ track 0: channelCount = 2 sampleRate = 48000 language = und - metadata = entries=[Creation time: 1633006610000] + metadata = entries=[Mp4Timestamp: creation time=3715851410, modification time=3715851410, timescale=48000] sample 0: time = 0 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3.mp4.0.dump index eb699e0e7e..85724d3d90 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3.mp4.0.dump @@ -17,7 +17,7 @@ track 0: channelCount = 6 sampleRate = 48000 language = und - metadata = entries=[Creation time: 1579241726000] + metadata = entries=[Mp4Timestamp: creation time=3662086526, modification time=3662086526, timescale=48000] sample 0: time = 0 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3.mp4.1.dump index d733e75236..4217a6a51b 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3.mp4.1.dump @@ -17,7 +17,7 @@ track 0: channelCount = 6 sampleRate = 48000 language = und - metadata = entries=[Creation time: 1579241726000] + metadata = entries=[Mp4Timestamp: creation time=3662086526, modification time=3662086526, timescale=48000] sample 0: time = 576000 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3.mp4.2.dump index 2a88801530..760cb3b450 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3.mp4.2.dump @@ -17,7 +17,7 @@ track 0: channelCount = 6 sampleRate = 48000 language = und - metadata = entries=[Creation time: 1579241726000] + metadata = entries=[Mp4Timestamp: creation time=3662086526, modification time=3662086526, timescale=48000] sample 0: time = 1152000 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3.mp4.3.dump index 28e312db8b..892e1a4288 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3.mp4.3.dump @@ -17,7 +17,7 @@ track 0: channelCount = 6 sampleRate = 48000 language = und - metadata = entries=[Creation time: 1579241726000] + metadata = entries=[Mp4Timestamp: creation time=3662086526, modification time=3662086526, timescale=48000] sample 0: time = 1696000 flags = 536870913 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3.mp4.unknown_length.dump index eb699e0e7e..85724d3d90 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3.mp4.unknown_length.dump @@ -17,7 +17,7 @@ track 0: channelCount = 6 sampleRate = 48000 language = und - metadata = entries=[Creation time: 1579241726000] + metadata = entries=[Mp4Timestamp: creation time=3662086526, modification time=3662086526, timescale=48000] sample 0: time = 0 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc.mp4.0.dump index f1e1856ba6..607c378d9d 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc.mp4.0.dump @@ -17,7 +17,7 @@ track 0: channelCount = 6 sampleRate = 48000 language = und - metadata = entries=[Creation time: 1579242140000] + metadata = entries=[Mp4Timestamp: creation time=3662086940, modification time=3662086940, timescale=48000] sample 0: time = 0 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc.mp4.1.dump index 1bb6e995ba..beaeaf98ca 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc.mp4.1.dump @@ -17,7 +17,7 @@ track 0: channelCount = 6 sampleRate = 48000 language = und - metadata = entries=[Creation time: 1579242140000] + metadata = entries=[Mp4Timestamp: creation time=3662086940, modification time=3662086940, timescale=48000] sample 0: time = 672000 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc.mp4.2.dump index 54eeda84b8..79b8942def 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc.mp4.2.dump @@ -17,7 +17,7 @@ track 0: channelCount = 6 sampleRate = 48000 language = und - metadata = entries=[Creation time: 1579242140000] + metadata = entries=[Mp4Timestamp: creation time=3662086940, modification time=3662086940, timescale=48000] sample 0: time = 1344000 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc.mp4.3.dump index 305fca5e19..e4612fa0b2 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc.mp4.3.dump @@ -17,7 +17,7 @@ track 0: channelCount = 6 sampleRate = 48000 language = und - metadata = entries=[Creation time: 1579242140000] + metadata = entries=[Mp4Timestamp: creation time=3662086940, modification time=3662086940, timescale=48000] sample 0: time = 2016000 flags = 536870913 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc.mp4.unknown_length.dump index f1e1856ba6..607c378d9d 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc.mp4.unknown_length.dump @@ -17,7 +17,7 @@ track 0: channelCount = 6 sampleRate = 48000 language = und - metadata = entries=[Creation time: 1579242140000] + metadata = entries=[Mp4Timestamp: creation time=3662086940, modification time=3662086940, timescale=48000] sample 0: time = 0 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.0.dump index 215220346b..6cc174d044 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.0.dump @@ -17,7 +17,7 @@ track 0: width = 1080 height = 720 frameRate = 29.970028 - metadata = entries=[Creation time: 1464714095000] + metadata = entries=[Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B @@ -153,7 +153,7 @@ track 1: channelCount = 1 sampleRate = 44100 language = und - metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Creation time: 1464714095000] + metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 2, hash 5F7 sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.1.dump index adf4feda52..6e515c38d1 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.1.dump @@ -17,7 +17,7 @@ track 0: width = 1080 height = 720 frameRate = 29.970028 - metadata = entries=[Creation time: 1464714095000] + metadata = entries=[Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B @@ -153,7 +153,7 @@ track 1: channelCount = 1 sampleRate = 44100 language = und - metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Creation time: 1464714095000] + metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 2, hash 5F7 sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.2.dump index 6e5607255c..73f61d4d19 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.2.dump @@ -17,7 +17,7 @@ track 0: width = 1080 height = 720 frameRate = 29.970028 - metadata = entries=[Creation time: 1464714095000] + metadata = entries=[Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B @@ -153,7 +153,7 @@ track 1: channelCount = 1 sampleRate = 44100 language = und - metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Creation time: 1464714095000] + metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 2, hash 5F7 sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.3.dump index 6ae233362f..9f2796b90c 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.3.dump @@ -17,7 +17,7 @@ track 0: width = 1080 height = 720 frameRate = 29.970028 - metadata = entries=[Creation time: 1464714095000] + metadata = entries=[Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B @@ -153,7 +153,7 @@ track 1: channelCount = 1 sampleRate = 44100 language = und - metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Creation time: 1464714095000] + metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 2, hash 5F7 sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.unknown_length.dump index 215220346b..6cc174d044 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.unknown_length.dump @@ -17,7 +17,7 @@ track 0: width = 1080 height = 720 frameRate = 29.970028 - metadata = entries=[Creation time: 1464714095000] + metadata = entries=[Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B @@ -153,7 +153,7 @@ track 1: channelCount = 1 sampleRate = 44100 language = und - metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Creation time: 1464714095000] + metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 2, hash 5F7 sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mha1.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mha1.mp4.0.dump index e5949030cd..82697f2f5c 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mha1.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mha1.mp4.0.dump @@ -18,7 +18,7 @@ track 0: encoderDelay = 3072 encoderPadding = 255 language = und - metadata = entries=[Creation time: 1619054108000] + metadata = entries=[Mp4Timestamp: creation time=3701898908, modification time=3701898908, timescale=48000] initializationData: data = length 26, hash 4E58F6C7 sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mha1.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mha1.mp4.1.dump index e5949030cd..82697f2f5c 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mha1.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mha1.mp4.1.dump @@ -18,7 +18,7 @@ track 0: encoderDelay = 3072 encoderPadding = 255 language = und - metadata = entries=[Creation time: 1619054108000] + metadata = entries=[Mp4Timestamp: creation time=3701898908, modification time=3701898908, timescale=48000] initializationData: data = length 26, hash 4E58F6C7 sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mha1.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mha1.mp4.2.dump index b16d84f8c5..9cfc34af92 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mha1.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mha1.mp4.2.dump @@ -18,7 +18,7 @@ track 0: encoderDelay = 3072 encoderPadding = 255 language = und - metadata = entries=[Creation time: 1619054108000] + metadata = entries=[Mp4Timestamp: creation time=3701898908, modification time=3701898908, timescale=48000] initializationData: data = length 26, hash 4E58F6C7 sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mha1.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mha1.mp4.3.dump index 35f4e7adc1..8827b69f2e 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mha1.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mha1.mp4.3.dump @@ -18,7 +18,7 @@ track 0: encoderDelay = 3072 encoderPadding = 255 language = und - metadata = entries=[Creation time: 1619054108000] + metadata = entries=[Mp4Timestamp: creation time=3701898908, modification time=3701898908, timescale=48000] initializationData: data = length 26, hash 4E58F6C7 sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mha1.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mha1.mp4.unknown_length.dump index e5949030cd..82697f2f5c 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mha1.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mha1.mp4.unknown_length.dump @@ -18,7 +18,7 @@ track 0: encoderDelay = 3072 encoderPadding = 255 language = und - metadata = entries=[Creation time: 1619054108000] + metadata = entries=[Mp4Timestamp: creation time=3701898908, modification time=3701898908, timescale=48000] initializationData: data = length 26, hash 4E58F6C7 sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mhm1.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mhm1.mp4.0.dump index da924d7046..7a90b85f07 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mhm1.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mhm1.mp4.0.dump @@ -18,7 +18,7 @@ track 0: encoderDelay = 3072 encoderPadding = 255 language = und - metadata = entries=[Creation time: 1619054108000] + metadata = entries=[Mp4Timestamp: creation time=3701898908, modification time=3701898908, timescale=48000] initializationData: data = length 26, hash 4E58F6C7 sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mhm1.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mhm1.mp4.1.dump index da924d7046..7a90b85f07 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mhm1.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mhm1.mp4.1.dump @@ -18,7 +18,7 @@ track 0: encoderDelay = 3072 encoderPadding = 255 language = und - metadata = entries=[Creation time: 1619054108000] + metadata = entries=[Mp4Timestamp: creation time=3701898908, modification time=3701898908, timescale=48000] initializationData: data = length 26, hash 4E58F6C7 sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mhm1.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mhm1.mp4.2.dump index bb0b563cff..b499a43773 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mhm1.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mhm1.mp4.2.dump @@ -18,7 +18,7 @@ track 0: encoderDelay = 3072 encoderPadding = 255 language = und - metadata = entries=[Creation time: 1619054108000] + metadata = entries=[Mp4Timestamp: creation time=3701898908, modification time=3701898908, timescale=48000] initializationData: data = length 26, hash 4E58F6C7 sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mhm1.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mhm1.mp4.3.dump index c158100beb..40d39a2132 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mhm1.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mhm1.mp4.3.dump @@ -18,7 +18,7 @@ track 0: encoderDelay = 3072 encoderPadding = 255 language = und - metadata = entries=[Creation time: 1619054108000] + metadata = entries=[Mp4Timestamp: creation time=3701898908, modification time=3701898908, timescale=48000] initializationData: data = length 26, hash 4E58F6C7 sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mhm1.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mhm1.mp4.unknown_length.dump index da924d7046..7a90b85f07 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mhm1.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mpegh_mhm1.mp4.unknown_length.dump @@ -18,7 +18,7 @@ track 0: encoderDelay = 3072 encoderPadding = 255 language = und - metadata = entries=[Creation time: 1619054108000] + metadata = entries=[Mp4Timestamp: creation time=3701898908, modification time=3701898908, timescale=48000] initializationData: data = length 26, hash 4E58F6C7 sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus.mp4.0.dump index e78e0264a8..36e01036bf 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus.mp4.0.dump @@ -16,7 +16,7 @@ track 0: channelCount = 2 sampleRate = 48000 language = und - metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], Creation time: unset] + metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 19, hash 86852AE2 data = length 8, hash 72CBCBF5 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus.mp4.1.dump index 010c3f7591..4c06b11615 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus.mp4.1.dump @@ -16,7 +16,7 @@ track 0: channelCount = 2 sampleRate = 48000 language = und - metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], Creation time: unset] + metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 19, hash 86852AE2 data = length 8, hash 72CBCBF5 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus.mp4.2.dump index 8ad198417c..e003409fed 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus.mp4.2.dump @@ -16,7 +16,7 @@ track 0: channelCount = 2 sampleRate = 48000 language = und - metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], Creation time: unset] + metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 19, hash 86852AE2 data = length 8, hash 72CBCBF5 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus.mp4.3.dump index 7a15918402..b422b8f8ac 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus.mp4.3.dump @@ -16,7 +16,7 @@ track 0: channelCount = 2 sampleRate = 48000 language = und - metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], Creation time: unset] + metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 19, hash 86852AE2 data = length 8, hash 72CBCBF5 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus.mp4.unknown_length.dump index e78e0264a8..36e01036bf 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus.mp4.unknown_length.dump @@ -16,7 +16,7 @@ track 0: channelCount = 2 sampleRate = 48000 language = und - metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], Creation time: unset] + metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 19, hash 86852AE2 data = length 8, hash 72CBCBF5 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.0.dump index db591713a7..efc734ce30 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.0.dump @@ -23,7 +23,7 @@ track 0: colorRange = 2 colorTransfer = 7 hdrStaticInfo = length 0, hash 0 - metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Creation time: 1621959711000] + metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Mp4Timestamp: creation time=3704804511, modification time=3704804511, timescale=600] initializationData: data = length 526, hash 7B3FC433 sample 0: @@ -75,7 +75,7 @@ track 1: sampleRate = 44100 encoderPadding = 2204 language = und - metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Creation time: 1621959711000] + metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Mp4Timestamp: creation time=3704804511, modification time=3704804511, timescale=600] initializationData: data = length 2, hash 5FF sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.1.dump index fa7930bac7..60fbc1d8a8 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.1.dump @@ -23,7 +23,7 @@ track 0: colorRange = 2 colorTransfer = 7 hdrStaticInfo = length 0, hash 0 - metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Creation time: 1621959711000] + metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Mp4Timestamp: creation time=3704804511, modification time=3704804511, timescale=600] initializationData: data = length 526, hash 7B3FC433 sample 0: @@ -75,7 +75,7 @@ track 1: sampleRate = 44100 encoderPadding = 2204 language = und - metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Creation time: 1621959711000] + metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Mp4Timestamp: creation time=3704804511, modification time=3704804511, timescale=600] initializationData: data = length 2, hash 5FF sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.2.dump index ac44fcc3f1..9507679aca 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.2.dump @@ -23,7 +23,7 @@ track 0: colorRange = 2 colorTransfer = 7 hdrStaticInfo = length 0, hash 0 - metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Creation time: 1621959711000] + metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Mp4Timestamp: creation time=3704804511, modification time=3704804511, timescale=600] initializationData: data = length 526, hash 7B3FC433 sample 0: @@ -75,7 +75,7 @@ track 1: sampleRate = 44100 encoderPadding = 2204 language = und - metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Creation time: 1621959711000] + metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Mp4Timestamp: creation time=3704804511, modification time=3704804511, timescale=600] initializationData: data = length 2, hash 5FF sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.3.dump index 23d6d28e09..d23c1cce97 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.3.dump @@ -23,7 +23,7 @@ track 0: colorRange = 2 colorTransfer = 7 hdrStaticInfo = length 0, hash 0 - metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Creation time: 1621959711000] + metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Mp4Timestamp: creation time=3704804511, modification time=3704804511, timescale=600] initializationData: data = length 526, hash 7B3FC433 sample 0: @@ -75,7 +75,7 @@ track 1: sampleRate = 44100 encoderPadding = 2204 language = und - metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Creation time: 1621959711000] + metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Mp4Timestamp: creation time=3704804511, modification time=3704804511, timescale=600] initializationData: data = length 2, hash 5FF sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.unknown_length.dump index db591713a7..efc734ce30 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.unknown_length.dump @@ -23,7 +23,7 @@ track 0: colorRange = 2 colorTransfer = 7 hdrStaticInfo = length 0, hash 0 - metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Creation time: 1621959711000] + metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Mp4Timestamp: creation time=3704804511, modification time=3704804511, timescale=600] initializationData: data = length 526, hash 7B3FC433 sample 0: @@ -75,7 +75,7 @@ track 1: sampleRate = 44100 encoderPadding = 2204 language = und - metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Creation time: 1621959711000] + metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Mp4Timestamp: creation time=3704804511, modification time=3704804511, timescale=600] initializationData: data = length 2, hash 5FF sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.0.dump index b6e0b883f0..0a654c1909 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.0.dump @@ -21,7 +21,7 @@ track 0: colorRange = 2 colorTransfer = 6 hdrStaticInfo = length 25, hash 423AFC35 - metadata = entries=[Creation time: unset] + metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000] sample 0: time = 0 flags = 1 @@ -275,7 +275,7 @@ track 1: channelCount = 2 sampleRate = 44100 language = und - metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Creation time: unset] + metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 16, hash CAA21BBF sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.1.dump index f9e2cb0b87..d0f6ca7803 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.1.dump @@ -21,7 +21,7 @@ track 0: colorRange = 2 colorTransfer = 6 hdrStaticInfo = length 25, hash 423AFC35 - metadata = entries=[Creation time: unset] + metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000] sample 0: time = 0 flags = 1 @@ -275,7 +275,7 @@ track 1: channelCount = 2 sampleRate = 44100 language = und - metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Creation time: unset] + metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 16, hash CAA21BBF sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.2.dump index 8089552238..5cbf12b076 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.2.dump @@ -21,7 +21,7 @@ track 0: colorRange = 2 colorTransfer = 6 hdrStaticInfo = length 25, hash 423AFC35 - metadata = entries=[Creation time: unset] + metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000] sample 0: time = 0 flags = 1 @@ -275,7 +275,7 @@ track 1: channelCount = 2 sampleRate = 44100 language = und - metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Creation time: unset] + metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 16, hash CAA21BBF sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.3.dump index 0f68eba7d0..532b2ebb31 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.3.dump @@ -21,7 +21,7 @@ track 0: colorRange = 2 colorTransfer = 6 hdrStaticInfo = length 25, hash 423AFC35 - metadata = entries=[Creation time: unset] + metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000] sample 0: time = 0 flags = 1 @@ -275,7 +275,7 @@ track 1: channelCount = 2 sampleRate = 44100 language = und - metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Creation time: unset] + metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 16, hash CAA21BBF sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.unknown_length.dump index b6e0b883f0..0a654c1909 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.unknown_length.dump @@ -21,7 +21,7 @@ track 0: colorRange = 2 colorTransfer = 6 hdrStaticInfo = length 25, hash 423AFC35 - metadata = entries=[Creation time: unset] + metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000] sample 0: time = 0 flags = 1 @@ -275,7 +275,7 @@ track 1: channelCount = 2 sampleRate = 44100 language = und - metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Creation time: unset] + metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 16, hash CAA21BBF sample 0: diff --git a/libraries/test_data/src/test/assets/muxerdumps/audio_track_tkhd_box.dump b/libraries/test_data/src/test/assets/muxerdumps/audio_track_tkhd_box.dump index 63f99c7e49..5b1c2f92e7 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/audio_track_tkhd_box.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/audio_track_tkhd_box.dump @@ -1,2 +1,2 @@ tkhd (92 bytes): - Data = length 84, hash 2AEDD676 + Data = length 84, hash 8F9E5354 diff --git a/libraries/test_data/src/test/assets/muxerdumps/h265_with_metadata_track.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/h265_with_metadata_track.mp4.dump index 9a91d6d55b..3a6e15e23f 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/h265_with_metadata_track.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/h265_with_metadata_track.mp4.dump @@ -13,7 +13,7 @@ track 0: id = 1 sampleMimeType = application/meta maxInputSize = 161 - metadata = entries=[Creation time: 500000000] + metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000] sample 0: time = 0 flags = 1 @@ -39,7 +39,7 @@ track 1: channelCount = 2 sampleRate = 48000 language = ``` - metadata = entries=[Creation time: 500000000] + metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000] initializationData: data = length 2, hash 560 sample 0: @@ -70,7 +70,7 @@ track 2: colorRange = 1 colorTransfer = 3 hdrStaticInfo = length 0, hash 0 - metadata = entries=[Creation time: 500000000] + metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000] initializationData: data = length 85, hash 6F3CAA16 sample 0: diff --git a/libraries/test_data/src/test/assets/muxerdumps/hdr10-720p.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/hdr10-720p.mp4.dump index 412a211eb5..e424e7cb8a 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/hdr10-720p.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/hdr10-720p.mp4.dump @@ -22,7 +22,7 @@ track 0: colorRange = 2 colorTransfer = 6 hdrStaticInfo = length 0, hash 0 - metadata = entries=[Creation time: 500000000] + metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000] initializationData: data = length 99, hash 99842E5A sample 0: @@ -546,7 +546,7 @@ track 1: channelCount = 2 sampleRate = 48000 language = ``` - metadata = entries=[Creation time: 500000000] + metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000] initializationData: data = length 2, hash 560 sample 0: diff --git a/libraries/test_data/src/test/assets/muxerdumps/mdhd_box.dump b/libraries/test_data/src/test/assets/muxerdumps/mdhd_box.dump index af475b24b4..12a2a4804f 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mdhd_box.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mdhd_box.dump @@ -1,2 +1,2 @@ mdhd (32 bytes): - Data = length 24, hash E3506098 + Data = length 24, hash D0792E76 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_0_orientation.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_0_orientation.mp4.dump index 17454e1439..7b75a45812 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_0_orientation.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_0_orientation.mp4.dump @@ -21,7 +21,7 @@ track 0: colorRange = 1 colorTransfer = -1 hdrStaticInfo = length 0, hash 0 - metadata = entries=[Creation time: 5000000] + metadata = entries=[Mp4Timestamp: creation time=2082849800, modification time=2082849800, timescale=10000] initializationData: data = length 28, hash 410B510 data = length 9, hash FBADD682 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_180_orientation.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_180_orientation.mp4.dump index b8fb946b57..1a7a264f63 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_180_orientation.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_180_orientation.mp4.dump @@ -22,7 +22,7 @@ track 0: colorRange = 1 colorTransfer = -1 hdrStaticInfo = length 0, hash 0 - metadata = entries=[Creation time: 5000000] + metadata = entries=[Mp4Timestamp: creation time=2082849800, modification time=2082849800, timescale=10000] initializationData: data = length 28, hash 410B510 data = length 9, hash FBADD682 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_270_orientation.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_270_orientation.mp4.dump index db57dd49d1..fc5840bba3 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_270_orientation.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_270_orientation.mp4.dump @@ -22,7 +22,7 @@ track 0: colorRange = 1 colorTransfer = -1 hdrStaticInfo = length 0, hash 0 - metadata = entries=[Creation time: 5000000] + metadata = entries=[Mp4Timestamp: creation time=2082849800, modification time=2082849800, timescale=10000] initializationData: data = length 28, hash 410B510 data = length 9, hash FBADD682 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_90_orientation.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_90_orientation.mp4.dump index c44b68fed2..aaa1481d87 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_90_orientation.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_90_orientation.mp4.dump @@ -22,7 +22,7 @@ track 0: colorRange = 1 colorTransfer = -1 hdrStaticInfo = length 0, hash 0 - metadata = entries=[Creation time: 5000000] + metadata = entries=[Mp4Timestamp: creation time=2082849800, modification time=2082849800, timescale=10000] initializationData: data = length 28, hash 410B510 data = length 9, hash FBADD682 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_different_tracks_offset.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_different_tracks_offset.mp4.dump index 3e0c36c061..cf68305682 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_different_tracks_offset.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_different_tracks_offset.mp4.dump @@ -22,7 +22,7 @@ track 0: colorRange = 1 colorTransfer = -1 hdrStaticInfo = length 0, hash 0 - metadata = entries=[Creation time: 500000000] + metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000] initializationData: data = length 28, hash 410B510 data = length 9, hash FBADD682 @@ -50,7 +50,7 @@ track 1: colorRange = 1 colorTransfer = -1 hdrStaticInfo = length 0, hash 0 - metadata = entries=[Creation time: 500000000] + metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000] initializationData: data = length 28, hash 410B510 data = length 9, hash FBADD682 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_frame_rate.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_frame_rate.mp4.dump index 1e4545cf1b..57bb4a14ee 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_frame_rate.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_frame_rate.mp4.dump @@ -21,7 +21,7 @@ track 0: colorRange = 1 colorTransfer = -1 hdrStaticInfo = length 0, hash 0 - metadata = entries=[mdta: key=com.android.capture.fps, value=120.0, Creation time: 5000000] + metadata = entries=[mdta: key=com.android.capture.fps, value=120.0, Mp4Timestamp: creation time=2082849800, modification time=2082849800, timescale=10000] initializationData: data = length 28, hash 410B510 data = length 9, hash FBADD682 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_location.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_location.mp4.dump index bcf4ce36ee..cdc33c2405 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_location.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_location.mp4.dump @@ -21,7 +21,7 @@ track 0: colorRange = 1 colorTransfer = -1 hdrStaticInfo = length 0, hash 0 - metadata = entries=[xyz: latitude=33.0, longitude=-120.0, Creation time: 5000000] + metadata = entries=[xyz: latitude=33.0, longitude=-120.0, Mp4Timestamp: creation time=2082849800, modification time=2082849800, timescale=10000] initializationData: data = length 28, hash 410B510 data = length 9, hash FBADD682 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_null_location.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_null_location.mp4.dump index 17454e1439..7b75a45812 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_null_location.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_null_location.mp4.dump @@ -21,7 +21,7 @@ track 0: colorRange = 1 colorTransfer = -1 hdrStaticInfo = length 0, hash 0 - metadata = entries=[Creation time: 5000000] + metadata = entries=[Mp4Timestamp: creation time=2082849800, modification time=2082849800, timescale=10000] initializationData: data = length 28, hash 410B510 data = length 9, hash FBADD682 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_same_tracks_offset.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_same_tracks_offset.mp4.dump index 3e0c36c061..cf68305682 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_same_tracks_offset.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_same_tracks_offset.mp4.dump @@ -22,7 +22,7 @@ track 0: colorRange = 1 colorTransfer = -1 hdrStaticInfo = length 0, hash 0 - metadata = entries=[Creation time: 500000000] + metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000] initializationData: data = length 28, hash 410B510 data = length 9, hash FBADD682 @@ -50,7 +50,7 @@ track 1: colorRange = 1 colorTransfer = -1 hdrStaticInfo = length 0, hash 0 - metadata = entries=[Creation time: 500000000] + metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000] initializationData: data = length 28, hash 410B510 data = length 9, hash FBADD682 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mvhd_box.dump b/libraries/test_data/src/test/assets/muxerdumps/mvhd_box.dump index f1699ce07f..42578f37bd 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mvhd_box.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mvhd_box.dump @@ -1,2 +1,2 @@ mvhd (108 bytes): - Data = length 100, hash E35D7A28 + Data = length 100, hash 22E47B06 diff --git a/libraries/test_data/src/test/assets/muxerdumps/partial_hdr10-720p.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/partial_hdr10-720p.mp4.dump index d3be3ccd8a..b34e911d50 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/partial_hdr10-720p.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/partial_hdr10-720p.mp4.dump @@ -22,7 +22,7 @@ track 0: colorRange = 2 colorTransfer = 6 hdrStaticInfo = length 0, hash 0 - metadata = entries=[Creation time: 500000000] + metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000] initializationData: data = length 99, hash 99842E5A sample 0: @@ -414,7 +414,7 @@ track 1: channelCount = 2 sampleRate = 48000 language = ``` - metadata = entries=[Creation time: 500000000] + metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000] initializationData: data = length 2, hash 560 sample 0: diff --git a/libraries/test_data/src/test/assets/muxerdumps/sample.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/sample.mp4.dump index 28a9db658a..79f83fab37 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/sample.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/sample.mp4.dump @@ -17,7 +17,7 @@ track 0: width = 1080 height = 720 frameRate = 32.113037 - metadata = entries=[Creation time: 500000000] + metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B @@ -153,7 +153,7 @@ track 1: channelCount = 1 sampleRate = 44100 language = und - metadata = entries=[Creation time: 500000000] + metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000] initializationData: data = length 2, hash 5F7 sample 0: diff --git a/libraries/test_data/src/test/assets/muxerdumps/sample_av1.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/sample_av1.mp4.dump index ba29d7b3dc..ee99ef5b1f 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/sample_av1.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/sample_av1.mp4.dump @@ -16,7 +16,7 @@ track 0: width = 1080 height = 720 frameRate = 31.004547 - metadata = entries=[Creation time: 500000000] + metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000] sample 0: time = 0 flags = 1 @@ -150,7 +150,7 @@ track 1: channelCount = 1 sampleRate = 44100 language = und - metadata = entries=[Creation time: 500000000] + metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000] initializationData: data = length 5, hash 2B7623A sample 0: diff --git a/libraries/test_data/src/test/assets/muxerdumps/video_track_tkhd_box.dump b/libraries/test_data/src/test/assets/muxerdumps/video_track_tkhd_box.dump index 51e4758ece..acf4f75d5a 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/video_track_tkhd_box.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/video_track_tkhd_box.dump @@ -1,2 +1,2 @@ tkhd (92 bytes): - Data = length 84, hash 6BEE212D + Data = length 84, hash D09E9E0B diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.48000hz.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.48000hz.dump index 127bc18565..81ee0891af 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.48000hz.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.48000hz.dump @@ -6,19 +6,19 @@ format 0: width = 1080 height = 720 frameRate = 29.970028 - metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B -container metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] +container metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] format 1: averageBitrate = 131072 sampleMimeType = audio/mp4a-latm channelCount = 1 sampleRate = 48000 pcmEncoding = 2 - metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] -container metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] +container metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] sample: trackIndex = 1 dataHashCode = 1868041800 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.concatenated.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.concatenated.dump index e3aa4712f8..dbc4fdc77e 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.concatenated.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.concatenated.dump @@ -6,11 +6,11 @@ format 0: width = 1080 height = 720 frameRate = 29.970028 - metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B -container metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] +container metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] format 1: peakBitrate = 200000 id = 2 @@ -20,10 +20,10 @@ format 1: channelCount = 1 sampleRate = 44100 language = und - metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 2, hash 5F7 -container metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] +container metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] sample: trackIndex = 1 dataHashCode = 1205768497 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.concatenated_with_high_pitch_and_no_video.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.concatenated_with_high_pitch_and_no_video.dump index 9cbf3af748..8d0d954a24 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.concatenated_with_high_pitch_and_no_video.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.concatenated_with_high_pitch_and_no_video.dump @@ -4,8 +4,8 @@ format 0: channelCount = 1 sampleRate = 44100 pcmEncoding = 2 - metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] -container metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] +container metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] sample: trackIndex = 0 dataHashCode = 915609509 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.dump index 0b47b31392..fb6f33194d 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.dump @@ -6,11 +6,11 @@ format 0: width = 1080 height = 720 frameRate = 29.970028 - metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B -container metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] +container metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] format 1: peakBitrate = 200000 id = 2 @@ -20,10 +20,10 @@ format 1: channelCount = 1 sampleRate = 44100 language = und - metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 2, hash 5F7 -container metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] +container metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] sample: trackIndex = 1 dataHashCode = 1205768497 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.noaudio.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.noaudio.dump index ed91ad41a6..3d37e42433 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.noaudio.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.noaudio.dump @@ -6,11 +6,11 @@ format 0: width = 1080 height = 720 frameRate = 29.970028 - metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B -container metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] +container metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] sample: trackIndex = 0 dataHashCode = -770308242 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.novideo.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.novideo.dump index dcc1cf8332..6af66cb3d7 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.novideo.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.novideo.dump @@ -7,10 +7,10 @@ format 0: channelCount = 1 sampleRate = 44100 language = und - metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 2, hash 5F7 -container metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] +container metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] sample: trackIndex = 0 dataHashCode = 1205768497 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.rotated.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.rotated.dump index b822176c6d..1f3ebfcd98 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.rotated.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.rotated.dump @@ -7,11 +7,11 @@ format 0: height = 720 frameRate = 29.970028 rotationDegrees = 90 - metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B -container metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] +container metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] format 1: peakBitrate = 200000 id = 2 @@ -21,10 +21,10 @@ format 1: channelCount = 1 sampleRate = 44100 language = und - metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 2, hash 5F7 -container metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] +container metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] sample: trackIndex = 1 dataHashCode = 1205768497 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.silence_then_audio.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.silence_then_audio.dump index c7e4370d80..e9d9b55d42 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.silence_then_audio.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.silence_then_audio.dump @@ -6,11 +6,11 @@ format 0: width = 1080 height = 720 frameRate = 29.970028 - metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B -container metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] +container metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] format 1: averageBitrate = 131072 sampleMimeType = audio/mp4a-latm diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.silence_then_audio_with_effects.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.silence_then_audio_with_effects.dump index c22bf0039f..0aadffffb9 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.silence_then_audio_with_effects.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.silence_then_audio_with_effects.dump @@ -6,11 +6,11 @@ format 0: width = 1080 height = 720 frameRate = 29.970028 - metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B -container metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] +container metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] format 1: averageBitrate = 131072 sampleMimeType = audio/mp4a-latm diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.silentaudio.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.silentaudio.dump index d959e9ad81..616c3a9f04 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.silentaudio.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.silentaudio.dump @@ -6,11 +6,11 @@ format 0: width = 1080 height = 720 frameRate = 29.970028 - metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B -container metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] +container metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] format 1: averageBitrate = 131072 sampleMimeType = audio/mp4a-latm diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.with_capture_fps.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.with_capture_fps.dump index 075ee461b0..520b52eb37 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.with_capture_fps.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.with_capture_fps.dump @@ -17,7 +17,7 @@ track 0: width = 1080 height = 720 frameRate = 32.113037 - metadata = entries=[mdta: key=com.android.capture.fps, value=60.0, xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[mdta: key=com.android.capture.fps, value=60.0, xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B @@ -153,7 +153,7 @@ track 1: channelCount = 1 sampleRate = 44100 language = und - metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000] initializationData: data = length 2, hash 5F7 sample 0: diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.with_creation_time.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.with_creation_time.dump index 4c8b08cafa..a23d9b86dd 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.with_creation_time.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.with_creation_time.dump @@ -17,7 +17,7 @@ track 0: width = 1080 height = 720 frameRate = 32.113037 - metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 2000000000000] + metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=2000000000, modification time=2000000000, timescale=10000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B @@ -153,7 +153,7 @@ track 1: channelCount = 1 sampleRate = 44100 language = und - metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 2000000000000] + metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=2000000000, modification time=2000000000, timescale=10000] initializationData: data = length 2, hash 5F7 sample 0: diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.with_custom_metadata.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.with_custom_metadata.dump index 0134c4666c..661bf62c5b 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.with_custom_metadata.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.with_custom_metadata.dump @@ -17,7 +17,7 @@ track 0: width = 1080 height = 720 frameRate = 32.113037 - metadata = entries=[mdta: key=StringKey, value=StringValue, mdta: key=FloatKey, value=600.0, xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[mdta: key=StringKey, value=StringValue, mdta: key=FloatKey, value=600.0, xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B @@ -153,7 +153,7 @@ track 1: channelCount = 1 sampleRate = 44100 language = und - metadata = entries=[mdta: key=StringKey, value=StringValue, mdta: key=FloatKey, value=600.0, xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] + metadata = entries=[mdta: key=StringKey, value=StringValue, mdta: key=FloatKey, value=600.0, xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000] initializationData: data = length 2, hash 5F7 sample 0: diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.with_location_metadata.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.with_location_metadata.dump index d03c252875..431d44a355 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.with_location_metadata.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.with_location_metadata.dump @@ -17,7 +17,7 @@ track 0: width = 1080 height = 720 frameRate = 32.113037 - metadata = entries=[xyz: latitude=45.0, longitude=-90.0, Creation time: 1464714095000] + metadata = entries=[xyz: latitude=45.0, longitude=-90.0, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B @@ -153,7 +153,7 @@ track 1: channelCount = 1 sampleRate = 44100 language = und - metadata = entries=[xyz: latitude=45.0, longitude=-90.0, Creation time: 1464714095000] + metadata = entries=[xyz: latitude=45.0, longitude=-90.0, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000] initializationData: data = length 2, hash 5F7 sample 0: diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4.dump index 78a2e7dd5e..7c0bb775af 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4.dump @@ -11,11 +11,11 @@ format 0: colorRange = 2 colorTransfer = 3 hdrStaticInfo = length 0, hash 0 - metadata = entries=[Creation time: 1635264810000] + metadata = entries=[Mp4Timestamp: creation time=3718109610, modification time=3718109610, timescale=1000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B -container metadata = entries=[Creation time: 1635264810000] +container metadata = entries=[Mp4Timestamp: creation time=3718109610, modification time=3718109610, timescale=1000] sample: trackIndex = 0 dataHashCode = -770308242 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4.silentaudio.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4.silentaudio.dump index 706314db3b..427537b149 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4.silentaudio.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4.silentaudio.dump @@ -11,11 +11,11 @@ format 0: colorRange = 2 colorTransfer = 3 hdrStaticInfo = length 0, hash 0 - metadata = entries=[Creation time: 1635264810000] + metadata = entries=[Mp4Timestamp: creation time=3718109610, modification time=3718109610, timescale=1000] initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B -container metadata = entries=[Creation time: 1635264810000] +container metadata = entries=[Mp4Timestamp: creation time=3718109610, modification time=3718109610, timescale=1000] format 1: averageBitrate = 131072 sampleMimeType = audio/mp4a-latm diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_ac3.mp4.fallback.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_ac3.mp4.fallback.dump index 5b06c4a83d..adf4c31837 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_ac3.mp4.fallback.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_ac3.mp4.fallback.dump @@ -4,8 +4,8 @@ format 0: channelCount = 6 sampleRate = 48000 pcmEncoding = 2 - metadata = entries=[Creation time: 1581574441000] -container metadata = entries=[Creation time: 1581574441000] + metadata = entries=[Mp4Timestamp: creation time=3664419241, modification time=3664419241, timescale=600] +container metadata = entries=[Mp4Timestamp: creation time=3664419241, modification time=3664419241, timescale=600] sample: trackIndex = 0 dataHashCode = 1896404418 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_sef_slow_motion.mp4.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_sef_slow_motion.mp4.dump index 0a1e23e83a..0446d7cf98 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_sef_slow_motion.mp4.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_sef_slow_motion.mp4.dump @@ -6,19 +6,19 @@ format 0: width = 320 height = 240 frameRate = 29.523811 - metadata = entries=[mdta: key=com.android.version, value=10, mdta: key=com.android.video.temporal_layers_count, value=4, mdta: key=com.android.capture.fps, value=240.0, smta: captureFrameRate=240.0, svcTemporalLayerCount=4, SlowMotion: segments=[Segment: startTimeMs=88, endTimeMs=879, speedDivisor=2, Segment: startTimeMs=1255, endTimeMs=1970, speedDivisor=8], Creation time: 1604060090000] + metadata = entries=[mdta: key=com.android.version, value=10, mdta: key=com.android.video.temporal_layers_count, value=4, mdta: key=com.android.capture.fps, value=240.0, smta: captureFrameRate=240.0, svcTemporalLayerCount=4, SlowMotion: segments=[Segment: startTimeMs=88, endTimeMs=879, speedDivisor=2, Segment: startTimeMs=1255, endTimeMs=1970, speedDivisor=8], Mp4Timestamp: creation time=3686904890, modification time=3686904890, timescale=1000] initializationData: data = length 33, hash D3FB879D data = length 10, hash 7A0D0F2B -container metadata = entries=[mdta: key=com.android.version, value=10, mdta: key=com.android.video.temporal_layers_count, value=4, mdta: key=com.android.capture.fps, value=240.0, smta: captureFrameRate=240.0, svcTemporalLayerCount=4, SlowMotion: segments=[Segment: startTimeMs=88, endTimeMs=879, speedDivisor=2, Segment: startTimeMs=1255, endTimeMs=1970, speedDivisor=8], Creation time: 1604060090000] +container metadata = entries=[mdta: key=com.android.version, value=10, mdta: key=com.android.video.temporal_layers_count, value=4, mdta: key=com.android.capture.fps, value=240.0, smta: captureFrameRate=240.0, svcTemporalLayerCount=4, SlowMotion: segments=[Segment: startTimeMs=88, endTimeMs=879, speedDivisor=2, Segment: startTimeMs=1255, endTimeMs=1970, speedDivisor=8], Mp4Timestamp: creation time=3686904890, modification time=3686904890, timescale=1000] format 1: averageBitrate = 131072 sampleMimeType = audio/mp4a-latm channelCount = 2 sampleRate = 12000 pcmEncoding = 2 - metadata = entries=[mdta: key=com.android.version, value=10, mdta: key=com.android.video.temporal_layers_count, value=4, smta: captureFrameRate=240.0, svcTemporalLayerCount=4, SlowMotion: segments=[Segment: startTimeMs=88, endTimeMs=879, speedDivisor=2, Segment: startTimeMs=1255, endTimeMs=1970, speedDivisor=8], Creation time: 1604060090000] -container metadata = entries=[mdta: key=com.android.version, value=10, mdta: key=com.android.video.temporal_layers_count, value=4, smta: captureFrameRate=240.0, svcTemporalLayerCount=4, SlowMotion: segments=[Segment: startTimeMs=88, endTimeMs=879, speedDivisor=2, Segment: startTimeMs=1255, endTimeMs=1970, speedDivisor=8], Creation time: 1604060090000] + metadata = entries=[mdta: key=com.android.version, value=10, mdta: key=com.android.video.temporal_layers_count, value=4, smta: captureFrameRate=240.0, svcTemporalLayerCount=4, SlowMotion: segments=[Segment: startTimeMs=88, endTimeMs=879, speedDivisor=2, Segment: startTimeMs=1255, endTimeMs=1970, speedDivisor=8], Mp4Timestamp: creation time=3686904890, modification time=3686904890, timescale=1000] +container metadata = entries=[mdta: key=com.android.version, value=10, mdta: key=com.android.video.temporal_layers_count, value=4, smta: captureFrameRate=240.0, svcTemporalLayerCount=4, SlowMotion: segments=[Segment: startTimeMs=88, endTimeMs=879, speedDivisor=2, Segment: startTimeMs=1255, endTimeMs=1970, speedDivisor=8], Mp4Timestamp: creation time=3686904890, modification time=3686904890, timescale=1000] sample: trackIndex = 1 dataHashCode = -212376212 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4.clipped.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4.clipped.dump index 492aad9012..9178a2c45b 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4.clipped.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4.clipped.dump @@ -11,11 +11,11 @@ format 0: colorRange = 1 colorTransfer = 3 hdrStaticInfo = length 0, hash 0 - metadata = entries=[Creation time: unset] + metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 31, hash 4B108214 data = length 9, hash FBA158BB -container metadata = entries=[Creation time: unset] +container metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000] format 1: averageBitrate = 192181 peakBitrate = 192181 @@ -26,10 +26,10 @@ format 1: channelCount = 2 sampleRate = 48000 language = en - metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Creation time: unset] + metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 2, hash 560 -container metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Creation time: unset] +container metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000] sample: trackIndex = 1 dataHashCode = 620415738 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4.clipped_and_concatenated.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4.clipped_and_concatenated.dump index eaa6aac659..776c1ad018 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4.clipped_and_concatenated.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4.clipped_and_concatenated.dump @@ -11,11 +11,11 @@ format 0: colorRange = 1 colorTransfer = 3 hdrStaticInfo = length 0, hash 0 - metadata = entries=[Creation time: unset] + metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 31, hash 4B108214 data = length 9, hash FBA158BB -container metadata = entries=[Creation time: unset] +container metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000] format 1: averageBitrate = 192181 peakBitrate = 192181 @@ -26,10 +26,10 @@ format 1: channelCount = 2 sampleRate = 48000 language = en - metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Creation time: unset] + metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 2, hash 560 -container metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Creation time: unset] +container metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000] sample: trackIndex = 1 dataHashCode = -119592194 diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/InAppMuxer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/InAppMuxer.java index 24aa12329e..be50452c25 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/InAppMuxer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/InAppMuxer.java @@ -25,9 +25,10 @@ import androidx.media3.common.Metadata; import androidx.media3.common.MimeTypes; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; -import androidx.media3.container.CreationTime; import androidx.media3.container.MdtaMetadataEntry; import androidx.media3.container.Mp4LocationData; +import androidx.media3.container.Mp4TimestampData; +import androidx.media3.container.Mp4Util; import androidx.media3.container.XmpData; import androidx.media3.muxer.Mp4Muxer; import androidx.media3.muxer.Mp4Muxer.TrackToken; @@ -185,7 +186,7 @@ public final class InAppMuxer implements Muxer { // LINT.IfChange(added_metadata) if (entry instanceof Mp4LocationData || entry instanceof XmpData - || entry instanceof CreationTime + || entry instanceof Mp4TimestampData || (entry instanceof MdtaMetadataEntry && (((MdtaMetadataEntry) entry).key.equals(MdtaMetadataEntry.KEY_ANDROID_CAPTURE_FPS) || ((MdtaMetadataEntry) entry).typeIndicator @@ -228,9 +229,10 @@ public final class InAppMuxer implements Muxer { ((Mp4LocationData) entry).latitude, ((Mp4LocationData) entry).longitude); } else if (entry instanceof XmpData) { mp4Muxer.addXmp(ByteBuffer.wrap(((XmpData) entry).data)); - } else if (entry instanceof CreationTime) { + } else if (entry instanceof Mp4TimestampData) { // TODO: b/285281716 - Use creation time specific API. - mp4Muxer.setModificationTime(((CreationTime) entry).timestampMs); + mp4Muxer.setModificationTime( + Mp4Util.mp4TimeToUnixTimeMs(((Mp4TimestampData) entry).creationTimestampSeconds)); } else if (entry instanceof MdtaMetadataEntry) { MdtaMetadataEntry mdtaMetadataEntry = (MdtaMetadataEntry) entry; if (mdtaMetadataEntry.key.equals(MdtaMetadataEntry.KEY_ANDROID_CAPTURE_FPS)) { diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerWithInAppMuxerEndToEndTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerWithInAppMuxerEndToEndTest.java index e2a0939a02..c7f955a987 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerWithInAppMuxerEndToEndTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerWithInAppMuxerEndToEndTest.java @@ -23,9 +23,9 @@ import android.net.Uri; import androidx.media3.common.MediaItem; import androidx.media3.common.Metadata; import androidx.media3.common.util.Util; -import androidx.media3.container.CreationTime; import androidx.media3.container.MdtaMetadataEntry; import androidx.media3.container.Mp4LocationData; +import androidx.media3.container.Mp4TimestampData; import androidx.media3.container.XmpData; import androidx.media3.extractor.mp4.Mp4Extractor; import androidx.media3.test.utils.DumpFileAsserts; @@ -148,7 +148,8 @@ public class TransformerWithInAppMuxerEndToEndTest { new InAppMuxer.Factory( DefaultMuxer.Factory.DEFAULT_MAX_DELAY_BETWEEN_SAMPLES_MS, metadataEntries -> - metadataEntries.add(new CreationTime(/* timestampMs= */ 2_000_000_000_000L))); + metadataEntries.add( + new Mp4TimestampData(/* creationTimestampSeconds= */ 2_000_000_000L))); Transformer transformer = new Transformer.Builder(context) .setClock(new FakeClock(/* isAutoAdvancing= */ true))