diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/Atom.java b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/Atom.java index 91d2a1dc6f..c5daea2a6d 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/Atom.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/Atom.java @@ -125,6 +125,9 @@ import java.util.List; @SuppressWarnings("ConstantCaseForConstants") public static final int TYPE_mhaC = 0x6d686143; + @SuppressWarnings("ConstantCaseForConstants") + public static final int TYPE_mhaP = 0x6d686150; + @SuppressWarnings("ConstantCaseForConstants") public static final int TYPE_wave = 0x77617665; 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 9f0638ceae..44b034a84c 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 @@ -56,6 +56,7 @@ import java.nio.ByteOrder; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Objects; /** Utility methods for parsing MP4 format atom payloads according to ISO/IEC 14496-12. */ @SuppressWarnings("ConstantField") @@ -1720,15 +1721,45 @@ import java.util.List; ExtractorUtil.checkContainerInput(childAtomSize > 0, "childAtomSize must be positive"); int childAtomType = parent.readInt(); if (childAtomType == Atom.TYPE_mhaC) { - // See ISO_IEC_23008-3;2019 MHADecoderConfigurationRecord + // See ISO_IEC_23008-3;2022 MHADecoderConfigurationRecord // The header consists of: size (4), boxtype 'mhaC' (4), configurationVersion (1), // mpegh3daProfileLevelIndication (1), referenceChannelLayout (1), mpegh3daConfigLength (2). - int mhacHeaderSize = 13; - int childAtomBodySize = childAtomSize - mhacHeaderSize; - byte[] initializationDataBytes = new byte[childAtomBodySize]; - parent.setPosition(childPosition + mhacHeaderSize); - parent.readBytes(initializationDataBytes, 0, childAtomBodySize); - initializationData = ImmutableList.of(initializationDataBytes); + parent.setPosition(childPosition + Atom.HEADER_SIZE); + parent.skipBytes(1); // configurationVersion + int mpeghProfileLevelIndication = parent.readUnsignedByte(); + parent.skipBytes(1); // mpeghReferenceChannelLayout + codecs = + Objects.equals(mimeType, MimeTypes.AUDIO_MPEGH_MHM1) + ? String.format("mhm1.%02X", mpeghProfileLevelIndication) + : String.format("mha1.%02X", mpeghProfileLevelIndication); + int mpegh3daConfigLength = parent.readUnsignedShort(); + byte[] initializationDataBytes = new byte[mpegh3daConfigLength]; + parent.readBytes(initializationDataBytes, 0, mpegh3daConfigLength); + // The mpegh3daConfig should always be the first entry in initializationData. + if (initializationData == null) { + initializationData = ImmutableList.of(initializationDataBytes); + } else { + // We assume that the mhaP box has been parsed before and so add the compatible profile + // level sets as the second entry. + initializationData = ImmutableList.of(initializationDataBytes, initializationData.get(0)); + } + } else if (childAtomType == Atom.TYPE_mhaP) { + // See ISO_IEC_23008-3;2022 MHAProfileAndLevelCompatibilitySetBox + // The header consists of: size (4), boxtype 'mhaP' (4), numCompatibleSets (1). + parent.setPosition(childPosition + Atom.HEADER_SIZE); + int numCompatibleSets = parent.readUnsignedByte(); + if (numCompatibleSets > 0) { + byte[] mpeghCompatibleProfileLevelSet = new byte[numCompatibleSets]; + parent.readBytes(mpeghCompatibleProfileLevelSet, 0, numCompatibleSets); + if (initializationData == null) { + initializationData = ImmutableList.of(mpeghCompatibleProfileLevelSet); + } else { + // We assume that the mhaC box has been parsed before and so add the compatible profile + // level sets as the second entry. + initializationData = + ImmutableList.of(initializationData.get(0), mpeghCompatibleProfileLevelSet); + } + } } else if (childAtomType == Atom.TYPE_esds || (isQuickTime && childAtomType == Atom.TYPE_wave)) { int esdsAtomPosition = diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/mp4/FragmentedMp4ExtractorTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/mp4/FragmentedMp4ExtractorTest.java index 269ac4291c..ca42f0b1cc 100644 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/mp4/FragmentedMp4ExtractorTest.java +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/mp4/FragmentedMp4ExtractorTest.java @@ -131,6 +131,38 @@ public final class FragmentedMp4ExtractorTest { simulationConfig); } + @Test + public void sampleWithMhm1BlCicp1Track() throws Exception { + ExtractorAsserts.assertBehavior( + getExtractorFactory(ImmutableList.of()), + "media/mp4/sample_mhm1_bl_cicp1_fragmented.mp4", + simulationConfig); + } + + @Test + public void sampleWithMhm1LcblCicp1Track() throws Exception { + ExtractorAsserts.assertBehavior( + getExtractorFactory(ImmutableList.of()), + "media/mp4/sample_mhm1_lcbl_cicp1_fragmented.mp4", + simulationConfig); + } + + @Test + public void sampleWithMhm1BlConfigChangeTrack() throws Exception { + ExtractorAsserts.assertBehavior( + getExtractorFactory(ImmutableList.of()), + "media/mp4/sample_mhm1_bl_configchange_fragmented.mp4", + simulationConfig); + } + + @Test + public void sampleWithMhm1LcblConfigChangeTrack() throws Exception { + ExtractorAsserts.assertBehavior( + getExtractorFactory(ImmutableList.of()), + "media/mp4/sample_mhm1_lcbl_configchange_fragmented.mp4", + simulationConfig); + } + private static ExtractorFactory getExtractorFactory(final List closedCaptionFormats) { return () -> new FragmentedMp4Extractor( diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/mp4/Mp4ExtractorTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/mp4/Mp4ExtractorTest.java index 4a52f2bbb8..6cd7f22563 100644 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/mp4/Mp4ExtractorTest.java +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/mp4/Mp4ExtractorTest.java @@ -140,4 +140,28 @@ public final class Mp4ExtractorTest { ExtractorAsserts.assertBehavior( Mp4Extractor::new, "media/mp4/sample_with_av1c.mp4", simulationConfig); } + + @Test + public void mp4SampleWithMhm1BlCicp1Track() throws Exception { + ExtractorAsserts.assertBehavior( + Mp4Extractor::new, "media/mp4/sample_mhm1_bl_cicp1.mp4", simulationConfig); + } + + @Test + public void mp4SampleWithMhm1LcBlCicp1Track() throws Exception { + ExtractorAsserts.assertBehavior( + Mp4Extractor::new, "media/mp4/sample_mhm1_lcbl_cicp1.mp4", simulationConfig); + } + + @Test + public void mp4SampleWithMhm1BlConfigChangeTrack() throws Exception { + ExtractorAsserts.assertBehavior( + Mp4Extractor::new, "media/mp4/sample_mhm1_bl_configchange.mp4", simulationConfig); + } + + @Test + public void mp4SampleWithMhm1LcBlConfigChangeTrack() throws Exception { + ExtractorAsserts.assertBehavior( + Mp4Extractor::new, "media/mp4/sample_mhm1_lcbl_configchange.mp4", simulationConfig); + } } diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_cicp1.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_cicp1.mp4.0.dump new file mode 100644 index 0000000000..f7bfb9c442 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_cicp1.mp4.0.dump @@ -0,0 +1,139 @@ +seekMap: + isSeekable = true + duration = 600000 + getPosition(0) = [[timeUs=0, position=754]] + getPosition(1) = [[timeUs=1, position=754]] + getPosition(300000) = [[timeUs=300000, position=754]] + getPosition(600000) = [[timeUs=600000, position=2982]] +numberOfTracks = 1 +track 0: + total output bytes = 2837 + sample count = 29 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + maxInputSize = 365 + channelCount = 0 + sampleRate = 48000 + language = und + metadata = entries=[Mp4Timestamp: creation time=3782733149, modification time=3782733149, timescale=600] + initializationData: + data = length 60, hash C05CB07B + sample 0: + time = 0 + flags = 1 + data = length 335, hash E6334A80 + sample 1: + time = 21333 + flags = 0 + data = length 85, hash 8EFCDF36 + sample 2: + time = 42666 + flags = 0 + data = length 98, hash BC03FE8A + sample 3: + time = 64000 + flags = 0 + data = length 105, hash 9FBA3169 + sample 4: + time = 85333 + flags = 0 + data = length 93, hash BD1CBC0E + sample 5: + time = 106666 + flags = 0 + data = length 93, hash C0B46623 + sample 6: + time = 128000 + flags = 0 + data = length 91, hash E4CA8D5 + sample 7: + time = 149333 + flags = 0 + data = length 82, hash EB64F3A8 + sample 8: + time = 170666 + flags = 0 + data = length 83, hash 97803527 + sample 9: + time = 192000 + flags = 0 + data = length 82, hash 5972B44D + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 3D9C7710 + sample 11: + time = 234666 + flags = 0 + data = length 77, hash 27B26E3D + sample 12: + time = 256000 + flags = 0 + data = length 79, hash FB7243AF + sample 13: + time = 277333 + flags = 0 + data = length 80, hash 284BFE1 + sample 14: + time = 298666 + flags = 0 + data = length 78, hash 8F24DBB3 + sample 15: + time = 320000 + flags = 0 + data = length 77, hash CD76338B + sample 16: + time = 341333 + flags = 0 + data = length 78, hash CB614574 + sample 17: + time = 362666 + flags = 0 + data = length 76, hash F97A6A30 + sample 18: + time = 384000 + flags = 0 + data = length 56, hash E05FB636 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 2B2350C7 + sample 20: + time = 426666 + flags = 0 + data = length 79, hash DFF1D0CD + sample 21: + time = 448000 + flags = 0 + data = length 78, hash 8BA25136 + sample 22: + time = 469333 + flags = 0 + data = length 79, hash 4FEDABA0 + sample 23: + time = 490666 + flags = 0 + data = length 82, hash 7C80BC82 + sample 24: + time = 512000 + flags = 1 + data = length 320, hash 58EEA8F6 + sample 25: + time = 533333 + flags = 0 + data = length 77, hash 7349D247 + sample 26: + time = 554666 + flags = 0 + data = length 77, hash 73C5B274 + sample 27: + time = 576000 + flags = 0 + data = length 65, hash 622B1A8 + sample 28: + time = 597333 + flags = 536870912 + data = length 70, hash E441B6B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_cicp1.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_cicp1.mp4.1.dump new file mode 100644 index 0000000000..f7bfb9c442 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_cicp1.mp4.1.dump @@ -0,0 +1,139 @@ +seekMap: + isSeekable = true + duration = 600000 + getPosition(0) = [[timeUs=0, position=754]] + getPosition(1) = [[timeUs=1, position=754]] + getPosition(300000) = [[timeUs=300000, position=754]] + getPosition(600000) = [[timeUs=600000, position=2982]] +numberOfTracks = 1 +track 0: + total output bytes = 2837 + sample count = 29 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + maxInputSize = 365 + channelCount = 0 + sampleRate = 48000 + language = und + metadata = entries=[Mp4Timestamp: creation time=3782733149, modification time=3782733149, timescale=600] + initializationData: + data = length 60, hash C05CB07B + sample 0: + time = 0 + flags = 1 + data = length 335, hash E6334A80 + sample 1: + time = 21333 + flags = 0 + data = length 85, hash 8EFCDF36 + sample 2: + time = 42666 + flags = 0 + data = length 98, hash BC03FE8A + sample 3: + time = 64000 + flags = 0 + data = length 105, hash 9FBA3169 + sample 4: + time = 85333 + flags = 0 + data = length 93, hash BD1CBC0E + sample 5: + time = 106666 + flags = 0 + data = length 93, hash C0B46623 + sample 6: + time = 128000 + flags = 0 + data = length 91, hash E4CA8D5 + sample 7: + time = 149333 + flags = 0 + data = length 82, hash EB64F3A8 + sample 8: + time = 170666 + flags = 0 + data = length 83, hash 97803527 + sample 9: + time = 192000 + flags = 0 + data = length 82, hash 5972B44D + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 3D9C7710 + sample 11: + time = 234666 + flags = 0 + data = length 77, hash 27B26E3D + sample 12: + time = 256000 + flags = 0 + data = length 79, hash FB7243AF + sample 13: + time = 277333 + flags = 0 + data = length 80, hash 284BFE1 + sample 14: + time = 298666 + flags = 0 + data = length 78, hash 8F24DBB3 + sample 15: + time = 320000 + flags = 0 + data = length 77, hash CD76338B + sample 16: + time = 341333 + flags = 0 + data = length 78, hash CB614574 + sample 17: + time = 362666 + flags = 0 + data = length 76, hash F97A6A30 + sample 18: + time = 384000 + flags = 0 + data = length 56, hash E05FB636 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 2B2350C7 + sample 20: + time = 426666 + flags = 0 + data = length 79, hash DFF1D0CD + sample 21: + time = 448000 + flags = 0 + data = length 78, hash 8BA25136 + sample 22: + time = 469333 + flags = 0 + data = length 79, hash 4FEDABA0 + sample 23: + time = 490666 + flags = 0 + data = length 82, hash 7C80BC82 + sample 24: + time = 512000 + flags = 1 + data = length 320, hash 58EEA8F6 + sample 25: + time = 533333 + flags = 0 + data = length 77, hash 7349D247 + sample 26: + time = 554666 + flags = 0 + data = length 77, hash 73C5B274 + sample 27: + time = 576000 + flags = 0 + data = length 65, hash 622B1A8 + sample 28: + time = 597333 + flags = 536870912 + data = length 70, hash E441B6B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_cicp1.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_cicp1.mp4.2.dump new file mode 100644 index 0000000000..f7bfb9c442 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_cicp1.mp4.2.dump @@ -0,0 +1,139 @@ +seekMap: + isSeekable = true + duration = 600000 + getPosition(0) = [[timeUs=0, position=754]] + getPosition(1) = [[timeUs=1, position=754]] + getPosition(300000) = [[timeUs=300000, position=754]] + getPosition(600000) = [[timeUs=600000, position=2982]] +numberOfTracks = 1 +track 0: + total output bytes = 2837 + sample count = 29 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + maxInputSize = 365 + channelCount = 0 + sampleRate = 48000 + language = und + metadata = entries=[Mp4Timestamp: creation time=3782733149, modification time=3782733149, timescale=600] + initializationData: + data = length 60, hash C05CB07B + sample 0: + time = 0 + flags = 1 + data = length 335, hash E6334A80 + sample 1: + time = 21333 + flags = 0 + data = length 85, hash 8EFCDF36 + sample 2: + time = 42666 + flags = 0 + data = length 98, hash BC03FE8A + sample 3: + time = 64000 + flags = 0 + data = length 105, hash 9FBA3169 + sample 4: + time = 85333 + flags = 0 + data = length 93, hash BD1CBC0E + sample 5: + time = 106666 + flags = 0 + data = length 93, hash C0B46623 + sample 6: + time = 128000 + flags = 0 + data = length 91, hash E4CA8D5 + sample 7: + time = 149333 + flags = 0 + data = length 82, hash EB64F3A8 + sample 8: + time = 170666 + flags = 0 + data = length 83, hash 97803527 + sample 9: + time = 192000 + flags = 0 + data = length 82, hash 5972B44D + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 3D9C7710 + sample 11: + time = 234666 + flags = 0 + data = length 77, hash 27B26E3D + sample 12: + time = 256000 + flags = 0 + data = length 79, hash FB7243AF + sample 13: + time = 277333 + flags = 0 + data = length 80, hash 284BFE1 + sample 14: + time = 298666 + flags = 0 + data = length 78, hash 8F24DBB3 + sample 15: + time = 320000 + flags = 0 + data = length 77, hash CD76338B + sample 16: + time = 341333 + flags = 0 + data = length 78, hash CB614574 + sample 17: + time = 362666 + flags = 0 + data = length 76, hash F97A6A30 + sample 18: + time = 384000 + flags = 0 + data = length 56, hash E05FB636 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 2B2350C7 + sample 20: + time = 426666 + flags = 0 + data = length 79, hash DFF1D0CD + sample 21: + time = 448000 + flags = 0 + data = length 78, hash 8BA25136 + sample 22: + time = 469333 + flags = 0 + data = length 79, hash 4FEDABA0 + sample 23: + time = 490666 + flags = 0 + data = length 82, hash 7C80BC82 + sample 24: + time = 512000 + flags = 1 + data = length 320, hash 58EEA8F6 + sample 25: + time = 533333 + flags = 0 + data = length 77, hash 7349D247 + sample 26: + time = 554666 + flags = 0 + data = length 77, hash 73C5B274 + sample 27: + time = 576000 + flags = 0 + data = length 65, hash 622B1A8 + sample 28: + time = 597333 + flags = 536870912 + data = length 70, hash E441B6B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_cicp1.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_cicp1.mp4.3.dump new file mode 100644 index 0000000000..662779c99e --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_cicp1.mp4.3.dump @@ -0,0 +1,43 @@ +seekMap: + isSeekable = true + duration = 600000 + getPosition(0) = [[timeUs=0, position=754]] + getPosition(1) = [[timeUs=1, position=754]] + getPosition(300000) = [[timeUs=300000, position=754]] + getPosition(600000) = [[timeUs=600000, position=2982]] +numberOfTracks = 1 +track 0: + total output bytes = 609 + sample count = 5 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + maxInputSize = 365 + channelCount = 0 + sampleRate = 48000 + language = und + metadata = entries=[Mp4Timestamp: creation time=3782733149, modification time=3782733149, timescale=600] + initializationData: + data = length 60, hash C05CB07B + sample 0: + time = 512000 + flags = 1 + data = length 320, hash 58EEA8F6 + sample 1: + time = 533333 + flags = 0 + data = length 77, hash 7349D247 + sample 2: + time = 554666 + flags = 0 + data = length 77, hash 73C5B274 + sample 3: + time = 576000 + flags = 0 + data = length 65, hash 622B1A8 + sample 4: + time = 597333 + flags = 536870912 + data = length 70, hash E441B6B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_cicp1.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_cicp1.mp4.unknown_length.dump new file mode 100644 index 0000000000..f7bfb9c442 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_cicp1.mp4.unknown_length.dump @@ -0,0 +1,139 @@ +seekMap: + isSeekable = true + duration = 600000 + getPosition(0) = [[timeUs=0, position=754]] + getPosition(1) = [[timeUs=1, position=754]] + getPosition(300000) = [[timeUs=300000, position=754]] + getPosition(600000) = [[timeUs=600000, position=2982]] +numberOfTracks = 1 +track 0: + total output bytes = 2837 + sample count = 29 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + maxInputSize = 365 + channelCount = 0 + sampleRate = 48000 + language = und + metadata = entries=[Mp4Timestamp: creation time=3782733149, modification time=3782733149, timescale=600] + initializationData: + data = length 60, hash C05CB07B + sample 0: + time = 0 + flags = 1 + data = length 335, hash E6334A80 + sample 1: + time = 21333 + flags = 0 + data = length 85, hash 8EFCDF36 + sample 2: + time = 42666 + flags = 0 + data = length 98, hash BC03FE8A + sample 3: + time = 64000 + flags = 0 + data = length 105, hash 9FBA3169 + sample 4: + time = 85333 + flags = 0 + data = length 93, hash BD1CBC0E + sample 5: + time = 106666 + flags = 0 + data = length 93, hash C0B46623 + sample 6: + time = 128000 + flags = 0 + data = length 91, hash E4CA8D5 + sample 7: + time = 149333 + flags = 0 + data = length 82, hash EB64F3A8 + sample 8: + time = 170666 + flags = 0 + data = length 83, hash 97803527 + sample 9: + time = 192000 + flags = 0 + data = length 82, hash 5972B44D + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 3D9C7710 + sample 11: + time = 234666 + flags = 0 + data = length 77, hash 27B26E3D + sample 12: + time = 256000 + flags = 0 + data = length 79, hash FB7243AF + sample 13: + time = 277333 + flags = 0 + data = length 80, hash 284BFE1 + sample 14: + time = 298666 + flags = 0 + data = length 78, hash 8F24DBB3 + sample 15: + time = 320000 + flags = 0 + data = length 77, hash CD76338B + sample 16: + time = 341333 + flags = 0 + data = length 78, hash CB614574 + sample 17: + time = 362666 + flags = 0 + data = length 76, hash F97A6A30 + sample 18: + time = 384000 + flags = 0 + data = length 56, hash E05FB636 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 2B2350C7 + sample 20: + time = 426666 + flags = 0 + data = length 79, hash DFF1D0CD + sample 21: + time = 448000 + flags = 0 + data = length 78, hash 8BA25136 + sample 22: + time = 469333 + flags = 0 + data = length 79, hash 4FEDABA0 + sample 23: + time = 490666 + flags = 0 + data = length 82, hash 7C80BC82 + sample 24: + time = 512000 + flags = 1 + data = length 320, hash 58EEA8F6 + sample 25: + time = 533333 + flags = 0 + data = length 77, hash 7349D247 + sample 26: + time = 554666 + flags = 0 + data = length 77, hash 73C5B274 + sample 27: + time = 576000 + flags = 0 + data = length 65, hash 622B1A8 + sample 28: + time = 597333 + flags = 536870912 + data = length 70, hash E441B6B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_cicp1_fragmented.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_cicp1_fragmented.mp4.0.dump new file mode 100644 index 0000000000..e91cd986d1 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_cicp1_fragmented.mp4.0.dump @@ -0,0 +1,134 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=634]] +numberOfTracks = 1 +track 0: + total output bytes = 2837 + sample count = 29 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + channelCount = 0 + sampleRate = 48000 + language = und + initializationData: + data = length 60, hash C05CB07B + sample 0: + time = 0 + flags = 1 + data = length 335, hash E6334A80 + sample 1: + time = 21333 + flags = 0 + data = length 85, hash 8EFCDF36 + sample 2: + time = 42666 + flags = 0 + data = length 98, hash BC03FE8A + sample 3: + time = 64000 + flags = 0 + data = length 105, hash 9FBA3169 + sample 4: + time = 85333 + flags = 0 + data = length 93, hash BD1CBC0E + sample 5: + time = 106666 + flags = 0 + data = length 93, hash C0B46623 + sample 6: + time = 128000 + flags = 0 + data = length 91, hash E4CA8D5 + sample 7: + time = 149333 + flags = 0 + data = length 82, hash EB64F3A8 + sample 8: + time = 170666 + flags = 0 + data = length 83, hash 97803527 + sample 9: + time = 192000 + flags = 0 + data = length 82, hash 5972B44D + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 3D9C7710 + sample 11: + time = 234666 + flags = 0 + data = length 77, hash 27B26E3D + sample 12: + time = 256000 + flags = 0 + data = length 79, hash FB7243AF + sample 13: + time = 277333 + flags = 0 + data = length 80, hash 284BFE1 + sample 14: + time = 298666 + flags = 0 + data = length 78, hash 8F24DBB3 + sample 15: + time = 320000 + flags = 0 + data = length 77, hash CD76338B + sample 16: + time = 341333 + flags = 0 + data = length 78, hash CB614574 + sample 17: + time = 362666 + flags = 0 + data = length 76, hash F97A6A30 + sample 18: + time = 384000 + flags = 0 + data = length 56, hash E05FB636 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 2B2350C7 + sample 20: + time = 426666 + flags = 0 + data = length 79, hash DFF1D0CD + sample 21: + time = 448000 + flags = 0 + data = length 78, hash 8BA25136 + sample 22: + time = 469333 + flags = 0 + data = length 79, hash 4FEDABA0 + sample 23: + time = 490666 + flags = 0 + data = length 82, hash 7C80BC82 + sample 24: + time = 512000 + flags = 1 + data = length 320, hash 58EEA8F6 + sample 25: + time = 533333 + flags = 0 + data = length 77, hash 7349D247 + sample 26: + time = 554666 + flags = 0 + data = length 77, hash 73C5B274 + sample 27: + time = 576000 + flags = 0 + data = length 65, hash 622B1A8 + sample 28: + time = 597333 + flags = 0 + data = length 70, hash E441B6B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_cicp1_fragmented.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_cicp1_fragmented.mp4.unknown_length.dump new file mode 100644 index 0000000000..e91cd986d1 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_cicp1_fragmented.mp4.unknown_length.dump @@ -0,0 +1,134 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=634]] +numberOfTracks = 1 +track 0: + total output bytes = 2837 + sample count = 29 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + channelCount = 0 + sampleRate = 48000 + language = und + initializationData: + data = length 60, hash C05CB07B + sample 0: + time = 0 + flags = 1 + data = length 335, hash E6334A80 + sample 1: + time = 21333 + flags = 0 + data = length 85, hash 8EFCDF36 + sample 2: + time = 42666 + flags = 0 + data = length 98, hash BC03FE8A + sample 3: + time = 64000 + flags = 0 + data = length 105, hash 9FBA3169 + sample 4: + time = 85333 + flags = 0 + data = length 93, hash BD1CBC0E + sample 5: + time = 106666 + flags = 0 + data = length 93, hash C0B46623 + sample 6: + time = 128000 + flags = 0 + data = length 91, hash E4CA8D5 + sample 7: + time = 149333 + flags = 0 + data = length 82, hash EB64F3A8 + sample 8: + time = 170666 + flags = 0 + data = length 83, hash 97803527 + sample 9: + time = 192000 + flags = 0 + data = length 82, hash 5972B44D + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 3D9C7710 + sample 11: + time = 234666 + flags = 0 + data = length 77, hash 27B26E3D + sample 12: + time = 256000 + flags = 0 + data = length 79, hash FB7243AF + sample 13: + time = 277333 + flags = 0 + data = length 80, hash 284BFE1 + sample 14: + time = 298666 + flags = 0 + data = length 78, hash 8F24DBB3 + sample 15: + time = 320000 + flags = 0 + data = length 77, hash CD76338B + sample 16: + time = 341333 + flags = 0 + data = length 78, hash CB614574 + sample 17: + time = 362666 + flags = 0 + data = length 76, hash F97A6A30 + sample 18: + time = 384000 + flags = 0 + data = length 56, hash E05FB636 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 2B2350C7 + sample 20: + time = 426666 + flags = 0 + data = length 79, hash DFF1D0CD + sample 21: + time = 448000 + flags = 0 + data = length 78, hash 8BA25136 + sample 22: + time = 469333 + flags = 0 + data = length 79, hash 4FEDABA0 + sample 23: + time = 490666 + flags = 0 + data = length 82, hash 7C80BC82 + sample 24: + time = 512000 + flags = 1 + data = length 320, hash 58EEA8F6 + sample 25: + time = 533333 + flags = 0 + data = length 77, hash 7349D247 + sample 26: + time = 554666 + flags = 0 + data = length 77, hash 73C5B274 + sample 27: + time = 576000 + flags = 0 + data = length 65, hash 622B1A8 + sample 28: + time = 597333 + flags = 0 + data = length 70, hash E441B6B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_configchange.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_configchange.mp4.0.dump new file mode 100644 index 0000000000..a60ddd957a --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_configchange.mp4.0.dump @@ -0,0 +1,371 @@ +seekMap: + isSeekable = true + duration = 1800000 + getPosition(0) = [[timeUs=0, position=1054]] + getPosition(1) = [[timeUs=1, position=1054]] + getPosition(900000) = [[timeUs=900000, position=6234]] + getPosition(1800000) = [[timeUs=1800000, position=33120]] +numberOfTracks = 1 +track 0: + total output bytes = 38778 + sample count = 87 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + maxInputSize = 1476 + channelCount = 0 + sampleRate = 48000 + language = und + metadata = entries=[Mp4Timestamp: creation time=3782733089, modification time=3782733089, timescale=600] + initializationData: + data = length 64, hash DB1F936C + sample 0: + time = 0 + flags = 1 + data = length 485, hash 8E663C03 + sample 1: + time = 21333 + flags = 0 + data = length 164, hash 136B1B66 + sample 2: + time = 42666 + flags = 0 + data = length 158, hash A9289DCD + sample 3: + time = 64000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 4: + time = 85333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 5: + time = 106666 + flags = 0 + data = length 158, hash 22E84AF0 + sample 6: + time = 128000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 7: + time = 149333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 8: + time = 170666 + flags = 0 + data = length 158, hash BA6B7094 + sample 9: + time = 192000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 10: + time = 213333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 11: + time = 234666 + flags = 0 + data = length 158, hash A9289DCC + sample 12: + time = 256000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 13: + time = 277333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 14: + time = 298666 + flags = 0 + data = length 158, hash A9289DCD + sample 15: + time = 320000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 16: + time = 341333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 17: + time = 362666 + flags = 0 + data = length 158, hash 37B039B1 + sample 18: + time = 384000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 19: + time = 405333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 20: + time = 426666 + flags = 0 + data = length 126, hash 78789B9C + sample 21: + time = 448000 + flags = 0 + data = length 153, hash CC86912D + sample 22: + time = 469333 + flags = 0 + data = length 162, hash 577737FF + sample 23: + time = 490666 + flags = 0 + data = length 160, hash 3BCD3677 + sample 24: + time = 512000 + flags = 1 + data = length 490, hash FD29BE27 + sample 25: + time = 533333 + flags = 0 + data = length 143, hash 38DF637D + sample 26: + time = 554666 + flags = 0 + data = length 120, hash 307A762E + sample 27: + time = 576000 + flags = 0 + data = length 154, hash E4D1CE2 + sample 28: + time = 597333 + flags = 0 + data = length 143, hash C1C83A77 + sample 29: + time = 600000 + flags = 1 + data = length 1278, hash 281C389B + sample 30: + time = 618666 + flags = 0 + data = length 611, hash 4D115F94 + sample 31: + time = 640000 + flags = 0 + data = length 656, hash 29F0A8C8 + sample 32: + time = 661333 + flags = 0 + data = length 640, hash 432215B3 + sample 33: + time = 682666 + flags = 0 + data = length 609, hash 5B7AD544 + sample 34: + time = 704000 + flags = 0 + data = length 658, hash A173EA7E + sample 35: + time = 725333 + flags = 0 + data = length 640, hash 432215CE + sample 36: + time = 746666 + flags = 0 + data = length 616, hash B059E5F3 + sample 37: + time = 768000 + flags = 0 + data = length 657, hash 950B636D + sample 38: + time = 789333 + flags = 0 + data = length 640, hash 432215D9 + sample 39: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 40: + time = 832000 + flags = 0 + data = length 658, hash D480782F + sample 41: + time = 853333 + flags = 0 + data = length 640, hash 432215B2 + sample 42: + time = 874666 + flags = 0 + data = length 650, hash A2B8C618 + sample 43: + time = 896000 + flags = 0 + data = length 657, hash ABB26E68 + sample 44: + time = 917333 + flags = 0 + data = length 640, hash 432215BC + sample 45: + time = 938666 + flags = 0 + data = length 663, hash 8A51F8B7 + sample 46: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 47: + time = 981333 + flags = 0 + data = length 641, hash F27D0F35 + sample 48: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 49: + time = 1024000 + flags = 1 + data = length 1446, hash 57251DD3 + sample 50: + time = 1045333 + flags = 0 + data = length 543, hash AC12F41B + sample 51: + time = 1066666 + flags = 0 + data = length 496, hash 7D75AE83 + sample 52: + time = 1088000 + flags = 0 + data = length 559, hash B248FD63 + sample 53: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 54: + time = 1130666 + flags = 0 + data = length 496, hash 7D75AE90 + sample 55: + time = 1152000 + flags = 0 + data = length 560, hash 77AD983C + sample 56: + time = 1173333 + flags = 0 + data = length 774, hash 8C885DAD + sample 57: + time = 1194666 + flags = 0 + data = length 733, hash 5199F868 + sample 58: + time = 1200000 + flags = 1 + data = length 914, hash B404D154 + sample 59: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 60: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 61: + time = 1258666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 62: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 63: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 64: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 65: + time = 1344000 + flags = 0 + data = length 422, hash DE1E83F5 + sample 66: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 67: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 68: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 69: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 70: + time = 1450666 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 71: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 72: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 73: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 74: + time = 1536000 + flags = 1 + data = length 814, hash 39B338CB + sample 75: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 76: + time = 1578666 + flags = 0 + data = length 423, hash 390144EE + sample 77: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 78: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 79: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 80: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 81: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 82: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 83: + time = 1728000 + flags = 0 + data = length 512, hash 4C287890 + sample 84: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 85: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 86: + time = 1792000 + flags = 536870912 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_configchange.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_configchange.mp4.1.dump new file mode 100644 index 0000000000..2dc6323d6a --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_configchange.mp4.1.dump @@ -0,0 +1,255 @@ +seekMap: + isSeekable = true + duration = 1800000 + getPosition(0) = [[timeUs=0, position=1054]] + getPosition(1) = [[timeUs=1, position=1054]] + getPosition(900000) = [[timeUs=900000, position=6234]] + getPosition(1800000) = [[timeUs=1800000, position=33120]] +numberOfTracks = 1 +track 0: + total output bytes = 33598 + sample count = 58 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + maxInputSize = 1476 + channelCount = 0 + sampleRate = 48000 + language = und + metadata = entries=[Mp4Timestamp: creation time=3782733089, modification time=3782733089, timescale=600] + initializationData: + data = length 64, hash DB1F936C + sample 0: + time = 600000 + flags = 1 + data = length 1278, hash 281C389B + sample 1: + time = 618666 + flags = 0 + data = length 611, hash 4D115F94 + sample 2: + time = 640000 + flags = 0 + data = length 656, hash 29F0A8C8 + sample 3: + time = 661333 + flags = 0 + data = length 640, hash 432215B3 + sample 4: + time = 682666 + flags = 0 + data = length 609, hash 5B7AD544 + sample 5: + time = 704000 + flags = 0 + data = length 658, hash A173EA7E + sample 6: + time = 725333 + flags = 0 + data = length 640, hash 432215CE + sample 7: + time = 746666 + flags = 0 + data = length 616, hash B059E5F3 + sample 8: + time = 768000 + flags = 0 + data = length 657, hash 950B636D + sample 9: + time = 789333 + flags = 0 + data = length 640, hash 432215D9 + sample 10: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 11: + time = 832000 + flags = 0 + data = length 658, hash D480782F + sample 12: + time = 853333 + flags = 0 + data = length 640, hash 432215B2 + sample 13: + time = 874666 + flags = 0 + data = length 650, hash A2B8C618 + sample 14: + time = 896000 + flags = 0 + data = length 657, hash ABB26E68 + sample 15: + time = 917333 + flags = 0 + data = length 640, hash 432215BC + sample 16: + time = 938666 + flags = 0 + data = length 663, hash 8A51F8B7 + sample 17: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 18: + time = 981333 + flags = 0 + data = length 641, hash F27D0F35 + sample 19: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 20: + time = 1024000 + flags = 1 + data = length 1446, hash 57251DD3 + sample 21: + time = 1045333 + flags = 0 + data = length 543, hash AC12F41B + sample 22: + time = 1066666 + flags = 0 + data = length 496, hash 7D75AE83 + sample 23: + time = 1088000 + flags = 0 + data = length 559, hash B248FD63 + sample 24: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 25: + time = 1130666 + flags = 0 + data = length 496, hash 7D75AE90 + sample 26: + time = 1152000 + flags = 0 + data = length 560, hash 77AD983C + sample 27: + time = 1173333 + flags = 0 + data = length 774, hash 8C885DAD + sample 28: + time = 1194666 + flags = 0 + data = length 733, hash 5199F868 + sample 29: + time = 1200000 + flags = 1 + data = length 914, hash B404D154 + sample 30: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 31: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 32: + time = 1258666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 33: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 34: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 35: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 36: + time = 1344000 + flags = 0 + data = length 422, hash DE1E83F5 + sample 37: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 38: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 39: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 40: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 41: + time = 1450666 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 42: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 43: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 44: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 45: + time = 1536000 + flags = 1 + data = length 814, hash 39B338CB + sample 46: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 47: + time = 1578666 + flags = 0 + data = length 423, hash 390144EE + sample 48: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 49: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 50: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 51: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 52: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 53: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 54: + time = 1728000 + flags = 0 + data = length 512, hash 4C287890 + sample 55: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 56: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 57: + time = 1792000 + flags = 536870912 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_configchange.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_configchange.mp4.2.dump new file mode 100644 index 0000000000..fbf71e0a3b --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_configchange.mp4.2.dump @@ -0,0 +1,139 @@ +seekMap: + isSeekable = true + duration = 1800000 + getPosition(0) = [[timeUs=0, position=1054]] + getPosition(1) = [[timeUs=1, position=1054]] + getPosition(900000) = [[timeUs=900000, position=6234]] + getPosition(1800000) = [[timeUs=1800000, position=33120]] +numberOfTracks = 1 +track 0: + total output bytes = 13976 + sample count = 29 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + maxInputSize = 1476 + channelCount = 0 + sampleRate = 48000 + language = und + metadata = entries=[Mp4Timestamp: creation time=3782733089, modification time=3782733089, timescale=600] + initializationData: + data = length 64, hash DB1F936C + sample 0: + time = 1200000 + flags = 1 + data = length 914, hash B404D154 + sample 1: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 2: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 3: + time = 1258666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 4: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 5: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 6: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 7: + time = 1344000 + flags = 0 + data = length 422, hash DE1E83F5 + sample 8: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 9: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 10: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 11: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 12: + time = 1450666 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 13: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 14: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 15: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 16: + time = 1536000 + flags = 1 + data = length 814, hash 39B338CB + sample 17: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 18: + time = 1578666 + flags = 0 + data = length 423, hash 390144EE + sample 19: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 20: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 21: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 22: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 23: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 24: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 25: + time = 1728000 + flags = 0 + data = length 512, hash 4C287890 + sample 26: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 27: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 28: + time = 1792000 + flags = 536870912 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_configchange.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_configchange.mp4.3.dump new file mode 100644 index 0000000000..58515b9892 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_configchange.mp4.3.dump @@ -0,0 +1,75 @@ +seekMap: + isSeekable = true + duration = 1800000 + getPosition(0) = [[timeUs=0, position=1054]] + getPosition(1) = [[timeUs=1, position=1054]] + getPosition(900000) = [[timeUs=900000, position=6234]] + getPosition(1800000) = [[timeUs=1800000, position=33120]] +numberOfTracks = 1 +track 0: + total output bytes = 6712 + sample count = 13 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + maxInputSize = 1476 + channelCount = 0 + sampleRate = 48000 + language = und + metadata = entries=[Mp4Timestamp: creation time=3782733089, modification time=3782733089, timescale=600] + initializationData: + data = length 64, hash DB1F936C + sample 0: + time = 1536000 + flags = 1 + data = length 814, hash 39B338CB + sample 1: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 2: + time = 1578666 + flags = 0 + data = length 423, hash 390144EE + sample 3: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 4: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 5: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 6: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 7: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 8: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 9: + time = 1728000 + flags = 0 + data = length 512, hash 4C287890 + sample 10: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 11: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 12: + time = 1792000 + flags = 536870912 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_configchange.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_configchange.mp4.unknown_length.dump new file mode 100644 index 0000000000..a60ddd957a --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_configchange.mp4.unknown_length.dump @@ -0,0 +1,371 @@ +seekMap: + isSeekable = true + duration = 1800000 + getPosition(0) = [[timeUs=0, position=1054]] + getPosition(1) = [[timeUs=1, position=1054]] + getPosition(900000) = [[timeUs=900000, position=6234]] + getPosition(1800000) = [[timeUs=1800000, position=33120]] +numberOfTracks = 1 +track 0: + total output bytes = 38778 + sample count = 87 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + maxInputSize = 1476 + channelCount = 0 + sampleRate = 48000 + language = und + metadata = entries=[Mp4Timestamp: creation time=3782733089, modification time=3782733089, timescale=600] + initializationData: + data = length 64, hash DB1F936C + sample 0: + time = 0 + flags = 1 + data = length 485, hash 8E663C03 + sample 1: + time = 21333 + flags = 0 + data = length 164, hash 136B1B66 + sample 2: + time = 42666 + flags = 0 + data = length 158, hash A9289DCD + sample 3: + time = 64000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 4: + time = 85333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 5: + time = 106666 + flags = 0 + data = length 158, hash 22E84AF0 + sample 6: + time = 128000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 7: + time = 149333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 8: + time = 170666 + flags = 0 + data = length 158, hash BA6B7094 + sample 9: + time = 192000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 10: + time = 213333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 11: + time = 234666 + flags = 0 + data = length 158, hash A9289DCC + sample 12: + time = 256000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 13: + time = 277333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 14: + time = 298666 + flags = 0 + data = length 158, hash A9289DCD + sample 15: + time = 320000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 16: + time = 341333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 17: + time = 362666 + flags = 0 + data = length 158, hash 37B039B1 + sample 18: + time = 384000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 19: + time = 405333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 20: + time = 426666 + flags = 0 + data = length 126, hash 78789B9C + sample 21: + time = 448000 + flags = 0 + data = length 153, hash CC86912D + sample 22: + time = 469333 + flags = 0 + data = length 162, hash 577737FF + sample 23: + time = 490666 + flags = 0 + data = length 160, hash 3BCD3677 + sample 24: + time = 512000 + flags = 1 + data = length 490, hash FD29BE27 + sample 25: + time = 533333 + flags = 0 + data = length 143, hash 38DF637D + sample 26: + time = 554666 + flags = 0 + data = length 120, hash 307A762E + sample 27: + time = 576000 + flags = 0 + data = length 154, hash E4D1CE2 + sample 28: + time = 597333 + flags = 0 + data = length 143, hash C1C83A77 + sample 29: + time = 600000 + flags = 1 + data = length 1278, hash 281C389B + sample 30: + time = 618666 + flags = 0 + data = length 611, hash 4D115F94 + sample 31: + time = 640000 + flags = 0 + data = length 656, hash 29F0A8C8 + sample 32: + time = 661333 + flags = 0 + data = length 640, hash 432215B3 + sample 33: + time = 682666 + flags = 0 + data = length 609, hash 5B7AD544 + sample 34: + time = 704000 + flags = 0 + data = length 658, hash A173EA7E + sample 35: + time = 725333 + flags = 0 + data = length 640, hash 432215CE + sample 36: + time = 746666 + flags = 0 + data = length 616, hash B059E5F3 + sample 37: + time = 768000 + flags = 0 + data = length 657, hash 950B636D + sample 38: + time = 789333 + flags = 0 + data = length 640, hash 432215D9 + sample 39: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 40: + time = 832000 + flags = 0 + data = length 658, hash D480782F + sample 41: + time = 853333 + flags = 0 + data = length 640, hash 432215B2 + sample 42: + time = 874666 + flags = 0 + data = length 650, hash A2B8C618 + sample 43: + time = 896000 + flags = 0 + data = length 657, hash ABB26E68 + sample 44: + time = 917333 + flags = 0 + data = length 640, hash 432215BC + sample 45: + time = 938666 + flags = 0 + data = length 663, hash 8A51F8B7 + sample 46: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 47: + time = 981333 + flags = 0 + data = length 641, hash F27D0F35 + sample 48: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 49: + time = 1024000 + flags = 1 + data = length 1446, hash 57251DD3 + sample 50: + time = 1045333 + flags = 0 + data = length 543, hash AC12F41B + sample 51: + time = 1066666 + flags = 0 + data = length 496, hash 7D75AE83 + sample 52: + time = 1088000 + flags = 0 + data = length 559, hash B248FD63 + sample 53: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 54: + time = 1130666 + flags = 0 + data = length 496, hash 7D75AE90 + sample 55: + time = 1152000 + flags = 0 + data = length 560, hash 77AD983C + sample 56: + time = 1173333 + flags = 0 + data = length 774, hash 8C885DAD + sample 57: + time = 1194666 + flags = 0 + data = length 733, hash 5199F868 + sample 58: + time = 1200000 + flags = 1 + data = length 914, hash B404D154 + sample 59: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 60: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 61: + time = 1258666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 62: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 63: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 64: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 65: + time = 1344000 + flags = 0 + data = length 422, hash DE1E83F5 + sample 66: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 67: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 68: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 69: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 70: + time = 1450666 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 71: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 72: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 73: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 74: + time = 1536000 + flags = 1 + data = length 814, hash 39B338CB + sample 75: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 76: + time = 1578666 + flags = 0 + data = length 423, hash 390144EE + sample 77: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 78: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 79: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 80: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 81: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 82: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 83: + time = 1728000 + flags = 0 + data = length 512, hash 4C287890 + sample 84: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 85: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 86: + time = 1792000 + flags = 536870912 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_configchange_fragmented.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_configchange_fragmented.mp4.0.dump new file mode 100644 index 0000000000..2ae108b09d --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_configchange_fragmented.mp4.0.dump @@ -0,0 +1,366 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=638]] +numberOfTracks = 1 +track 0: + total output bytes = 38778 + sample count = 87 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + channelCount = 0 + sampleRate = 48000 + language = und + initializationData: + data = length 64, hash DB1F936C + sample 0: + time = 0 + flags = 1 + data = length 485, hash 8E663C03 + sample 1: + time = 21333 + flags = 0 + data = length 164, hash 136B1B66 + sample 2: + time = 42666 + flags = 0 + data = length 158, hash A9289DCD + sample 3: + time = 64000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 4: + time = 85333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 5: + time = 106666 + flags = 0 + data = length 158, hash 22E84AF0 + sample 6: + time = 128000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 7: + time = 149333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 8: + time = 170666 + flags = 0 + data = length 158, hash BA6B7094 + sample 9: + time = 192000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 10: + time = 213333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 11: + time = 234666 + flags = 0 + data = length 158, hash A9289DCC + sample 12: + time = 256000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 13: + time = 277333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 14: + time = 298666 + flags = 0 + data = length 158, hash A9289DCD + sample 15: + time = 320000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 16: + time = 341333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 17: + time = 362666 + flags = 0 + data = length 158, hash 37B039B1 + sample 18: + time = 384000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 19: + time = 405333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 20: + time = 426666 + flags = 0 + data = length 126, hash 78789B9C + sample 21: + time = 448000 + flags = 0 + data = length 153, hash CC86912D + sample 22: + time = 469333 + flags = 0 + data = length 162, hash 577737FF + sample 23: + time = 490666 + flags = 0 + data = length 160, hash 3BCD3677 + sample 24: + time = 512000 + flags = 1 + data = length 490, hash FD29BE27 + sample 25: + time = 533333 + flags = 0 + data = length 143, hash 38DF637D + sample 26: + time = 554666 + flags = 0 + data = length 120, hash 307A762E + sample 27: + time = 576000 + flags = 0 + data = length 154, hash E4D1CE2 + sample 28: + time = 597333 + flags = 0 + data = length 143, hash C1C83A77 + sample 29: + time = 600000 + flags = 1 + data = length 1278, hash 281C389B + sample 30: + time = 618666 + flags = 0 + data = length 611, hash 4D115F94 + sample 31: + time = 640000 + flags = 0 + data = length 656, hash 29F0A8C8 + sample 32: + time = 661333 + flags = 0 + data = length 640, hash 432215B3 + sample 33: + time = 682666 + flags = 0 + data = length 609, hash 5B7AD544 + sample 34: + time = 704000 + flags = 0 + data = length 658, hash A173EA7E + sample 35: + time = 725333 + flags = 0 + data = length 640, hash 432215CE + sample 36: + time = 746666 + flags = 0 + data = length 616, hash B059E5F3 + sample 37: + time = 768000 + flags = 0 + data = length 657, hash 950B636D + sample 38: + time = 789333 + flags = 0 + data = length 640, hash 432215D9 + sample 39: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 40: + time = 832000 + flags = 0 + data = length 658, hash D480782F + sample 41: + time = 853333 + flags = 0 + data = length 640, hash 432215B2 + sample 42: + time = 874666 + flags = 0 + data = length 650, hash A2B8C618 + sample 43: + time = 896000 + flags = 0 + data = length 657, hash ABB26E68 + sample 44: + time = 917333 + flags = 0 + data = length 640, hash 432215BC + sample 45: + time = 938666 + flags = 0 + data = length 663, hash 8A51F8B7 + sample 46: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 47: + time = 981333 + flags = 0 + data = length 641, hash F27D0F35 + sample 48: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 49: + time = 1024000 + flags = 1 + data = length 1446, hash 57251DD3 + sample 50: + time = 1045333 + flags = 0 + data = length 543, hash AC12F41B + sample 51: + time = 1066666 + flags = 0 + data = length 496, hash 7D75AE83 + sample 52: + time = 1088000 + flags = 0 + data = length 559, hash B248FD63 + sample 53: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 54: + time = 1130666 + flags = 0 + data = length 496, hash 7D75AE90 + sample 55: + time = 1152000 + flags = 0 + data = length 560, hash 77AD983C + sample 56: + time = 1173333 + flags = 0 + data = length 774, hash 8C885DAD + sample 57: + time = 1194666 + flags = 0 + data = length 733, hash 5199F868 + sample 58: + time = 1200000 + flags = 1 + data = length 914, hash B404D154 + sample 59: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 60: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 61: + time = 1258666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 62: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 63: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 64: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 65: + time = 1344000 + flags = 0 + data = length 422, hash DE1E83F5 + sample 66: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 67: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 68: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 69: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 70: + time = 1450666 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 71: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 72: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 73: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 74: + time = 1536000 + flags = 1 + data = length 814, hash 39B338CB + sample 75: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 76: + time = 1578666 + flags = 0 + data = length 423, hash 390144EE + sample 77: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 78: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 79: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 80: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 81: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 82: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 83: + time = 1728000 + flags = 0 + data = length 512, hash 4C287890 + sample 84: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 85: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 86: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_configchange_fragmented.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_configchange_fragmented.mp4.unknown_length.dump new file mode 100644 index 0000000000..2ae108b09d --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_configchange_fragmented.mp4.unknown_length.dump @@ -0,0 +1,366 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=638]] +numberOfTracks = 1 +track 0: + total output bytes = 38778 + sample count = 87 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + channelCount = 0 + sampleRate = 48000 + language = und + initializationData: + data = length 64, hash DB1F936C + sample 0: + time = 0 + flags = 1 + data = length 485, hash 8E663C03 + sample 1: + time = 21333 + flags = 0 + data = length 164, hash 136B1B66 + sample 2: + time = 42666 + flags = 0 + data = length 158, hash A9289DCD + sample 3: + time = 64000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 4: + time = 85333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 5: + time = 106666 + flags = 0 + data = length 158, hash 22E84AF0 + sample 6: + time = 128000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 7: + time = 149333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 8: + time = 170666 + flags = 0 + data = length 158, hash BA6B7094 + sample 9: + time = 192000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 10: + time = 213333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 11: + time = 234666 + flags = 0 + data = length 158, hash A9289DCC + sample 12: + time = 256000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 13: + time = 277333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 14: + time = 298666 + flags = 0 + data = length 158, hash A9289DCD + sample 15: + time = 320000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 16: + time = 341333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 17: + time = 362666 + flags = 0 + data = length 158, hash 37B039B1 + sample 18: + time = 384000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 19: + time = 405333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 20: + time = 426666 + flags = 0 + data = length 126, hash 78789B9C + sample 21: + time = 448000 + flags = 0 + data = length 153, hash CC86912D + sample 22: + time = 469333 + flags = 0 + data = length 162, hash 577737FF + sample 23: + time = 490666 + flags = 0 + data = length 160, hash 3BCD3677 + sample 24: + time = 512000 + flags = 1 + data = length 490, hash FD29BE27 + sample 25: + time = 533333 + flags = 0 + data = length 143, hash 38DF637D + sample 26: + time = 554666 + flags = 0 + data = length 120, hash 307A762E + sample 27: + time = 576000 + flags = 0 + data = length 154, hash E4D1CE2 + sample 28: + time = 597333 + flags = 0 + data = length 143, hash C1C83A77 + sample 29: + time = 600000 + flags = 1 + data = length 1278, hash 281C389B + sample 30: + time = 618666 + flags = 0 + data = length 611, hash 4D115F94 + sample 31: + time = 640000 + flags = 0 + data = length 656, hash 29F0A8C8 + sample 32: + time = 661333 + flags = 0 + data = length 640, hash 432215B3 + sample 33: + time = 682666 + flags = 0 + data = length 609, hash 5B7AD544 + sample 34: + time = 704000 + flags = 0 + data = length 658, hash A173EA7E + sample 35: + time = 725333 + flags = 0 + data = length 640, hash 432215CE + sample 36: + time = 746666 + flags = 0 + data = length 616, hash B059E5F3 + sample 37: + time = 768000 + flags = 0 + data = length 657, hash 950B636D + sample 38: + time = 789333 + flags = 0 + data = length 640, hash 432215D9 + sample 39: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 40: + time = 832000 + flags = 0 + data = length 658, hash D480782F + sample 41: + time = 853333 + flags = 0 + data = length 640, hash 432215B2 + sample 42: + time = 874666 + flags = 0 + data = length 650, hash A2B8C618 + sample 43: + time = 896000 + flags = 0 + data = length 657, hash ABB26E68 + sample 44: + time = 917333 + flags = 0 + data = length 640, hash 432215BC + sample 45: + time = 938666 + flags = 0 + data = length 663, hash 8A51F8B7 + sample 46: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 47: + time = 981333 + flags = 0 + data = length 641, hash F27D0F35 + sample 48: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 49: + time = 1024000 + flags = 1 + data = length 1446, hash 57251DD3 + sample 50: + time = 1045333 + flags = 0 + data = length 543, hash AC12F41B + sample 51: + time = 1066666 + flags = 0 + data = length 496, hash 7D75AE83 + sample 52: + time = 1088000 + flags = 0 + data = length 559, hash B248FD63 + sample 53: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 54: + time = 1130666 + flags = 0 + data = length 496, hash 7D75AE90 + sample 55: + time = 1152000 + flags = 0 + data = length 560, hash 77AD983C + sample 56: + time = 1173333 + flags = 0 + data = length 774, hash 8C885DAD + sample 57: + time = 1194666 + flags = 0 + data = length 733, hash 5199F868 + sample 58: + time = 1200000 + flags = 1 + data = length 914, hash B404D154 + sample 59: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 60: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 61: + time = 1258666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 62: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 63: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 64: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 65: + time = 1344000 + flags = 0 + data = length 422, hash DE1E83F5 + sample 66: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 67: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 68: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 69: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 70: + time = 1450666 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 71: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 72: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 73: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 74: + time = 1536000 + flags = 1 + data = length 814, hash 39B338CB + sample 75: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 76: + time = 1578666 + flags = 0 + data = length 423, hash 390144EE + sample 77: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 78: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 79: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 80: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 81: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 82: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 83: + time = 1728000 + flags = 0 + data = length 512, hash 4C287890 + sample 84: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 85: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 86: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_cicp1.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_cicp1.mp4.0.dump new file mode 100644 index 0000000000..8e45890034 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_cicp1.mp4.0.dump @@ -0,0 +1,140 @@ +seekMap: + isSeekable = true + duration = 600000 + getPosition(0) = [[timeUs=0, position=767]] + getPosition(1) = [[timeUs=1, position=767]] + getPosition(300000) = [[timeUs=300000, position=767]] + getPosition(600000) = [[timeUs=600000, position=2991]] +numberOfTracks = 1 +track 0: + total output bytes = 2837 + sample count = 29 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + maxInputSize = 368 + channelCount = 0 + sampleRate = 48000 + language = und + metadata = entries=[Mp4Timestamp: creation time=3782733150, modification time=3782733150, timescale=600] + initializationData: + data = length 63, hash 7D954866 + data = length 1, hash 2F + sample 0: + time = 0 + flags = 1 + data = length 338, hash CF711ADC + sample 1: + time = 21333 + flags = 0 + data = length 85, hash 8EFCDF36 + sample 2: + time = 42666 + flags = 0 + data = length 98, hash BC03FE8A + sample 3: + time = 64000 + flags = 0 + data = length 105, hash 9FBA3169 + sample 4: + time = 85333 + flags = 0 + data = length 93, hash BD1CBC0E + sample 5: + time = 106666 + flags = 0 + data = length 93, hash C0B46623 + sample 6: + time = 128000 + flags = 0 + data = length 91, hash E4CA8D5 + sample 7: + time = 149333 + flags = 0 + data = length 82, hash EB64F3A8 + sample 8: + time = 170666 + flags = 0 + data = length 83, hash 97803527 + sample 9: + time = 192000 + flags = 0 + data = length 82, hash 5972B44D + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 3D9C7710 + sample 11: + time = 234666 + flags = 0 + data = length 77, hash 27B26E3D + sample 12: + time = 256000 + flags = 0 + data = length 79, hash A0154CE2 + sample 13: + time = 277333 + flags = 0 + data = length 80, hash E37A5065 + sample 14: + time = 298666 + flags = 0 + data = length 78, hash 8F24DBB3 + sample 15: + time = 320000 + flags = 0 + data = length 77, hash CD76338B + sample 16: + time = 341333 + flags = 0 + data = length 78, hash 653631D3 + sample 17: + time = 362666 + flags = 0 + data = length 76, hash FCDBFDFB + sample 18: + time = 384000 + flags = 0 + data = length 56, hash E05FB637 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 2B2350C8 + sample 20: + time = 426666 + flags = 0 + data = length 79, hash DFF1D0D9 + sample 21: + time = 448000 + flags = 0 + data = length 70, hash FB797ACC + sample 22: + time = 469333 + flags = 0 + data = length 81, hash 3B32D906 + sample 23: + time = 490666 + flags = 0 + data = length 81, hash 590B7E40 + sample 24: + time = 512000 + flags = 1 + data = length 323, hash F3C25326 + sample 25: + time = 533333 + flags = 0 + data = length 77, hash F3A2DCC5 + sample 26: + time = 554666 + flags = 0 + data = length 78, hash D9DD04A0 + sample 27: + time = 576000 + flags = 0 + data = length 65, hash 622B1D3 + sample 28: + time = 597333 + flags = 536870912 + data = length 70, hash CE3E092E +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_cicp1.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_cicp1.mp4.1.dump new file mode 100644 index 0000000000..8e45890034 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_cicp1.mp4.1.dump @@ -0,0 +1,140 @@ +seekMap: + isSeekable = true + duration = 600000 + getPosition(0) = [[timeUs=0, position=767]] + getPosition(1) = [[timeUs=1, position=767]] + getPosition(300000) = [[timeUs=300000, position=767]] + getPosition(600000) = [[timeUs=600000, position=2991]] +numberOfTracks = 1 +track 0: + total output bytes = 2837 + sample count = 29 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + maxInputSize = 368 + channelCount = 0 + sampleRate = 48000 + language = und + metadata = entries=[Mp4Timestamp: creation time=3782733150, modification time=3782733150, timescale=600] + initializationData: + data = length 63, hash 7D954866 + data = length 1, hash 2F + sample 0: + time = 0 + flags = 1 + data = length 338, hash CF711ADC + sample 1: + time = 21333 + flags = 0 + data = length 85, hash 8EFCDF36 + sample 2: + time = 42666 + flags = 0 + data = length 98, hash BC03FE8A + sample 3: + time = 64000 + flags = 0 + data = length 105, hash 9FBA3169 + sample 4: + time = 85333 + flags = 0 + data = length 93, hash BD1CBC0E + sample 5: + time = 106666 + flags = 0 + data = length 93, hash C0B46623 + sample 6: + time = 128000 + flags = 0 + data = length 91, hash E4CA8D5 + sample 7: + time = 149333 + flags = 0 + data = length 82, hash EB64F3A8 + sample 8: + time = 170666 + flags = 0 + data = length 83, hash 97803527 + sample 9: + time = 192000 + flags = 0 + data = length 82, hash 5972B44D + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 3D9C7710 + sample 11: + time = 234666 + flags = 0 + data = length 77, hash 27B26E3D + sample 12: + time = 256000 + flags = 0 + data = length 79, hash A0154CE2 + sample 13: + time = 277333 + flags = 0 + data = length 80, hash E37A5065 + sample 14: + time = 298666 + flags = 0 + data = length 78, hash 8F24DBB3 + sample 15: + time = 320000 + flags = 0 + data = length 77, hash CD76338B + sample 16: + time = 341333 + flags = 0 + data = length 78, hash 653631D3 + sample 17: + time = 362666 + flags = 0 + data = length 76, hash FCDBFDFB + sample 18: + time = 384000 + flags = 0 + data = length 56, hash E05FB637 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 2B2350C8 + sample 20: + time = 426666 + flags = 0 + data = length 79, hash DFF1D0D9 + sample 21: + time = 448000 + flags = 0 + data = length 70, hash FB797ACC + sample 22: + time = 469333 + flags = 0 + data = length 81, hash 3B32D906 + sample 23: + time = 490666 + flags = 0 + data = length 81, hash 590B7E40 + sample 24: + time = 512000 + flags = 1 + data = length 323, hash F3C25326 + sample 25: + time = 533333 + flags = 0 + data = length 77, hash F3A2DCC5 + sample 26: + time = 554666 + flags = 0 + data = length 78, hash D9DD04A0 + sample 27: + time = 576000 + flags = 0 + data = length 65, hash 622B1D3 + sample 28: + time = 597333 + flags = 536870912 + data = length 70, hash CE3E092E +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_cicp1.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_cicp1.mp4.2.dump new file mode 100644 index 0000000000..8e45890034 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_cicp1.mp4.2.dump @@ -0,0 +1,140 @@ +seekMap: + isSeekable = true + duration = 600000 + getPosition(0) = [[timeUs=0, position=767]] + getPosition(1) = [[timeUs=1, position=767]] + getPosition(300000) = [[timeUs=300000, position=767]] + getPosition(600000) = [[timeUs=600000, position=2991]] +numberOfTracks = 1 +track 0: + total output bytes = 2837 + sample count = 29 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + maxInputSize = 368 + channelCount = 0 + sampleRate = 48000 + language = und + metadata = entries=[Mp4Timestamp: creation time=3782733150, modification time=3782733150, timescale=600] + initializationData: + data = length 63, hash 7D954866 + data = length 1, hash 2F + sample 0: + time = 0 + flags = 1 + data = length 338, hash CF711ADC + sample 1: + time = 21333 + flags = 0 + data = length 85, hash 8EFCDF36 + sample 2: + time = 42666 + flags = 0 + data = length 98, hash BC03FE8A + sample 3: + time = 64000 + flags = 0 + data = length 105, hash 9FBA3169 + sample 4: + time = 85333 + flags = 0 + data = length 93, hash BD1CBC0E + sample 5: + time = 106666 + flags = 0 + data = length 93, hash C0B46623 + sample 6: + time = 128000 + flags = 0 + data = length 91, hash E4CA8D5 + sample 7: + time = 149333 + flags = 0 + data = length 82, hash EB64F3A8 + sample 8: + time = 170666 + flags = 0 + data = length 83, hash 97803527 + sample 9: + time = 192000 + flags = 0 + data = length 82, hash 5972B44D + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 3D9C7710 + sample 11: + time = 234666 + flags = 0 + data = length 77, hash 27B26E3D + sample 12: + time = 256000 + flags = 0 + data = length 79, hash A0154CE2 + sample 13: + time = 277333 + flags = 0 + data = length 80, hash E37A5065 + sample 14: + time = 298666 + flags = 0 + data = length 78, hash 8F24DBB3 + sample 15: + time = 320000 + flags = 0 + data = length 77, hash CD76338B + sample 16: + time = 341333 + flags = 0 + data = length 78, hash 653631D3 + sample 17: + time = 362666 + flags = 0 + data = length 76, hash FCDBFDFB + sample 18: + time = 384000 + flags = 0 + data = length 56, hash E05FB637 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 2B2350C8 + sample 20: + time = 426666 + flags = 0 + data = length 79, hash DFF1D0D9 + sample 21: + time = 448000 + flags = 0 + data = length 70, hash FB797ACC + sample 22: + time = 469333 + flags = 0 + data = length 81, hash 3B32D906 + sample 23: + time = 490666 + flags = 0 + data = length 81, hash 590B7E40 + sample 24: + time = 512000 + flags = 1 + data = length 323, hash F3C25326 + sample 25: + time = 533333 + flags = 0 + data = length 77, hash F3A2DCC5 + sample 26: + time = 554666 + flags = 0 + data = length 78, hash D9DD04A0 + sample 27: + time = 576000 + flags = 0 + data = length 65, hash 622B1D3 + sample 28: + time = 597333 + flags = 536870912 + data = length 70, hash CE3E092E +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_cicp1.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_cicp1.mp4.3.dump new file mode 100644 index 0000000000..5d94463aa5 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_cicp1.mp4.3.dump @@ -0,0 +1,44 @@ +seekMap: + isSeekable = true + duration = 600000 + getPosition(0) = [[timeUs=0, position=767]] + getPosition(1) = [[timeUs=1, position=767]] + getPosition(300000) = [[timeUs=300000, position=767]] + getPosition(600000) = [[timeUs=600000, position=2991]] +numberOfTracks = 1 +track 0: + total output bytes = 613 + sample count = 5 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + maxInputSize = 368 + channelCount = 0 + sampleRate = 48000 + language = und + metadata = entries=[Mp4Timestamp: creation time=3782733150, modification time=3782733150, timescale=600] + initializationData: + data = length 63, hash 7D954866 + data = length 1, hash 2F + sample 0: + time = 512000 + flags = 1 + data = length 323, hash F3C25326 + sample 1: + time = 533333 + flags = 0 + data = length 77, hash F3A2DCC5 + sample 2: + time = 554666 + flags = 0 + data = length 78, hash D9DD04A0 + sample 3: + time = 576000 + flags = 0 + data = length 65, hash 622B1D3 + sample 4: + time = 597333 + flags = 536870912 + data = length 70, hash CE3E092E +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_cicp1.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_cicp1.mp4.unknown_length.dump new file mode 100644 index 0000000000..8e45890034 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_cicp1.mp4.unknown_length.dump @@ -0,0 +1,140 @@ +seekMap: + isSeekable = true + duration = 600000 + getPosition(0) = [[timeUs=0, position=767]] + getPosition(1) = [[timeUs=1, position=767]] + getPosition(300000) = [[timeUs=300000, position=767]] + getPosition(600000) = [[timeUs=600000, position=2991]] +numberOfTracks = 1 +track 0: + total output bytes = 2837 + sample count = 29 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + maxInputSize = 368 + channelCount = 0 + sampleRate = 48000 + language = und + metadata = entries=[Mp4Timestamp: creation time=3782733150, modification time=3782733150, timescale=600] + initializationData: + data = length 63, hash 7D954866 + data = length 1, hash 2F + sample 0: + time = 0 + flags = 1 + data = length 338, hash CF711ADC + sample 1: + time = 21333 + flags = 0 + data = length 85, hash 8EFCDF36 + sample 2: + time = 42666 + flags = 0 + data = length 98, hash BC03FE8A + sample 3: + time = 64000 + flags = 0 + data = length 105, hash 9FBA3169 + sample 4: + time = 85333 + flags = 0 + data = length 93, hash BD1CBC0E + sample 5: + time = 106666 + flags = 0 + data = length 93, hash C0B46623 + sample 6: + time = 128000 + flags = 0 + data = length 91, hash E4CA8D5 + sample 7: + time = 149333 + flags = 0 + data = length 82, hash EB64F3A8 + sample 8: + time = 170666 + flags = 0 + data = length 83, hash 97803527 + sample 9: + time = 192000 + flags = 0 + data = length 82, hash 5972B44D + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 3D9C7710 + sample 11: + time = 234666 + flags = 0 + data = length 77, hash 27B26E3D + sample 12: + time = 256000 + flags = 0 + data = length 79, hash A0154CE2 + sample 13: + time = 277333 + flags = 0 + data = length 80, hash E37A5065 + sample 14: + time = 298666 + flags = 0 + data = length 78, hash 8F24DBB3 + sample 15: + time = 320000 + flags = 0 + data = length 77, hash CD76338B + sample 16: + time = 341333 + flags = 0 + data = length 78, hash 653631D3 + sample 17: + time = 362666 + flags = 0 + data = length 76, hash FCDBFDFB + sample 18: + time = 384000 + flags = 0 + data = length 56, hash E05FB637 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 2B2350C8 + sample 20: + time = 426666 + flags = 0 + data = length 79, hash DFF1D0D9 + sample 21: + time = 448000 + flags = 0 + data = length 70, hash FB797ACC + sample 22: + time = 469333 + flags = 0 + data = length 81, hash 3B32D906 + sample 23: + time = 490666 + flags = 0 + data = length 81, hash 590B7E40 + sample 24: + time = 512000 + flags = 1 + data = length 323, hash F3C25326 + sample 25: + time = 533333 + flags = 0 + data = length 77, hash F3A2DCC5 + sample 26: + time = 554666 + flags = 0 + data = length 78, hash D9DD04A0 + sample 27: + time = 576000 + flags = 0 + data = length 65, hash 622B1D3 + sample 28: + time = 597333 + flags = 536870912 + data = length 70, hash CE3E092E +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_cicp1_fragmented.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_cicp1_fragmented.mp4.0.dump new file mode 100644 index 0000000000..431719a58d --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_cicp1_fragmented.mp4.0.dump @@ -0,0 +1,135 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=647]] +numberOfTracks = 1 +track 0: + total output bytes = 2837 + sample count = 29 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + channelCount = 0 + sampleRate = 48000 + language = und + initializationData: + data = length 63, hash 7D954866 + data = length 1, hash 2F + sample 0: + time = 0 + flags = 1 + data = length 338, hash CF711ADC + sample 1: + time = 21333 + flags = 0 + data = length 85, hash 8EFCDF36 + sample 2: + time = 42666 + flags = 0 + data = length 98, hash BC03FE8A + sample 3: + time = 64000 + flags = 0 + data = length 105, hash 9FBA3169 + sample 4: + time = 85333 + flags = 0 + data = length 93, hash BD1CBC0E + sample 5: + time = 106666 + flags = 0 + data = length 93, hash C0B46623 + sample 6: + time = 128000 + flags = 0 + data = length 91, hash E4CA8D5 + sample 7: + time = 149333 + flags = 0 + data = length 82, hash EB64F3A8 + sample 8: + time = 170666 + flags = 0 + data = length 83, hash 97803527 + sample 9: + time = 192000 + flags = 0 + data = length 82, hash 5972B44D + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 3D9C7710 + sample 11: + time = 234666 + flags = 0 + data = length 77, hash 27B26E3D + sample 12: + time = 256000 + flags = 0 + data = length 79, hash A0154CE2 + sample 13: + time = 277333 + flags = 0 + data = length 80, hash E37A5065 + sample 14: + time = 298666 + flags = 0 + data = length 78, hash 8F24DBB3 + sample 15: + time = 320000 + flags = 0 + data = length 77, hash CD76338B + sample 16: + time = 341333 + flags = 0 + data = length 78, hash 653631D3 + sample 17: + time = 362666 + flags = 0 + data = length 76, hash FCDBFDFB + sample 18: + time = 384000 + flags = 0 + data = length 56, hash E05FB637 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 2B2350C8 + sample 20: + time = 426666 + flags = 0 + data = length 79, hash DFF1D0D9 + sample 21: + time = 448000 + flags = 0 + data = length 70, hash FB797ACC + sample 22: + time = 469333 + flags = 0 + data = length 81, hash 3B32D906 + sample 23: + time = 490666 + flags = 0 + data = length 81, hash 590B7E40 + sample 24: + time = 512000 + flags = 1 + data = length 323, hash F3C25326 + sample 25: + time = 533333 + flags = 0 + data = length 77, hash F3A2DCC5 + sample 26: + time = 554666 + flags = 0 + data = length 78, hash D9DD04A0 + sample 27: + time = 576000 + flags = 0 + data = length 65, hash 622B1D3 + sample 28: + time = 597333 + flags = 0 + data = length 70, hash CE3E092E +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_cicp1_fragmented.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_cicp1_fragmented.mp4.unknown_length.dump new file mode 100644 index 0000000000..431719a58d --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_cicp1_fragmented.mp4.unknown_length.dump @@ -0,0 +1,135 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=647]] +numberOfTracks = 1 +track 0: + total output bytes = 2837 + sample count = 29 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + channelCount = 0 + sampleRate = 48000 + language = und + initializationData: + data = length 63, hash 7D954866 + data = length 1, hash 2F + sample 0: + time = 0 + flags = 1 + data = length 338, hash CF711ADC + sample 1: + time = 21333 + flags = 0 + data = length 85, hash 8EFCDF36 + sample 2: + time = 42666 + flags = 0 + data = length 98, hash BC03FE8A + sample 3: + time = 64000 + flags = 0 + data = length 105, hash 9FBA3169 + sample 4: + time = 85333 + flags = 0 + data = length 93, hash BD1CBC0E + sample 5: + time = 106666 + flags = 0 + data = length 93, hash C0B46623 + sample 6: + time = 128000 + flags = 0 + data = length 91, hash E4CA8D5 + sample 7: + time = 149333 + flags = 0 + data = length 82, hash EB64F3A8 + sample 8: + time = 170666 + flags = 0 + data = length 83, hash 97803527 + sample 9: + time = 192000 + flags = 0 + data = length 82, hash 5972B44D + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 3D9C7710 + sample 11: + time = 234666 + flags = 0 + data = length 77, hash 27B26E3D + sample 12: + time = 256000 + flags = 0 + data = length 79, hash A0154CE2 + sample 13: + time = 277333 + flags = 0 + data = length 80, hash E37A5065 + sample 14: + time = 298666 + flags = 0 + data = length 78, hash 8F24DBB3 + sample 15: + time = 320000 + flags = 0 + data = length 77, hash CD76338B + sample 16: + time = 341333 + flags = 0 + data = length 78, hash 653631D3 + sample 17: + time = 362666 + flags = 0 + data = length 76, hash FCDBFDFB + sample 18: + time = 384000 + flags = 0 + data = length 56, hash E05FB637 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 2B2350C8 + sample 20: + time = 426666 + flags = 0 + data = length 79, hash DFF1D0D9 + sample 21: + time = 448000 + flags = 0 + data = length 70, hash FB797ACC + sample 22: + time = 469333 + flags = 0 + data = length 81, hash 3B32D906 + sample 23: + time = 490666 + flags = 0 + data = length 81, hash 590B7E40 + sample 24: + time = 512000 + flags = 1 + data = length 323, hash F3C25326 + sample 25: + time = 533333 + flags = 0 + data = length 77, hash F3A2DCC5 + sample 26: + time = 554666 + flags = 0 + data = length 78, hash D9DD04A0 + sample 27: + time = 576000 + flags = 0 + data = length 65, hash 622B1D3 + sample 28: + time = 597333 + flags = 0 + data = length 70, hash CE3E092E +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_configchange.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_configchange.mp4.0.dump new file mode 100644 index 0000000000..1befd0293e --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_configchange.mp4.0.dump @@ -0,0 +1,372 @@ +seekMap: + isSeekable = true + duration = 1800000 + getPosition(0) = [[timeUs=0, position=1067]] + getPosition(1) = [[timeUs=1, position=1067]] + getPosition(900000) = [[timeUs=900000, position=6256]] + getPosition(1800000) = [[timeUs=1800000, position=33133]] +numberOfTracks = 1 +track 0: + total output bytes = 38778 + sample count = 87 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + maxInputSize = 1479 + channelCount = 0 + sampleRate = 48000 + language = und + metadata = entries=[Mp4Timestamp: creation time=3782733090, modification time=3782733090, timescale=600] + initializationData: + data = length 67, hash 3CF14937 + data = length 1, hash 2F + sample 0: + time = 0 + flags = 1 + data = length 488, hash 1ED69C37 + sample 1: + time = 21333 + flags = 0 + data = length 164, hash 136B1B66 + sample 2: + time = 42666 + flags = 0 + data = length 158, hash A9289DCD + sample 3: + time = 64000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 4: + time = 85333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 5: + time = 106666 + flags = 0 + data = length 158, hash 22E84AF0 + sample 6: + time = 128000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 7: + time = 149333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 8: + time = 170666 + flags = 0 + data = length 158, hash BA6B7094 + sample 9: + time = 192000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 10: + time = 213333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 11: + time = 234666 + flags = 0 + data = length 158, hash A9289DCC + sample 12: + time = 256000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 13: + time = 277333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 14: + time = 298666 + flags = 0 + data = length 158, hash A9289DCD + sample 15: + time = 320000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 16: + time = 341333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 17: + time = 362666 + flags = 0 + data = length 158, hash 37B039B1 + sample 18: + time = 384000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 19: + time = 405333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 20: + time = 426666 + flags = 0 + data = length 126, hash 78789B9C + sample 21: + time = 448000 + flags = 0 + data = length 151, hash 2E40B4B2 + sample 22: + time = 469333 + flags = 0 + data = length 163, hash 4E4CBFDD + sample 23: + time = 490666 + flags = 0 + data = length 160, hash 3BCD3677 + sample 24: + time = 512000 + flags = 1 + data = length 493, hash 5CB15E73 + sample 25: + time = 533333 + flags = 0 + data = length 143, hash 38DF6348 + sample 26: + time = 554666 + flags = 0 + data = length 120, hash 307A7619 + sample 27: + time = 576000 + flags = 0 + data = length 160, hash 85B40084 + sample 28: + time = 597333 + flags = 0 + data = length 141, hash C14F9501 + sample 29: + time = 600000 + flags = 1 + data = length 1281, hash 9131BB91 + sample 30: + time = 618666 + flags = 0 + data = length 608, hash 1F8ADAAD + sample 31: + time = 640000 + flags = 0 + data = length 656, hash BAEB035 + sample 32: + time = 661333 + flags = 0 + data = length 640, hash 432215C9 + sample 33: + time = 682666 + flags = 0 + data = length 609, hash 5B7AD547 + sample 34: + time = 704000 + flags = 0 + data = length 658, hash A173EA78 + sample 35: + time = 725333 + flags = 0 + data = length 640, hash 432215C9 + sample 36: + time = 746666 + flags = 0 + data = length 613, hash ECA1FB91 + sample 37: + time = 768000 + flags = 0 + data = length 658, hash 6EC1708C + sample 38: + time = 789333 + flags = 0 + data = length 640, hash 432215C2 + sample 39: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 40: + time = 832000 + flags = 0 + data = length 658, hash D480784A + sample 41: + time = 853333 + flags = 0 + data = length 640, hash 432215D6 + sample 42: + time = 874666 + flags = 0 + data = length 647, hash C6E3E718 + sample 43: + time = 896000 + flags = 0 + data = length 657, hash A204D6AF + sample 44: + time = 917333 + flags = 0 + data = length 640, hash 432215D4 + sample 45: + time = 938666 + flags = 0 + data = length 663, hash 8A51F88A + sample 46: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 47: + time = 981333 + flags = 0 + data = length 641, hash F27D0F36 + sample 48: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 49: + time = 1024000 + flags = 1 + data = length 1449, hash 773492CA + sample 50: + time = 1045333 + flags = 0 + data = length 542, hash 2689A516 + sample 51: + time = 1066666 + flags = 0 + data = length 496, hash 7D75AE8C + sample 52: + time = 1088000 + flags = 0 + data = length 559, hash B248FD5C + sample 53: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 54: + time = 1130666 + flags = 0 + data = length 496, hash 7D75AE8A + sample 55: + time = 1152000 + flags = 0 + data = length 560, hash 77AD983C + sample 56: + time = 1173333 + flags = 0 + data = length 773, hash 4FA8BAEF + sample 57: + time = 1194666 + flags = 0 + data = length 744, hash 6725112B + sample 58: + time = 1200000 + flags = 1 + data = length 917, hash 338496EB + sample 59: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 60: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 61: + time = 1258666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 62: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 63: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 64: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 65: + time = 1344000 + flags = 0 + data = length 403, hash BCD6901D + sample 66: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 67: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 68: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 69: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 70: + time = 1450666 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 71: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 72: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 73: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 74: + time = 1536000 + flags = 1 + data = length 817, hash 9C51B5E2 + sample 75: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 76: + time = 1578666 + flags = 0 + data = length 420, hash 7C4664D7 + sample 77: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 78: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 79: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 80: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 81: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 82: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 83: + time = 1728000 + flags = 0 + data = length 512, hash 4C287890 + sample 84: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 85: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 86: + time = 1792000 + flags = 536870912 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_configchange.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_configchange.mp4.1.dump new file mode 100644 index 0000000000..60c9b2564d --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_configchange.mp4.1.dump @@ -0,0 +1,256 @@ +seekMap: + isSeekable = true + duration = 1800000 + getPosition(0) = [[timeUs=0, position=1067]] + getPosition(1) = [[timeUs=1, position=1067]] + getPosition(900000) = [[timeUs=900000, position=6256]] + getPosition(1800000) = [[timeUs=1800000, position=33133]] +numberOfTracks = 1 +track 0: + total output bytes = 33589 + sample count = 58 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + maxInputSize = 1479 + channelCount = 0 + sampleRate = 48000 + language = und + metadata = entries=[Mp4Timestamp: creation time=3782733090, modification time=3782733090, timescale=600] + initializationData: + data = length 67, hash 3CF14937 + data = length 1, hash 2F + sample 0: + time = 600000 + flags = 1 + data = length 1281, hash 9131BB91 + sample 1: + time = 618666 + flags = 0 + data = length 608, hash 1F8ADAAD + sample 2: + time = 640000 + flags = 0 + data = length 656, hash BAEB035 + sample 3: + time = 661333 + flags = 0 + data = length 640, hash 432215C9 + sample 4: + time = 682666 + flags = 0 + data = length 609, hash 5B7AD547 + sample 5: + time = 704000 + flags = 0 + data = length 658, hash A173EA78 + sample 6: + time = 725333 + flags = 0 + data = length 640, hash 432215C9 + sample 7: + time = 746666 + flags = 0 + data = length 613, hash ECA1FB91 + sample 8: + time = 768000 + flags = 0 + data = length 658, hash 6EC1708C + sample 9: + time = 789333 + flags = 0 + data = length 640, hash 432215C2 + sample 10: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 11: + time = 832000 + flags = 0 + data = length 658, hash D480784A + sample 12: + time = 853333 + flags = 0 + data = length 640, hash 432215D6 + sample 13: + time = 874666 + flags = 0 + data = length 647, hash C6E3E718 + sample 14: + time = 896000 + flags = 0 + data = length 657, hash A204D6AF + sample 15: + time = 917333 + flags = 0 + data = length 640, hash 432215D4 + sample 16: + time = 938666 + flags = 0 + data = length 663, hash 8A51F88A + sample 17: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 18: + time = 981333 + flags = 0 + data = length 641, hash F27D0F36 + sample 19: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 20: + time = 1024000 + flags = 1 + data = length 1449, hash 773492CA + sample 21: + time = 1045333 + flags = 0 + data = length 542, hash 2689A516 + sample 22: + time = 1066666 + flags = 0 + data = length 496, hash 7D75AE8C + sample 23: + time = 1088000 + flags = 0 + data = length 559, hash B248FD5C + sample 24: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 25: + time = 1130666 + flags = 0 + data = length 496, hash 7D75AE8A + sample 26: + time = 1152000 + flags = 0 + data = length 560, hash 77AD983C + sample 27: + time = 1173333 + flags = 0 + data = length 773, hash 4FA8BAEF + sample 28: + time = 1194666 + flags = 0 + data = length 744, hash 6725112B + sample 29: + time = 1200000 + flags = 1 + data = length 917, hash 338496EB + sample 30: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 31: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 32: + time = 1258666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 33: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 34: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 35: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 36: + time = 1344000 + flags = 0 + data = length 403, hash BCD6901D + sample 37: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 38: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 39: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 40: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 41: + time = 1450666 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 42: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 43: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 44: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 45: + time = 1536000 + flags = 1 + data = length 817, hash 9C51B5E2 + sample 46: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 47: + time = 1578666 + flags = 0 + data = length 420, hash 7C4664D7 + sample 48: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 49: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 50: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 51: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 52: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 53: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 54: + time = 1728000 + flags = 0 + data = length 512, hash 4C287890 + sample 55: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 56: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 57: + time = 1792000 + flags = 536870912 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_configchange.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_configchange.mp4.2.dump new file mode 100644 index 0000000000..f8211a1989 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_configchange.mp4.2.dump @@ -0,0 +1,140 @@ +seekMap: + isSeekable = true + duration = 1800000 + getPosition(0) = [[timeUs=0, position=1067]] + getPosition(1) = [[timeUs=1, position=1067]] + getPosition(900000) = [[timeUs=900000, position=6256]] + getPosition(1800000) = [[timeUs=1800000, position=33133]] +numberOfTracks = 1 +track 0: + total output bytes = 13960 + sample count = 29 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + maxInputSize = 1479 + channelCount = 0 + sampleRate = 48000 + language = und + metadata = entries=[Mp4Timestamp: creation time=3782733090, modification time=3782733090, timescale=600] + initializationData: + data = length 67, hash 3CF14937 + data = length 1, hash 2F + sample 0: + time = 1200000 + flags = 1 + data = length 917, hash 338496EB + sample 1: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 2: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 3: + time = 1258666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 4: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 5: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 6: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 7: + time = 1344000 + flags = 0 + data = length 403, hash BCD6901D + sample 8: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 9: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 10: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 11: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 12: + time = 1450666 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 13: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 14: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 15: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 16: + time = 1536000 + flags = 1 + data = length 817, hash 9C51B5E2 + sample 17: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 18: + time = 1578666 + flags = 0 + data = length 420, hash 7C4664D7 + sample 19: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 20: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 21: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 22: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 23: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 24: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 25: + time = 1728000 + flags = 0 + data = length 512, hash 4C287890 + sample 26: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 27: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 28: + time = 1792000 + flags = 536870912 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_configchange.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_configchange.mp4.3.dump new file mode 100644 index 0000000000..3081be263d --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_configchange.mp4.3.dump @@ -0,0 +1,76 @@ +seekMap: + isSeekable = true + duration = 1800000 + getPosition(0) = [[timeUs=0, position=1067]] + getPosition(1) = [[timeUs=1, position=1067]] + getPosition(900000) = [[timeUs=900000, position=6256]] + getPosition(1800000) = [[timeUs=1800000, position=33133]] +numberOfTracks = 1 +track 0: + total output bytes = 6712 + sample count = 13 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + maxInputSize = 1479 + channelCount = 0 + sampleRate = 48000 + language = und + metadata = entries=[Mp4Timestamp: creation time=3782733090, modification time=3782733090, timescale=600] + initializationData: + data = length 67, hash 3CF14937 + data = length 1, hash 2F + sample 0: + time = 1536000 + flags = 1 + data = length 817, hash 9C51B5E2 + sample 1: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 2: + time = 1578666 + flags = 0 + data = length 420, hash 7C4664D7 + sample 3: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 4: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 5: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 6: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 7: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 8: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 9: + time = 1728000 + flags = 0 + data = length 512, hash 4C287890 + sample 10: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 11: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 12: + time = 1792000 + flags = 536870912 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_configchange.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_configchange.mp4.unknown_length.dump new file mode 100644 index 0000000000..1befd0293e --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_configchange.mp4.unknown_length.dump @@ -0,0 +1,372 @@ +seekMap: + isSeekable = true + duration = 1800000 + getPosition(0) = [[timeUs=0, position=1067]] + getPosition(1) = [[timeUs=1, position=1067]] + getPosition(900000) = [[timeUs=900000, position=6256]] + getPosition(1800000) = [[timeUs=1800000, position=33133]] +numberOfTracks = 1 +track 0: + total output bytes = 38778 + sample count = 87 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + maxInputSize = 1479 + channelCount = 0 + sampleRate = 48000 + language = und + metadata = entries=[Mp4Timestamp: creation time=3782733090, modification time=3782733090, timescale=600] + initializationData: + data = length 67, hash 3CF14937 + data = length 1, hash 2F + sample 0: + time = 0 + flags = 1 + data = length 488, hash 1ED69C37 + sample 1: + time = 21333 + flags = 0 + data = length 164, hash 136B1B66 + sample 2: + time = 42666 + flags = 0 + data = length 158, hash A9289DCD + sample 3: + time = 64000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 4: + time = 85333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 5: + time = 106666 + flags = 0 + data = length 158, hash 22E84AF0 + sample 6: + time = 128000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 7: + time = 149333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 8: + time = 170666 + flags = 0 + data = length 158, hash BA6B7094 + sample 9: + time = 192000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 10: + time = 213333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 11: + time = 234666 + flags = 0 + data = length 158, hash A9289DCC + sample 12: + time = 256000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 13: + time = 277333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 14: + time = 298666 + flags = 0 + data = length 158, hash A9289DCD + sample 15: + time = 320000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 16: + time = 341333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 17: + time = 362666 + flags = 0 + data = length 158, hash 37B039B1 + sample 18: + time = 384000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 19: + time = 405333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 20: + time = 426666 + flags = 0 + data = length 126, hash 78789B9C + sample 21: + time = 448000 + flags = 0 + data = length 151, hash 2E40B4B2 + sample 22: + time = 469333 + flags = 0 + data = length 163, hash 4E4CBFDD + sample 23: + time = 490666 + flags = 0 + data = length 160, hash 3BCD3677 + sample 24: + time = 512000 + flags = 1 + data = length 493, hash 5CB15E73 + sample 25: + time = 533333 + flags = 0 + data = length 143, hash 38DF6348 + sample 26: + time = 554666 + flags = 0 + data = length 120, hash 307A7619 + sample 27: + time = 576000 + flags = 0 + data = length 160, hash 85B40084 + sample 28: + time = 597333 + flags = 0 + data = length 141, hash C14F9501 + sample 29: + time = 600000 + flags = 1 + data = length 1281, hash 9131BB91 + sample 30: + time = 618666 + flags = 0 + data = length 608, hash 1F8ADAAD + sample 31: + time = 640000 + flags = 0 + data = length 656, hash BAEB035 + sample 32: + time = 661333 + flags = 0 + data = length 640, hash 432215C9 + sample 33: + time = 682666 + flags = 0 + data = length 609, hash 5B7AD547 + sample 34: + time = 704000 + flags = 0 + data = length 658, hash A173EA78 + sample 35: + time = 725333 + flags = 0 + data = length 640, hash 432215C9 + sample 36: + time = 746666 + flags = 0 + data = length 613, hash ECA1FB91 + sample 37: + time = 768000 + flags = 0 + data = length 658, hash 6EC1708C + sample 38: + time = 789333 + flags = 0 + data = length 640, hash 432215C2 + sample 39: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 40: + time = 832000 + flags = 0 + data = length 658, hash D480784A + sample 41: + time = 853333 + flags = 0 + data = length 640, hash 432215D6 + sample 42: + time = 874666 + flags = 0 + data = length 647, hash C6E3E718 + sample 43: + time = 896000 + flags = 0 + data = length 657, hash A204D6AF + sample 44: + time = 917333 + flags = 0 + data = length 640, hash 432215D4 + sample 45: + time = 938666 + flags = 0 + data = length 663, hash 8A51F88A + sample 46: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 47: + time = 981333 + flags = 0 + data = length 641, hash F27D0F36 + sample 48: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 49: + time = 1024000 + flags = 1 + data = length 1449, hash 773492CA + sample 50: + time = 1045333 + flags = 0 + data = length 542, hash 2689A516 + sample 51: + time = 1066666 + flags = 0 + data = length 496, hash 7D75AE8C + sample 52: + time = 1088000 + flags = 0 + data = length 559, hash B248FD5C + sample 53: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 54: + time = 1130666 + flags = 0 + data = length 496, hash 7D75AE8A + sample 55: + time = 1152000 + flags = 0 + data = length 560, hash 77AD983C + sample 56: + time = 1173333 + flags = 0 + data = length 773, hash 4FA8BAEF + sample 57: + time = 1194666 + flags = 0 + data = length 744, hash 6725112B + sample 58: + time = 1200000 + flags = 1 + data = length 917, hash 338496EB + sample 59: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 60: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 61: + time = 1258666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 62: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 63: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 64: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 65: + time = 1344000 + flags = 0 + data = length 403, hash BCD6901D + sample 66: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 67: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 68: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 69: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 70: + time = 1450666 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 71: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 72: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 73: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 74: + time = 1536000 + flags = 1 + data = length 817, hash 9C51B5E2 + sample 75: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 76: + time = 1578666 + flags = 0 + data = length 420, hash 7C4664D7 + sample 77: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 78: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 79: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 80: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 81: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 82: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 83: + time = 1728000 + flags = 0 + data = length 512, hash 4C287890 + sample 84: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 85: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 86: + time = 1792000 + flags = 536870912 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_configchange_fragmented.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_configchange_fragmented.mp4.0.dump new file mode 100644 index 0000000000..fc7a4a1dd8 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_configchange_fragmented.mp4.0.dump @@ -0,0 +1,367 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=651]] +numberOfTracks = 1 +track 0: + total output bytes = 38778 + sample count = 87 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + channelCount = 0 + sampleRate = 48000 + language = und + initializationData: + data = length 67, hash 3CF14937 + data = length 1, hash 2F + sample 0: + time = 0 + flags = 1 + data = length 488, hash 1ED69C37 + sample 1: + time = 21333 + flags = 0 + data = length 164, hash 136B1B66 + sample 2: + time = 42666 + flags = 0 + data = length 158, hash A9289DCD + sample 3: + time = 64000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 4: + time = 85333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 5: + time = 106666 + flags = 0 + data = length 158, hash 22E84AF0 + sample 6: + time = 128000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 7: + time = 149333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 8: + time = 170666 + flags = 0 + data = length 158, hash BA6B7094 + sample 9: + time = 192000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 10: + time = 213333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 11: + time = 234666 + flags = 0 + data = length 158, hash A9289DCC + sample 12: + time = 256000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 13: + time = 277333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 14: + time = 298666 + flags = 0 + data = length 158, hash A9289DCD + sample 15: + time = 320000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 16: + time = 341333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 17: + time = 362666 + flags = 0 + data = length 158, hash 37B039B1 + sample 18: + time = 384000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 19: + time = 405333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 20: + time = 426666 + flags = 0 + data = length 126, hash 78789B9C + sample 21: + time = 448000 + flags = 0 + data = length 151, hash 2E40B4B2 + sample 22: + time = 469333 + flags = 0 + data = length 163, hash 4E4CBFDD + sample 23: + time = 490666 + flags = 0 + data = length 160, hash 3BCD3677 + sample 24: + time = 512000 + flags = 1 + data = length 493, hash 5CB15E73 + sample 25: + time = 533333 + flags = 0 + data = length 143, hash 38DF6348 + sample 26: + time = 554666 + flags = 0 + data = length 120, hash 307A7619 + sample 27: + time = 576000 + flags = 0 + data = length 160, hash 85B40084 + sample 28: + time = 597333 + flags = 0 + data = length 141, hash C14F9501 + sample 29: + time = 600000 + flags = 1 + data = length 1281, hash 9131BB91 + sample 30: + time = 618666 + flags = 0 + data = length 608, hash 1F8ADAAD + sample 31: + time = 640000 + flags = 0 + data = length 656, hash BAEB035 + sample 32: + time = 661333 + flags = 0 + data = length 640, hash 432215C9 + sample 33: + time = 682666 + flags = 0 + data = length 609, hash 5B7AD547 + sample 34: + time = 704000 + flags = 0 + data = length 658, hash A173EA78 + sample 35: + time = 725333 + flags = 0 + data = length 640, hash 432215C9 + sample 36: + time = 746666 + flags = 0 + data = length 613, hash ECA1FB91 + sample 37: + time = 768000 + flags = 0 + data = length 658, hash 6EC1708C + sample 38: + time = 789333 + flags = 0 + data = length 640, hash 432215C2 + sample 39: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 40: + time = 832000 + flags = 0 + data = length 658, hash D480784A + sample 41: + time = 853333 + flags = 0 + data = length 640, hash 432215D6 + sample 42: + time = 874666 + flags = 0 + data = length 647, hash C6E3E718 + sample 43: + time = 896000 + flags = 0 + data = length 657, hash A204D6AF + sample 44: + time = 917333 + flags = 0 + data = length 640, hash 432215D4 + sample 45: + time = 938666 + flags = 0 + data = length 663, hash 8A51F88A + sample 46: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 47: + time = 981333 + flags = 0 + data = length 641, hash F27D0F36 + sample 48: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 49: + time = 1024000 + flags = 1 + data = length 1449, hash 773492CA + sample 50: + time = 1045333 + flags = 0 + data = length 542, hash 2689A516 + sample 51: + time = 1066666 + flags = 0 + data = length 496, hash 7D75AE8C + sample 52: + time = 1088000 + flags = 0 + data = length 559, hash B248FD5C + sample 53: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 54: + time = 1130666 + flags = 0 + data = length 496, hash 7D75AE8A + sample 55: + time = 1152000 + flags = 0 + data = length 560, hash 77AD983C + sample 56: + time = 1173333 + flags = 0 + data = length 773, hash 4FA8BAEF + sample 57: + time = 1194666 + flags = 0 + data = length 744, hash 6725112B + sample 58: + time = 1200000 + flags = 1 + data = length 917, hash 338496EB + sample 59: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 60: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 61: + time = 1258666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 62: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 63: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 64: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 65: + time = 1344000 + flags = 0 + data = length 403, hash BCD6901D + sample 66: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 67: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 68: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 69: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 70: + time = 1450666 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 71: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 72: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 73: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 74: + time = 1536000 + flags = 1 + data = length 817, hash 9C51B5E2 + sample 75: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 76: + time = 1578666 + flags = 0 + data = length 420, hash 7C4664D7 + sample 77: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 78: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 79: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 80: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 81: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 82: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 83: + time = 1728000 + flags = 0 + data = length 512, hash 4C287890 + sample 84: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 85: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 86: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_configchange_fragmented.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_configchange_fragmented.mp4.unknown_length.dump new file mode 100644 index 0000000000..fc7a4a1dd8 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_configchange_fragmented.mp4.unknown_length.dump @@ -0,0 +1,367 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=651]] +numberOfTracks = 1 +track 0: + total output bytes = 38778 + sample count = 87 + format 0: + id = 1 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + channelCount = 0 + sampleRate = 48000 + language = und + initializationData: + data = length 67, hash 3CF14937 + data = length 1, hash 2F + sample 0: + time = 0 + flags = 1 + data = length 488, hash 1ED69C37 + sample 1: + time = 21333 + flags = 0 + data = length 164, hash 136B1B66 + sample 2: + time = 42666 + flags = 0 + data = length 158, hash A9289DCD + sample 3: + time = 64000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 4: + time = 85333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 5: + time = 106666 + flags = 0 + data = length 158, hash 22E84AF0 + sample 6: + time = 128000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 7: + time = 149333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 8: + time = 170666 + flags = 0 + data = length 158, hash BA6B7094 + sample 9: + time = 192000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 10: + time = 213333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 11: + time = 234666 + flags = 0 + data = length 158, hash A9289DCC + sample 12: + time = 256000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 13: + time = 277333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 14: + time = 298666 + flags = 0 + data = length 158, hash A9289DCD + sample 15: + time = 320000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 16: + time = 341333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 17: + time = 362666 + flags = 0 + data = length 158, hash 37B039B1 + sample 18: + time = 384000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 19: + time = 405333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 20: + time = 426666 + flags = 0 + data = length 126, hash 78789B9C + sample 21: + time = 448000 + flags = 0 + data = length 151, hash 2E40B4B2 + sample 22: + time = 469333 + flags = 0 + data = length 163, hash 4E4CBFDD + sample 23: + time = 490666 + flags = 0 + data = length 160, hash 3BCD3677 + sample 24: + time = 512000 + flags = 1 + data = length 493, hash 5CB15E73 + sample 25: + time = 533333 + flags = 0 + data = length 143, hash 38DF6348 + sample 26: + time = 554666 + flags = 0 + data = length 120, hash 307A7619 + sample 27: + time = 576000 + flags = 0 + data = length 160, hash 85B40084 + sample 28: + time = 597333 + flags = 0 + data = length 141, hash C14F9501 + sample 29: + time = 600000 + flags = 1 + data = length 1281, hash 9131BB91 + sample 30: + time = 618666 + flags = 0 + data = length 608, hash 1F8ADAAD + sample 31: + time = 640000 + flags = 0 + data = length 656, hash BAEB035 + sample 32: + time = 661333 + flags = 0 + data = length 640, hash 432215C9 + sample 33: + time = 682666 + flags = 0 + data = length 609, hash 5B7AD547 + sample 34: + time = 704000 + flags = 0 + data = length 658, hash A173EA78 + sample 35: + time = 725333 + flags = 0 + data = length 640, hash 432215C9 + sample 36: + time = 746666 + flags = 0 + data = length 613, hash ECA1FB91 + sample 37: + time = 768000 + flags = 0 + data = length 658, hash 6EC1708C + sample 38: + time = 789333 + flags = 0 + data = length 640, hash 432215C2 + sample 39: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 40: + time = 832000 + flags = 0 + data = length 658, hash D480784A + sample 41: + time = 853333 + flags = 0 + data = length 640, hash 432215D6 + sample 42: + time = 874666 + flags = 0 + data = length 647, hash C6E3E718 + sample 43: + time = 896000 + flags = 0 + data = length 657, hash A204D6AF + sample 44: + time = 917333 + flags = 0 + data = length 640, hash 432215D4 + sample 45: + time = 938666 + flags = 0 + data = length 663, hash 8A51F88A + sample 46: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 47: + time = 981333 + flags = 0 + data = length 641, hash F27D0F36 + sample 48: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 49: + time = 1024000 + flags = 1 + data = length 1449, hash 773492CA + sample 50: + time = 1045333 + flags = 0 + data = length 542, hash 2689A516 + sample 51: + time = 1066666 + flags = 0 + data = length 496, hash 7D75AE8C + sample 52: + time = 1088000 + flags = 0 + data = length 559, hash B248FD5C + sample 53: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 54: + time = 1130666 + flags = 0 + data = length 496, hash 7D75AE8A + sample 55: + time = 1152000 + flags = 0 + data = length 560, hash 77AD983C + sample 56: + time = 1173333 + flags = 0 + data = length 773, hash 4FA8BAEF + sample 57: + time = 1194666 + flags = 0 + data = length 744, hash 6725112B + sample 58: + time = 1200000 + flags = 1 + data = length 917, hash 338496EB + sample 59: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 60: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 61: + time = 1258666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 62: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 63: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 64: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 65: + time = 1344000 + flags = 0 + data = length 403, hash BCD6901D + sample 66: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 67: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 68: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 69: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 70: + time = 1450666 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 71: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 72: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 73: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 74: + time = 1536000 + flags = 1 + data = length 817, hash 9C51B5E2 + sample 75: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 76: + time = 1578666 + flags = 0 + data = length 420, hash 7C4664D7 + sample 77: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 78: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 79: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 80: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 81: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 82: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 83: + time = 1728000 + flags = 0 + data = length 512, hash 4C287890 + sample 84: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 85: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 86: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true 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 82697f2f5c..34aad010a7 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 @@ -12,6 +12,7 @@ track 0: format 0: id = 1 sampleMimeType = audio/mha1 + codecs = mha1.0D maxInputSize = 3528 channelCount = 0 sampleRate = 48000 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 82697f2f5c..34aad010a7 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 @@ -12,6 +12,7 @@ track 0: format 0: id = 1 sampleMimeType = audio/mha1 + codecs = mha1.0D maxInputSize = 3528 channelCount = 0 sampleRate = 48000 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 9cfc34af92..08ca5906fb 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 @@ -12,6 +12,7 @@ track 0: format 0: id = 1 sampleMimeType = audio/mha1 + codecs = mha1.0D maxInputSize = 3528 channelCount = 0 sampleRate = 48000 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 8827b69f2e..19d3341933 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 @@ -12,6 +12,7 @@ track 0: format 0: id = 1 sampleMimeType = audio/mha1 + codecs = mha1.0D maxInputSize = 3528 channelCount = 0 sampleRate = 48000 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 82697f2f5c..34aad010a7 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 @@ -12,6 +12,7 @@ track 0: format 0: id = 1 sampleMimeType = audio/mha1 + codecs = mha1.0D maxInputSize = 3528 channelCount = 0 sampleRate = 48000 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 7a90b85f07..e1752d5396 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 @@ -12,6 +12,7 @@ track 0: format 0: id = 1 sampleMimeType = audio/mhm1 + codecs = mhm1.0D maxInputSize = 3564 channelCount = 0 sampleRate = 48000 @@ -21,6 +22,7 @@ track 0: metadata = entries=[Mp4Timestamp: creation time=3701898908, modification time=3701898908, timescale=48000] initializationData: data = length 26, hash 4E58F6C7 + data = length 1, hash 31 sample 0: time = 0 flags = 1 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 7a90b85f07..e1752d5396 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 @@ -12,6 +12,7 @@ track 0: format 0: id = 1 sampleMimeType = audio/mhm1 + codecs = mhm1.0D maxInputSize = 3564 channelCount = 0 sampleRate = 48000 @@ -21,6 +22,7 @@ track 0: metadata = entries=[Mp4Timestamp: creation time=3701898908, modification time=3701898908, timescale=48000] initializationData: data = length 26, hash 4E58F6C7 + data = length 1, hash 31 sample 0: time = 0 flags = 1 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 b499a43773..4eef118db3 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 @@ -12,6 +12,7 @@ track 0: format 0: id = 1 sampleMimeType = audio/mhm1 + codecs = mhm1.0D maxInputSize = 3564 channelCount = 0 sampleRate = 48000 @@ -21,6 +22,7 @@ track 0: metadata = entries=[Mp4Timestamp: creation time=3701898908, modification time=3701898908, timescale=48000] initializationData: data = length 26, hash 4E58F6C7 + data = length 1, hash 31 sample 0: time = 533333 flags = 1 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 40d39a2132..307d25017d 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 @@ -12,6 +12,7 @@ track 0: format 0: id = 1 sampleMimeType = audio/mhm1 + codecs = mhm1.0D maxInputSize = 3564 channelCount = 0 sampleRate = 48000 @@ -21,6 +22,7 @@ track 0: metadata = entries=[Mp4Timestamp: creation time=3701898908, modification time=3701898908, timescale=48000] initializationData: data = length 26, hash 4E58F6C7 + data = length 1, hash 31 sample 0: time = 1066666 flags = 1 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 7a90b85f07..e1752d5396 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 @@ -12,6 +12,7 @@ track 0: format 0: id = 1 sampleMimeType = audio/mhm1 + codecs = mhm1.0D maxInputSize = 3564 channelCount = 0 sampleRate = 48000 @@ -21,6 +22,7 @@ track 0: metadata = entries=[Mp4Timestamp: creation time=3701898908, modification time=3701898908, timescale=48000] initializationData: data = length 26, hash 4E58F6C7 + data = length 1, hash 31 sample 0: time = 0 flags = 1 diff --git a/libraries/test_data/src/test/assets/media/mp4/sample_mhm1_bl_cicp1.mp4 b/libraries/test_data/src/test/assets/media/mp4/sample_mhm1_bl_cicp1.mp4 new file mode 100644 index 0000000000..5fa77d64e9 Binary files /dev/null and b/libraries/test_data/src/test/assets/media/mp4/sample_mhm1_bl_cicp1.mp4 differ diff --git a/libraries/test_data/src/test/assets/media/mp4/sample_mhm1_bl_cicp1_fragmented.mp4 b/libraries/test_data/src/test/assets/media/mp4/sample_mhm1_bl_cicp1_fragmented.mp4 new file mode 100644 index 0000000000..8f1996f0b1 Binary files /dev/null and b/libraries/test_data/src/test/assets/media/mp4/sample_mhm1_bl_cicp1_fragmented.mp4 differ diff --git a/libraries/test_data/src/test/assets/media/mp4/sample_mhm1_bl_configchange.mp4 b/libraries/test_data/src/test/assets/media/mp4/sample_mhm1_bl_configchange.mp4 new file mode 100644 index 0000000000..6474be8e13 Binary files /dev/null and b/libraries/test_data/src/test/assets/media/mp4/sample_mhm1_bl_configchange.mp4 differ diff --git a/libraries/test_data/src/test/assets/media/mp4/sample_mhm1_bl_configchange_fragmented.mp4 b/libraries/test_data/src/test/assets/media/mp4/sample_mhm1_bl_configchange_fragmented.mp4 new file mode 100644 index 0000000000..3fbbdb473a Binary files /dev/null and b/libraries/test_data/src/test/assets/media/mp4/sample_mhm1_bl_configchange_fragmented.mp4 differ diff --git a/libraries/test_data/src/test/assets/media/mp4/sample_mhm1_lcbl_cicp1.mp4 b/libraries/test_data/src/test/assets/media/mp4/sample_mhm1_lcbl_cicp1.mp4 new file mode 100644 index 0000000000..b8b24e9f09 Binary files /dev/null and b/libraries/test_data/src/test/assets/media/mp4/sample_mhm1_lcbl_cicp1.mp4 differ diff --git a/libraries/test_data/src/test/assets/media/mp4/sample_mhm1_lcbl_cicp1_fragmented.mp4 b/libraries/test_data/src/test/assets/media/mp4/sample_mhm1_lcbl_cicp1_fragmented.mp4 new file mode 100644 index 0000000000..3f499972f7 Binary files /dev/null and b/libraries/test_data/src/test/assets/media/mp4/sample_mhm1_lcbl_cicp1_fragmented.mp4 differ diff --git a/libraries/test_data/src/test/assets/media/mp4/sample_mhm1_lcbl_configchange.mp4 b/libraries/test_data/src/test/assets/media/mp4/sample_mhm1_lcbl_configchange.mp4 new file mode 100644 index 0000000000..aa1874bc3b Binary files /dev/null and b/libraries/test_data/src/test/assets/media/mp4/sample_mhm1_lcbl_configchange.mp4 differ diff --git a/libraries/test_data/src/test/assets/media/mp4/sample_mhm1_lcbl_configchange_fragmented.mp4 b/libraries/test_data/src/test/assets/media/mp4/sample_mhm1_lcbl_configchange_fragmented.mp4 new file mode 100644 index 0000000000..0a11552cec Binary files /dev/null and b/libraries/test_data/src/test/assets/media/mp4/sample_mhm1_lcbl_configchange_fragmented.mp4 differ