From 439536480bf2d837d8a878d4750804bed4af4e7f Mon Sep 17 00:00:00 2001 From: dancho Date: Tue, 9 Jul 2024 01:50:16 -0700 Subject: [PATCH] Parse the H264 bitstream of fMP4 files to identify sample dependencies Changes to FragmentedMp4Extractor to parse additional sample dependency information and mark output samples as "no other samples depend on this". Only applies to H.264 tracks. Controlled by new fMP4 flag: FLAG_READ_WITHIN_GOP_SAMPLE_DEPENDENCIES PiperOrigin-RevId: 650538377 --- RELEASENOTES.md | 6 + .../extractor/mp4/FragmentedMp4Extractor.java | 44 +- ...agmentedMp4ExtractorParameterizedTest.java | 163 +-- ...ding_within_gop_sample_dependencies.0.dump | 56 + ...ding_within_gop_sample_dependencies.1.dump | 44 + ...ding_within_gop_sample_dependencies.2.dump | 32 + ...ding_within_gop_sample_dependencies.3.dump | 24 + ...op_sample_dependencies.unknown_length.dump | 56 + ...ding_within_gop_sample_dependencies.0.dump | 94 ++ ...ding_within_gop_sample_dependencies.1.dump | 70 ++ ...ding_within_gop_sample_dependencies.2.dump | 46 + ...ding_within_gop_sample_dependencies.3.dump | 22 + ...op_sample_dependencies.unknown_length.dump | 94 ++ ...ding_within_gop_sample_dependencies.0.dump | 133 +++ ...ding_within_gop_sample_dependencies.1.dump | 97 ++ ...ding_within_gop_sample_dependencies.2.dump | 61 + ...ding_within_gop_sample_dependencies.3.dump | 25 + ...op_sample_dependencies.unknown_length.dump | 133 +++ ...ding_within_gop_sample_dependencies.0.dump | 235 ++++ ...ding_within_gop_sample_dependencies.1.dump | 163 +++ ...ding_within_gop_sample_dependencies.2.dump | 91 ++ ...ding_within_gop_sample_dependencies.3.dump | 23 + ...op_sample_dependencies.unknown_length.dump | 235 ++++ ...ding_within_gop_sample_dependencies.0.dump | 275 +++++ ...ding_within_gop_sample_dependencies.1.dump | 191 +++ ...ding_within_gop_sample_dependencies.2.dump | 107 ++ ...ding_within_gop_sample_dependencies.3.dump | 23 + ...op_sample_dependencies.unknown_length.dump | 275 +++++ ...ding_within_gop_sample_dependencies.0.dump | 339 ++++++ ...op_sample_dependencies.unknown_length.dump | 339 ++++++ ...ding_within_gop_sample_dependencies.0.dump | 520 +++++++++ ...ding_within_gop_sample_dependencies.1.dump | 356 ++++++ ...ding_within_gop_sample_dependencies.2.dump | 188 +++ ...ding_within_gop_sample_dependencies.3.dump | 24 + ...op_sample_dependencies.unknown_length.dump | 520 +++++++++ ...ding_within_gop_sample_dependencies.0.dump | 343 ++++++ ...ding_within_gop_sample_dependencies.1.dump | 283 +++++ ...ding_within_gop_sample_dependencies.2.dump | 223 ++++ ...ding_within_gop_sample_dependencies.3.dump | 163 +++ ...op_sample_dependencies.unknown_length.dump | 343 ++++++ ...ding_within_gop_sample_dependencies.0.dump | 343 ++++++ ...ding_within_gop_sample_dependencies.1.dump | 283 +++++ ...ding_within_gop_sample_dependencies.2.dump | 223 ++++ ...ding_within_gop_sample_dependencies.3.dump | 163 +++ ...op_sample_dependencies.unknown_length.dump | 343 ++++++ ...ding_within_gop_sample_dependencies.0.dump | 344 ++++++ ...op_sample_dependencies.unknown_length.dump | 344 ++++++ ...ding_within_gop_sample_dependencies.0.dump | 134 +++ ...op_sample_dependencies.unknown_length.dump | 134 +++ ...ding_within_gop_sample_dependencies.0.dump | 366 ++++++ ...op_sample_dependencies.unknown_length.dump | 366 ++++++ ...ding_within_gop_sample_dependencies.0.dump | 135 +++ ...op_sample_dependencies.unknown_length.dump | 135 +++ ...ding_within_gop_sample_dependencies.0.dump | 367 ++++++ ...op_sample_dependencies.unknown_length.dump | 367 ++++++ ...ding_within_gop_sample_dependencies.0.dump | 1019 +++++++++++++++++ ...op_sample_dependencies.unknown_length.dump | 1019 +++++++++++++++++ ...ding_within_gop_sample_dependencies.0.dump | 336 ++++++ ...op_sample_dependencies.unknown_length.dump | 336 ++++++ 59 files changed, 13133 insertions(+), 83 deletions(-) create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3_fragmented.mp4.reading_within_gop_sample_dependencies.1.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3_fragmented.mp4.reading_within_gop_sample_dependencies.2.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3_fragmented.mp4.reading_within_gop_sample_dependencies.3.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_fragmented.mp4.reading_within_gop_sample_dependencies.1.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_fragmented.mp4.reading_within_gop_sample_dependencies.2.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_fragmented.mp4.reading_within_gop_sample_dependencies.3.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_protected.mp4.reading_within_gop_sample_dependencies.0.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_protected.mp4.reading_within_gop_sample_dependencies.1.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_protected.mp4.reading_within_gop_sample_dependencies.2.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_protected.mp4.reading_within_gop_sample_dependencies.3.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_protected.mp4.reading_within_gop_sample_dependencies.unknown_length.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3_fragmented.mp4.reading_within_gop_sample_dependencies.1.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3_fragmented.mp4.reading_within_gop_sample_dependencies.2.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3_fragmented.mp4.reading_within_gop_sample_dependencies.3.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc_fragmented.mp4.reading_within_gop_sample_dependencies.1.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc_fragmented.mp4.reading_within_gop_sample_dependencies.2.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc_fragmented.mp4.reading_within_gop_sample_dependencies.3.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_iamf.mp4.reading_within_gop_sample_dependencies.0.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_iamf.mp4.reading_within_gop_sample_dependencies.1.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_iamf.mp4.reading_within_gop_sample_dependencies.2.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_iamf.mp4.reading_within_gop_sample_dependencies.3.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_iamf.mp4.reading_within_gop_sample_dependencies.unknown_length.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.reading_within_gop_sample_dependencies.0.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.reading_within_gop_sample_dependencies.1.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.reading_within_gop_sample_dependencies.2.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.reading_within_gop_sample_dependencies.3.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.reading_within_gop_sample_dependencies.unknown_length.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.reading_within_gop_sample_dependencies.0.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.reading_within_gop_sample_dependencies.1.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.reading_within_gop_sample_dependencies.2.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.reading_within_gop_sample_dependencies.3.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.reading_within_gop_sample_dependencies.unknown_length.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_sei.mp4.reading_within_gop_sample_dependencies.0.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_sei.mp4.reading_within_gop_sample_dependencies.unknown_length.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_cicp1_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_cicp1_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_configchange_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_configchange_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_cicp1_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_cicp1_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_configchange_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_configchange_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_partially_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/sample_partially_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 105ed420a0..e7fd359e7f 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -26,6 +26,12 @@ * Extractors: * Allow `Mp4Extractor` to identify H264 samples that are not used as reference by subsequent samples. +* DataSource: + * Update `HttpEngineDataSource` to allow use starting at version S + extension 7 instead of API level 34 + ([#1262](https://github.com/androidx/media/issues/1262)). + * Allow `Mp4Extractor` and `FragmentedMp4Extractor` to identify H264 + samples that are not used as reference by subsequent samples. * Audio: * Video: * Text: diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/FragmentedMp4Extractor.java b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/FragmentedMp4Extractor.java index e9a2d6ec3c..7b19c4bafc 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/FragmentedMp4Extractor.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/FragmentedMp4Extractor.java @@ -69,6 +69,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.Objects; import java.util.UUID; /** Extracts data from the FMP4 container format. */ @@ -87,7 +88,8 @@ public class FragmentedMp4Extractor implements Extractor { /** * Flags controlling the behavior of the extractor. Possible flag values are {@link * #FLAG_WORKAROUND_EVERY_VIDEO_FRAME_IS_SYNC_FRAME}, {@link #FLAG_WORKAROUND_IGNORE_TFDT_BOX}, - * {@link #FLAG_ENABLE_EMSG_TRACK} and {@link #FLAG_WORKAROUND_IGNORE_EDIT_LISTS}. + * {@link #FLAG_ENABLE_EMSG_TRACK}, {@link #FLAG_WORKAROUND_IGNORE_EDIT_LISTS}, {@link + * #FLAG_EMIT_RAW_SUBTITLE_DATA} and {@link #FLAG_READ_WITHIN_GOP_SAMPLE_DEPENDENCIES}. */ @Documented @Retention(RetentionPolicy.SOURCE) @@ -99,7 +101,8 @@ public class FragmentedMp4Extractor implements Extractor { FLAG_WORKAROUND_IGNORE_TFDT_BOX, FLAG_ENABLE_EMSG_TRACK, FLAG_WORKAROUND_IGNORE_EDIT_LISTS, - FLAG_EMIT_RAW_SUBTITLE_DATA + FLAG_EMIT_RAW_SUBTITLE_DATA, + FLAG_READ_WITHIN_GOP_SAMPLE_DEPENDENCIES }) public @interface Flags {} @@ -130,6 +133,26 @@ public class FragmentedMp4Extractor implements Extractor { */ public static final int FLAG_EMIT_RAW_SUBTITLE_DATA = 1 << 5; // 32 + /** + * Flag to extract additional sample dependency information, and mark output buffers with {@link + * C#BUFFER_FLAG_NO_OTHER_SAMPLE_DEPENDS_ON_THIS}. + * + *

This class always marks the samples at the start of each group of picture (GOP) with {@link + * C#BUFFER_FLAG_KEY_FRAME}. Usually, key frames can be decoded independently, without depending + * on other samples. + * + *

Setting this flag enables elementary stream parsing to identify disposable samples that are + * not depended on by other samples. Any disposable sample can be safely omitted, and the rest of + * the track will remain valid. + * + *

Supported formats are: + * + *

+ */ + public static final int FLAG_READ_WITHIN_GOP_SAMPLE_DEPENDENCIES = 1 << 6; // 64 + /** * @deprecated Use {@link #newFactory(SubtitleParser.Factory)} instead. */ @@ -206,6 +229,7 @@ public class FragmentedMp4Extractor implements Extractor { private int sampleSize; private int sampleBytesWritten; private int sampleCurrentNalBytesRemaining; + private boolean isSampleDependedOn; private boolean processSeiNalUnitPayload; // Outputs. @@ -1507,6 +1531,13 @@ public class FragmentedMp4Extractor implements Extractor { } if (parserState == STATE_READING_SAMPLE_START) { sampleSize = trackBundle.getCurrentSampleSize(); + // We must check all NAL units in the Fragmented MP4 sample for dependencies. + // When FLAG_READ_WITHIN_GOP_SAMPLE_DEPENDENCIES is unset, or codec is not supported, + // set isSampleDependedOn = true and skip parsing the payload bytes. + isSampleDependedOn = + (flags & FLAG_READ_WITHIN_GOP_SAMPLE_DEPENDENCIES) == 0 + || !Objects.equals( + trackBundle.moovSampleTable.track.format.sampleMimeType, MimeTypes.VIDEO_H264); if (trackBundle.currentSampleIndex < trackBundle.firstSampleToOutputIndex) { input.skipFully(sampleSize); @@ -1579,6 +1610,12 @@ public class FragmentedMp4Extractor implements Extractor { && NalUnitUtil.isNalUnitSei(track.format.sampleMimeType, nalPrefixData[4]); sampleBytesWritten += 5; sampleSize += nalUnitLengthFieldLengthDiff; + if (!isSampleDependedOn + && Objects.equals( + trackBundle.moovSampleTable.track.format.sampleMimeType, MimeTypes.VIDEO_H264) + && NalUnitUtil.isH264NalUnitDependedOn(nalPrefixData[4])) { + isSampleDependedOn = true; + } } else { int writtenBytes; if (processSeiNalUnitPayload) { @@ -1623,6 +1660,9 @@ public class FragmentedMp4Extractor implements Extractor { } @C.BufferFlags int sampleFlags = trackBundle.getCurrentSampleFlags(); + if ((flags & FLAG_READ_WITHIN_GOP_SAMPLE_DEPENDENCIES) != 0 && !isSampleDependedOn) { + sampleFlags |= C.BUFFER_FLAG_NO_OTHER_SAMPLE_DEPENDS_ON_THIS; + } // Encryption data. @Nullable TrackOutput.CryptoData cryptoData = null; diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/mp4/FragmentedMp4ExtractorParameterizedTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/mp4/FragmentedMp4ExtractorParameterizedTest.java index 95997d991f..9d324eff24 100644 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/mp4/FragmentedMp4ExtractorParameterizedTest.java +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/mp4/FragmentedMp4ExtractorParameterizedTest.java @@ -24,6 +24,7 @@ import androidx.media3.extractor.text.SubtitleParser; import androidx.media3.test.utils.ExtractorAsserts; import androidx.media3.test.utils.ExtractorAsserts.ExtractorFactory; import com.google.common.collect.ImmutableList; +import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -40,12 +41,28 @@ import org.robolectric.ParameterizedRobolectricTestRunner.Parameters; @RunWith(ParameterizedRobolectricTestRunner.class) public final class FragmentedMp4ExtractorParameterizedTest { - @Parameters(name = "{0},subtitlesParsedDuringExtraction={1}") + @Parameters(name = "{0},subtitlesParsedDuringExtraction={1},readWithinGopSampleDependencies={2}") public static List params() { List parameterList = new ArrayList<>(); for (ExtractorAsserts.SimulationConfig config : ExtractorAsserts.configs()) { - parameterList.add(new Object[] {config, /* subtitlesParsedDuringExtraction */ true}); - parameterList.add(new Object[] {config, /* subtitlesParsedDuringExtraction */ false}); + parameterList.add( + new Object[] { + config, + /* subtitlesParsedDuringExtraction */ true, + /* readWithinGopSampleDependencies */ false + }); + parameterList.add( + new Object[] { + config, + /* subtitlesParsedDuringExtraction */ false, + /* readWithinGopSampleDependencies */ false + }); + parameterList.add( + new Object[] { + config, + /* subtitlesParsedDuringExtraction */ true, + /* readWithinGopSampleDependencies */ true + }); } return parameterList; } @@ -56,22 +73,19 @@ public final class FragmentedMp4ExtractorParameterizedTest { @Parameter(1) public boolean subtitlesParsedDuringExtraction; + @Parameter(2) + public boolean readWithinGopSampleDependencies; + @Test public void sample() throws Exception { - ExtractorAsserts.assertBehavior( - getExtractorFactory( - /* closedCaptionFormats= */ ImmutableList.of(), subtitlesParsedDuringExtraction), - "media/mp4/sample_fragmented.mp4", - simulationConfig); + assertExtractorBehavior( + /* closedCaptionFormats= */ ImmutableList.of(), "media/mp4/sample_fragmented.mp4"); } @Test public void sampleSeekable() throws Exception { - ExtractorAsserts.assertBehavior( - getExtractorFactory( - /* closedCaptionFormats= */ ImmutableList.of(), subtitlesParsedDuringExtraction), - "media/mp4/sample_fragmented_seekable.mp4", - simulationConfig); + assertExtractorBehavior( + /* closedCaptionFormats= */ ImmutableList.of(), "media/mp4/sample_fragmented_seekable.mp4"); } @Test @@ -81,132 +95,115 @@ public final class FragmentedMp4ExtractorParameterizedTest { Collections.singletonList( new Format.Builder().setSampleMimeType(MimeTypes.APPLICATION_CEA608).build()); - ExtractorAsserts.assertBehavior( - getExtractorFactory(closedCaptions, subtitlesParsedDuringExtraction), - "media/mp4/sample_fragmented_sei.mp4", - simulationConfig); + assertExtractorBehavior(closedCaptions, "media/mp4/sample_fragmented_sei.mp4"); } @Test public void sampleWithAc3Track() throws Exception { - ExtractorAsserts.assertBehavior( - getExtractorFactory( - /* closedCaptionFormats= */ ImmutableList.of(), subtitlesParsedDuringExtraction), - "media/mp4/sample_ac3_fragmented.mp4", - simulationConfig); + assertExtractorBehavior( + /* closedCaptionFormats= */ ImmutableList.of(), "media/mp4/sample_ac3_fragmented.mp4"); } @Test public void sampleWithAc4Track() throws Exception { - ExtractorAsserts.assertBehavior( - getExtractorFactory( - /* closedCaptionFormats= */ ImmutableList.of(), subtitlesParsedDuringExtraction), - "media/mp4/sample_ac4_fragmented.mp4", - simulationConfig); + assertExtractorBehavior( + /* closedCaptionFormats= */ ImmutableList.of(), "media/mp4/sample_ac4_fragmented.mp4"); } @Test public void sampleWithProtectedAc4Track() throws Exception { - ExtractorAsserts.assertBehavior( - getExtractorFactory( - /* closedCaptionFormats= */ ImmutableList.of(), subtitlesParsedDuringExtraction), - "media/mp4/sample_ac4_protected.mp4", - simulationConfig); + assertExtractorBehavior( + /* closedCaptionFormats= */ ImmutableList.of(), "media/mp4/sample_ac4_protected.mp4"); } @Test public void sampleWithEac3Track() throws Exception { - ExtractorAsserts.assertBehavior( - getExtractorFactory( - /* closedCaptionFormats= */ ImmutableList.of(), subtitlesParsedDuringExtraction), - "media/mp4/sample_eac3_fragmented.mp4", - simulationConfig); + assertExtractorBehavior( + /* closedCaptionFormats= */ ImmutableList.of(), "media/mp4/sample_eac3_fragmented.mp4"); } @Test public void sampleWithEac3jocTrack() throws Exception { - ExtractorAsserts.assertBehavior( - getExtractorFactory( - /* closedCaptionFormats= */ ImmutableList.of(), subtitlesParsedDuringExtraction), - "media/mp4/sample_eac3joc_fragmented.mp4", - simulationConfig); + assertExtractorBehavior( + /* closedCaptionFormats= */ ImmutableList.of(), "media/mp4/sample_eac3joc_fragmented.mp4"); } @Test public void sampleWithOpusTrack() throws Exception { - ExtractorAsserts.assertBehavior( - getExtractorFactory( - /* closedCaptionFormats= */ ImmutableList.of(), subtitlesParsedDuringExtraction), - "media/mp4/sample_opus_fragmented.mp4", - simulationConfig); + assertExtractorBehavior( + /* closedCaptionFormats= */ ImmutableList.of(), "media/mp4/sample_opus_fragmented.mp4"); } @Test public void samplePartiallyFragmented() throws Exception { - ExtractorAsserts.assertBehavior( - getExtractorFactory( - /* closedCaptionFormats= */ ImmutableList.of(), subtitlesParsedDuringExtraction), - "media/mp4/sample_partially_fragmented.mp4", - simulationConfig); + assertExtractorBehavior( + /* closedCaptionFormats= */ ImmutableList.of(), + "media/mp4/sample_partially_fragmented.mp4"); } /** https://github.com/google/ExoPlayer/issues/10381 */ @Test public void sampleWithLargeBitrates() throws Exception { - ExtractorAsserts.assertBehavior( - getExtractorFactory( - /* closedCaptionFormats= */ ImmutableList.of(), subtitlesParsedDuringExtraction), - "media/mp4/sample_fragmented_large_bitrates.mp4", - simulationConfig); + assertExtractorBehavior( + /* closedCaptionFormats= */ ImmutableList.of(), + "media/mp4/sample_fragmented_large_bitrates.mp4"); } @Test public void sampleWithMhm1BlCicp1Track() throws Exception { - ExtractorAsserts.assertBehavior( - getExtractorFactory( - /* closedCaptionFormats= */ ImmutableList.of(), subtitlesParsedDuringExtraction), - "media/mp4/sample_mhm1_bl_cicp1_fragmented.mp4", - simulationConfig); + assertExtractorBehavior( + /* closedCaptionFormats= */ ImmutableList.of(), + "media/mp4/sample_mhm1_bl_cicp1_fragmented.mp4"); } @Test public void sampleWithMhm1LcblCicp1Track() throws Exception { - ExtractorAsserts.assertBehavior( - getExtractorFactory( - /* closedCaptionFormats= */ ImmutableList.of(), subtitlesParsedDuringExtraction), - "media/mp4/sample_mhm1_lcbl_cicp1_fragmented.mp4", - simulationConfig); + assertExtractorBehavior( + /* closedCaptionFormats= */ ImmutableList.of(), + "media/mp4/sample_mhm1_lcbl_cicp1_fragmented.mp4"); } @Test public void sampleWithMhm1BlConfigChangeTrack() throws Exception { - ExtractorAsserts.assertBehavior( - getExtractorFactory( - /* closedCaptionFormats= */ ImmutableList.of(), subtitlesParsedDuringExtraction), - "media/mp4/sample_mhm1_bl_configchange_fragmented.mp4", - simulationConfig); + assertExtractorBehavior( + /* closedCaptionFormats= */ ImmutableList.of(), + "media/mp4/sample_mhm1_bl_configchange_fragmented.mp4"); } @Test public void sampleWithMhm1LcblConfigChangeTrack() throws Exception { - ExtractorAsserts.assertBehavior( - getExtractorFactory( - /* closedCaptionFormats= */ ImmutableList.of(), subtitlesParsedDuringExtraction), - "media/mp4/sample_mhm1_lcbl_configchange_fragmented.mp4", - simulationConfig); + assertExtractorBehavior( + /* closedCaptionFormats= */ ImmutableList.of(), + "media/mp4/sample_mhm1_lcbl_configchange_fragmented.mp4"); } @Test public void sampleWithIamfTrack() throws Exception { + assertExtractorBehavior( + /* closedCaptionFormats= */ ImmutableList.of(), "media/mp4/sample_fragmented_iamf.mp4"); + } + + private void assertExtractorBehavior(List closedCaptionFormats, String file) + throws IOException { + ExtractorAsserts.AssertionConfig.Builder assertionConfigBuilder = + new ExtractorAsserts.AssertionConfig.Builder(); + if (readWithinGopSampleDependencies) { + String dumpFilesPrefix = + file.replaceFirst("media", "extractordumps") + ".reading_within_gop_sample_dependencies"; + assertionConfigBuilder.setDumpFilesPrefix(dumpFilesPrefix); + } ExtractorAsserts.assertBehavior( getExtractorFactory( - /* closedCaptionFormats= */ ImmutableList.of(), subtitlesParsedDuringExtraction), - "media/mp4/sample_fragmented_iamf.mp4", + closedCaptionFormats, subtitlesParsedDuringExtraction, readWithinGopSampleDependencies), + file, + assertionConfigBuilder.build(), simulationConfig); } private static ExtractorFactory getExtractorFactory( - List closedCaptionFormats, boolean subtitlesParsedDuringExtraction) { + List closedCaptionFormats, + boolean subtitlesParsedDuringExtraction, + boolean readWithinGopSampleDependencies) { SubtitleParser.Factory subtitleParserFactory; @FragmentedMp4Extractor.Flags int flags; if (subtitlesParsedDuringExtraction) { @@ -216,11 +213,15 @@ public final class FragmentedMp4ExtractorParameterizedTest { subtitleParserFactory = SubtitleParser.Factory.UNSUPPORTED; flags = FLAG_EMIT_RAW_SUBTITLE_DATA; } + if (readWithinGopSampleDependencies) { + flags |= FragmentedMp4Extractor.FLAG_READ_WITHIN_GOP_SAMPLE_DEPENDENCIES; + } + @FragmentedMp4Extractor.Flags int finalFlags = flags; return () -> new FragmentedMp4Extractor( subtitleParserFactory, - flags, + finalFlags, /* timestampAdjuster= */ null, /* sideloadedTrack= */ null, closedCaptionFormats, diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump new file mode 100644 index 0000000000..448e79e1fd --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump @@ -0,0 +1,56 @@ +seekMap: + isSeekable = true + duration = 288000 + getPosition(0) = [[timeUs=0, position=636]] + getPosition(1) = [[timeUs=0, position=636]] + getPosition(144000) = [[timeUs=0, position=636]] + getPosition(288000) = [[timeUs=0, position=636]] +numberOfTracks = 1 +track 0: + total output bytes = 13824 + sample count = 9 + format 0: + averageBitrate = 384000 + peakBitrate = 384000 + id = 1 + sampleMimeType = audio/ac3 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 0 + flags = 1 + data = length 1536, hash 7108D5C2 + sample 1: + time = 32000 + flags = 1 + data = length 1536, hash 80BF3B34 + sample 2: + time = 64000 + flags = 1 + data = length 1536, hash 5D09685 + sample 3: + time = 96000 + flags = 1 + data = length 1536, hash A9A24E44 + sample 4: + time = 128000 + flags = 1 + data = length 1536, hash 6F856273 + sample 5: + time = 160000 + flags = 1 + data = length 1536, hash B1737D3C + sample 6: + time = 192000 + flags = 1 + data = length 1536, hash 98FDEB9D + sample 7: + time = 224000 + flags = 1 + data = length 1536, hash 99B9B943 + sample 8: + time = 256000 + flags = 1 + data = length 1536, hash AAD9FCD2 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3_fragmented.mp4.reading_within_gop_sample_dependencies.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3_fragmented.mp4.reading_within_gop_sample_dependencies.1.dump new file mode 100644 index 0000000000..4bcb712c34 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3_fragmented.mp4.reading_within_gop_sample_dependencies.1.dump @@ -0,0 +1,44 @@ +seekMap: + isSeekable = true + duration = 288000 + getPosition(0) = [[timeUs=0, position=636]] + getPosition(1) = [[timeUs=0, position=636]] + getPosition(144000) = [[timeUs=0, position=636]] + getPosition(288000) = [[timeUs=0, position=636]] +numberOfTracks = 1 +track 0: + total output bytes = 9216 + sample count = 6 + format 0: + averageBitrate = 384000 + peakBitrate = 384000 + id = 1 + sampleMimeType = audio/ac3 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 96000 + flags = 1 + data = length 1536, hash A9A24E44 + sample 1: + time = 128000 + flags = 1 + data = length 1536, hash 6F856273 + sample 2: + time = 160000 + flags = 1 + data = length 1536, hash B1737D3C + sample 3: + time = 192000 + flags = 1 + data = length 1536, hash 98FDEB9D + sample 4: + time = 224000 + flags = 1 + data = length 1536, hash 99B9B943 + sample 5: + time = 256000 + flags = 1 + data = length 1536, hash AAD9FCD2 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3_fragmented.mp4.reading_within_gop_sample_dependencies.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3_fragmented.mp4.reading_within_gop_sample_dependencies.2.dump new file mode 100644 index 0000000000..c03c03e6c0 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3_fragmented.mp4.reading_within_gop_sample_dependencies.2.dump @@ -0,0 +1,32 @@ +seekMap: + isSeekable = true + duration = 288000 + getPosition(0) = [[timeUs=0, position=636]] + getPosition(1) = [[timeUs=0, position=636]] + getPosition(144000) = [[timeUs=0, position=636]] + getPosition(288000) = [[timeUs=0, position=636]] +numberOfTracks = 1 +track 0: + total output bytes = 4608 + sample count = 3 + format 0: + averageBitrate = 384000 + peakBitrate = 384000 + id = 1 + sampleMimeType = audio/ac3 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 192000 + flags = 1 + data = length 1536, hash 98FDEB9D + sample 1: + time = 224000 + flags = 1 + data = length 1536, hash 99B9B943 + sample 2: + time = 256000 + flags = 1 + data = length 1536, hash AAD9FCD2 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3_fragmented.mp4.reading_within_gop_sample_dependencies.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3_fragmented.mp4.reading_within_gop_sample_dependencies.3.dump new file mode 100644 index 0000000000..76738dd5b3 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3_fragmented.mp4.reading_within_gop_sample_dependencies.3.dump @@ -0,0 +1,24 @@ +seekMap: + isSeekable = true + duration = 288000 + getPosition(0) = [[timeUs=0, position=636]] + getPosition(1) = [[timeUs=0, position=636]] + getPosition(144000) = [[timeUs=0, position=636]] + getPosition(288000) = [[timeUs=0, position=636]] +numberOfTracks = 1 +track 0: + total output bytes = 1536 + sample count = 1 + format 0: + averageBitrate = 384000 + peakBitrate = 384000 + id = 1 + sampleMimeType = audio/ac3 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 256000 + flags = 1 + data = length 1536, hash AAD9FCD2 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump new file mode 100644 index 0000000000..448e79e1fd --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac3_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump @@ -0,0 +1,56 @@ +seekMap: + isSeekable = true + duration = 288000 + getPosition(0) = [[timeUs=0, position=636]] + getPosition(1) = [[timeUs=0, position=636]] + getPosition(144000) = [[timeUs=0, position=636]] + getPosition(288000) = [[timeUs=0, position=636]] +numberOfTracks = 1 +track 0: + total output bytes = 13824 + sample count = 9 + format 0: + averageBitrate = 384000 + peakBitrate = 384000 + id = 1 + sampleMimeType = audio/ac3 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 0 + flags = 1 + data = length 1536, hash 7108D5C2 + sample 1: + time = 32000 + flags = 1 + data = length 1536, hash 80BF3B34 + sample 2: + time = 64000 + flags = 1 + data = length 1536, hash 5D09685 + sample 3: + time = 96000 + flags = 1 + data = length 1536, hash A9A24E44 + sample 4: + time = 128000 + flags = 1 + data = length 1536, hash 6F856273 + sample 5: + time = 160000 + flags = 1 + data = length 1536, hash B1737D3C + sample 6: + time = 192000 + flags = 1 + data = length 1536, hash 98FDEB9D + sample 7: + time = 224000 + flags = 1 + data = length 1536, hash 99B9B943 + sample 8: + time = 256000 + flags = 1 + data = length 1536, hash AAD9FCD2 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump new file mode 100644 index 0000000000..b2c54a9039 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump @@ -0,0 +1,94 @@ +seekMap: + isSeekable = true + duration = 760000 + getPosition(0) = [[timeUs=0, position=685]] + getPosition(1) = [[timeUs=0, position=685]] + getPosition(380000) = [[timeUs=0, position=685]] + getPosition(760000) = [[timeUs=0, position=685]] +numberOfTracks = 1 +track 0: + total output bytes = 7613 + sample count = 19 + format 0: + id = 1 + sampleMimeType = audio/ac4 + channelCount = 2 + sampleRate = 48000 + language = und + sample 0: + time = 0 + flags = 1 + data = length 367, hash D2762FA + sample 1: + time = 40000 + flags = 1 + data = length 367, hash BDD3224A + sample 2: + time = 80000 + flags = 1 + data = length 367, hash 9302227B + sample 3: + time = 120000 + flags = 1 + data = length 367, hash 72996003 + sample 4: + time = 160000 + flags = 1 + data = length 367, hash 88AE5A1B + sample 5: + time = 200000 + flags = 1 + data = length 367, hash E5346FE3 + sample 6: + time = 240000 + flags = 1 + data = length 367, hash CE558362 + sample 7: + time = 280000 + flags = 1 + data = length 367, hash 51AD3043 + sample 8: + time = 320000 + flags = 1 + data = length 367, hash EB72E95B + sample 9: + time = 360000 + flags = 1 + data = length 367, hash 47F8FF23 + sample 10: + time = 400000 + flags = 1 + data = length 367, hash 8133883D + sample 11: + time = 440000 + flags = 1 + data = length 495, hash E14BDFEE + sample 12: + time = 480000 + flags = 1 + data = length 520, hash FEE56928 + sample 13: + time = 520000 + flags = 1 + data = length 599, hash 41F496C5 + sample 14: + time = 560000 + flags = 1 + data = length 436, hash 76D6404 + sample 15: + time = 600000 + flags = 1 + data = length 366, hash 56D49D4D + sample 16: + time = 640000 + flags = 1 + data = length 393, hash 822FC8 + sample 17: + time = 680000 + flags = 1 + data = length 374, hash FA8AE217 + sample 18: + time = 720000 + flags = 1 + data = length 393, hash 8506A1B +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_fragmented.mp4.reading_within_gop_sample_dependencies.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_fragmented.mp4.reading_within_gop_sample_dependencies.1.dump new file mode 100644 index 0000000000..f8d4804fdb --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_fragmented.mp4.reading_within_gop_sample_dependencies.1.dump @@ -0,0 +1,70 @@ +seekMap: + isSeekable = true + duration = 760000 + getPosition(0) = [[timeUs=0, position=685]] + getPosition(1) = [[timeUs=0, position=685]] + getPosition(380000) = [[timeUs=0, position=685]] + getPosition(760000) = [[timeUs=0, position=685]] +numberOfTracks = 1 +track 0: + total output bytes = 5411 + sample count = 13 + format 0: + id = 1 + sampleMimeType = audio/ac4 + channelCount = 2 + sampleRate = 48000 + language = und + sample 0: + time = 240000 + flags = 1 + data = length 367, hash CE558362 + sample 1: + time = 280000 + flags = 1 + data = length 367, hash 51AD3043 + sample 2: + time = 320000 + flags = 1 + data = length 367, hash EB72E95B + sample 3: + time = 360000 + flags = 1 + data = length 367, hash 47F8FF23 + sample 4: + time = 400000 + flags = 1 + data = length 367, hash 8133883D + sample 5: + time = 440000 + flags = 1 + data = length 495, hash E14BDFEE + sample 6: + time = 480000 + flags = 1 + data = length 520, hash FEE56928 + sample 7: + time = 520000 + flags = 1 + data = length 599, hash 41F496C5 + sample 8: + time = 560000 + flags = 1 + data = length 436, hash 76D6404 + sample 9: + time = 600000 + flags = 1 + data = length 366, hash 56D49D4D + sample 10: + time = 640000 + flags = 1 + data = length 393, hash 822FC8 + sample 11: + time = 680000 + flags = 1 + data = length 374, hash FA8AE217 + sample 12: + time = 720000 + flags = 1 + data = length 393, hash 8506A1B +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_fragmented.mp4.reading_within_gop_sample_dependencies.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_fragmented.mp4.reading_within_gop_sample_dependencies.2.dump new file mode 100644 index 0000000000..43751731c0 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_fragmented.mp4.reading_within_gop_sample_dependencies.2.dump @@ -0,0 +1,46 @@ +seekMap: + isSeekable = true + duration = 760000 + getPosition(0) = [[timeUs=0, position=685]] + getPosition(1) = [[timeUs=0, position=685]] + getPosition(380000) = [[timeUs=0, position=685]] + getPosition(760000) = [[timeUs=0, position=685]] +numberOfTracks = 1 +track 0: + total output bytes = 3081 + sample count = 7 + format 0: + id = 1 + sampleMimeType = audio/ac4 + channelCount = 2 + sampleRate = 48000 + language = und + sample 0: + time = 480000 + flags = 1 + data = length 520, hash FEE56928 + sample 1: + time = 520000 + flags = 1 + data = length 599, hash 41F496C5 + sample 2: + time = 560000 + flags = 1 + data = length 436, hash 76D6404 + sample 3: + time = 600000 + flags = 1 + data = length 366, hash 56D49D4D + sample 4: + time = 640000 + flags = 1 + data = length 393, hash 822FC8 + sample 5: + time = 680000 + flags = 1 + data = length 374, hash FA8AE217 + sample 6: + time = 720000 + flags = 1 + data = length 393, hash 8506A1B +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_fragmented.mp4.reading_within_gop_sample_dependencies.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_fragmented.mp4.reading_within_gop_sample_dependencies.3.dump new file mode 100644 index 0000000000..120dd66851 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_fragmented.mp4.reading_within_gop_sample_dependencies.3.dump @@ -0,0 +1,22 @@ +seekMap: + isSeekable = true + duration = 760000 + getPosition(0) = [[timeUs=0, position=685]] + getPosition(1) = [[timeUs=0, position=685]] + getPosition(380000) = [[timeUs=0, position=685]] + getPosition(760000) = [[timeUs=0, position=685]] +numberOfTracks = 1 +track 0: + total output bytes = 393 + sample count = 1 + format 0: + id = 1 + sampleMimeType = audio/ac4 + channelCount = 2 + sampleRate = 48000 + language = und + sample 0: + time = 720000 + flags = 1 + data = length 393, hash 8506A1B +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump new file mode 100644 index 0000000000..b2c54a9039 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump @@ -0,0 +1,94 @@ +seekMap: + isSeekable = true + duration = 760000 + getPosition(0) = [[timeUs=0, position=685]] + getPosition(1) = [[timeUs=0, position=685]] + getPosition(380000) = [[timeUs=0, position=685]] + getPosition(760000) = [[timeUs=0, position=685]] +numberOfTracks = 1 +track 0: + total output bytes = 7613 + sample count = 19 + format 0: + id = 1 + sampleMimeType = audio/ac4 + channelCount = 2 + sampleRate = 48000 + language = und + sample 0: + time = 0 + flags = 1 + data = length 367, hash D2762FA + sample 1: + time = 40000 + flags = 1 + data = length 367, hash BDD3224A + sample 2: + time = 80000 + flags = 1 + data = length 367, hash 9302227B + sample 3: + time = 120000 + flags = 1 + data = length 367, hash 72996003 + sample 4: + time = 160000 + flags = 1 + data = length 367, hash 88AE5A1B + sample 5: + time = 200000 + flags = 1 + data = length 367, hash E5346FE3 + sample 6: + time = 240000 + flags = 1 + data = length 367, hash CE558362 + sample 7: + time = 280000 + flags = 1 + data = length 367, hash 51AD3043 + sample 8: + time = 320000 + flags = 1 + data = length 367, hash EB72E95B + sample 9: + time = 360000 + flags = 1 + data = length 367, hash 47F8FF23 + sample 10: + time = 400000 + flags = 1 + data = length 367, hash 8133883D + sample 11: + time = 440000 + flags = 1 + data = length 495, hash E14BDFEE + sample 12: + time = 480000 + flags = 1 + data = length 520, hash FEE56928 + sample 13: + time = 520000 + flags = 1 + data = length 599, hash 41F496C5 + sample 14: + time = 560000 + flags = 1 + data = length 436, hash 76D6404 + sample 15: + time = 600000 + flags = 1 + data = length 366, hash 56D49D4D + sample 16: + time = 640000 + flags = 1 + data = length 393, hash 822FC8 + sample 17: + time = 680000 + flags = 1 + data = length 374, hash FA8AE217 + sample 18: + time = 720000 + flags = 1 + data = length 393, hash 8506A1B +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_protected.mp4.reading_within_gop_sample_dependencies.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_protected.mp4.reading_within_gop_sample_dependencies.0.dump new file mode 100644 index 0000000000..425e0f67e9 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_protected.mp4.reading_within_gop_sample_dependencies.0.dump @@ -0,0 +1,133 @@ +seekMap: + isSeekable = true + duration = 760000 + getPosition(0) = [[timeUs=0, position=950]] + getPosition(1) = [[timeUs=0, position=950]] + getPosition(380000) = [[timeUs=0, position=950]] + getPosition(760000) = [[timeUs=0, position=950]] +numberOfTracks = 1 +track 0: + total output bytes = 7936 + sample count = 19 + format 0: + id = 1 + sampleMimeType = audio/ac4 + channelCount = 2 + sampleRate = 48000 + language = und + drmInitData = -1683793742 + sample 0: + time = 0 + flags = 1073741825 + data = length 384, hash 96EFFFF3 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 1: + time = 40000 + flags = 1073741825 + data = length 384, hash 899279C6 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 2: + time = 80000 + flags = 1073741825 + data = length 384, hash 9EA9F45 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 3: + time = 120000 + flags = 1073741825 + data = length 384, hash 82D362A9 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 4: + time = 160000 + flags = 1073741825 + data = length 384, hash B8705CFB + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 5: + time = 200000 + flags = 1073741825 + data = length 384, hash 58B5628E + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 6: + time = 240000 + flags = 1073741825 + data = length 384, hash 87F3C13B + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 7: + time = 280000 + flags = 1073741825 + data = length 384, hash 54333DC5 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 8: + time = 320000 + flags = 1073741825 + data = length 384, hash 1C49C4B3 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 9: + time = 360000 + flags = 1073741825 + data = length 384, hash 5FDC324F + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 10: + time = 400000 + flags = 1073741825 + data = length 384, hash B2A7F444 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 11: + time = 440000 + flags = 1073741825 + data = length 512, hash 5FD06C1E + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 12: + time = 480000 + flags = 1073741825 + data = length 537, hash 7ABBDCB + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 13: + time = 520000 + flags = 1073741825 + data = length 616, hash 3F657E23 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 14: + time = 560000 + flags = 1073741825 + data = length 453, hash 8FCF0529 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 15: + time = 600000 + flags = 1073741825 + data = length 383, hash 7F8C9E19 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 16: + time = 640000 + flags = 1073741825 + data = length 410, hash 3727858D + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 17: + time = 680000 + flags = 1073741825 + data = length 391, hash E2931212 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 18: + time = 720000 + flags = 1073741825 + data = length 410, hash 63017D46 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_protected.mp4.reading_within_gop_sample_dependencies.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_protected.mp4.reading_within_gop_sample_dependencies.1.dump new file mode 100644 index 0000000000..64935a88ef --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_protected.mp4.reading_within_gop_sample_dependencies.1.dump @@ -0,0 +1,97 @@ +seekMap: + isSeekable = true + duration = 760000 + getPosition(0) = [[timeUs=0, position=950]] + getPosition(1) = [[timeUs=0, position=950]] + getPosition(380000) = [[timeUs=0, position=950]] + getPosition(760000) = [[timeUs=0, position=950]] +numberOfTracks = 1 +track 0: + total output bytes = 5632 + sample count = 13 + format 0: + id = 1 + sampleMimeType = audio/ac4 + channelCount = 2 + sampleRate = 48000 + language = und + drmInitData = -1683793742 + sample 0: + time = 240000 + flags = 1073741825 + data = length 384, hash 87F3C13B + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 1: + time = 280000 + flags = 1073741825 + data = length 384, hash 54333DC5 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 2: + time = 320000 + flags = 1073741825 + data = length 384, hash 1C49C4B3 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 3: + time = 360000 + flags = 1073741825 + data = length 384, hash 5FDC324F + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 4: + time = 400000 + flags = 1073741825 + data = length 384, hash B2A7F444 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 5: + time = 440000 + flags = 1073741825 + data = length 512, hash 5FD06C1E + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 6: + time = 480000 + flags = 1073741825 + data = length 537, hash 7ABBDCB + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 7: + time = 520000 + flags = 1073741825 + data = length 616, hash 3F657E23 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 8: + time = 560000 + flags = 1073741825 + data = length 453, hash 8FCF0529 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 9: + time = 600000 + flags = 1073741825 + data = length 383, hash 7F8C9E19 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 10: + time = 640000 + flags = 1073741825 + data = length 410, hash 3727858D + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 11: + time = 680000 + flags = 1073741825 + data = length 391, hash E2931212 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 12: + time = 720000 + flags = 1073741825 + data = length 410, hash 63017D46 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_protected.mp4.reading_within_gop_sample_dependencies.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_protected.mp4.reading_within_gop_sample_dependencies.2.dump new file mode 100644 index 0000000000..5fad73c5c5 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_protected.mp4.reading_within_gop_sample_dependencies.2.dump @@ -0,0 +1,61 @@ +seekMap: + isSeekable = true + duration = 760000 + getPosition(0) = [[timeUs=0, position=950]] + getPosition(1) = [[timeUs=0, position=950]] + getPosition(380000) = [[timeUs=0, position=950]] + getPosition(760000) = [[timeUs=0, position=950]] +numberOfTracks = 1 +track 0: + total output bytes = 3200 + sample count = 7 + format 0: + id = 1 + sampleMimeType = audio/ac4 + channelCount = 2 + sampleRate = 48000 + language = und + drmInitData = -1683793742 + sample 0: + time = 480000 + flags = 1073741825 + data = length 537, hash 7ABBDCB + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 1: + time = 520000 + flags = 1073741825 + data = length 616, hash 3F657E23 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 2: + time = 560000 + flags = 1073741825 + data = length 453, hash 8FCF0529 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 3: + time = 600000 + flags = 1073741825 + data = length 383, hash 7F8C9E19 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 4: + time = 640000 + flags = 1073741825 + data = length 410, hash 3727858D + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 5: + time = 680000 + flags = 1073741825 + data = length 391, hash E2931212 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 6: + time = 720000 + flags = 1073741825 + data = length 410, hash 63017D46 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_protected.mp4.reading_within_gop_sample_dependencies.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_protected.mp4.reading_within_gop_sample_dependencies.3.dump new file mode 100644 index 0000000000..3a857ff758 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_protected.mp4.reading_within_gop_sample_dependencies.3.dump @@ -0,0 +1,25 @@ +seekMap: + isSeekable = true + duration = 760000 + getPosition(0) = [[timeUs=0, position=950]] + getPosition(1) = [[timeUs=0, position=950]] + getPosition(380000) = [[timeUs=0, position=950]] + getPosition(760000) = [[timeUs=0, position=950]] +numberOfTracks = 1 +track 0: + total output bytes = 410 + sample count = 1 + format 0: + id = 1 + sampleMimeType = audio/ac4 + channelCount = 2 + sampleRate = 48000 + language = und + drmInitData = -1683793742 + sample 0: + time = 720000 + flags = 1073741825 + data = length 410, hash 63017D46 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_protected.mp4.reading_within_gop_sample_dependencies.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_protected.mp4.reading_within_gop_sample_dependencies.unknown_length.dump new file mode 100644 index 0000000000..425e0f67e9 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_ac4_protected.mp4.reading_within_gop_sample_dependencies.unknown_length.dump @@ -0,0 +1,133 @@ +seekMap: + isSeekable = true + duration = 760000 + getPosition(0) = [[timeUs=0, position=950]] + getPosition(1) = [[timeUs=0, position=950]] + getPosition(380000) = [[timeUs=0, position=950]] + getPosition(760000) = [[timeUs=0, position=950]] +numberOfTracks = 1 +track 0: + total output bytes = 7936 + sample count = 19 + format 0: + id = 1 + sampleMimeType = audio/ac4 + channelCount = 2 + sampleRate = 48000 + language = und + drmInitData = -1683793742 + sample 0: + time = 0 + flags = 1073741825 + data = length 384, hash 96EFFFF3 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 1: + time = 40000 + flags = 1073741825 + data = length 384, hash 899279C6 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 2: + time = 80000 + flags = 1073741825 + data = length 384, hash 9EA9F45 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 3: + time = 120000 + flags = 1073741825 + data = length 384, hash 82D362A9 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 4: + time = 160000 + flags = 1073741825 + data = length 384, hash B8705CFB + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 5: + time = 200000 + flags = 1073741825 + data = length 384, hash 58B5628E + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 6: + time = 240000 + flags = 1073741825 + data = length 384, hash 87F3C13B + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 7: + time = 280000 + flags = 1073741825 + data = length 384, hash 54333DC5 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 8: + time = 320000 + flags = 1073741825 + data = length 384, hash 1C49C4B3 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 9: + time = 360000 + flags = 1073741825 + data = length 384, hash 5FDC324F + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 10: + time = 400000 + flags = 1073741825 + data = length 384, hash B2A7F444 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 11: + time = 440000 + flags = 1073741825 + data = length 512, hash 5FD06C1E + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 12: + time = 480000 + flags = 1073741825 + data = length 537, hash 7ABBDCB + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 13: + time = 520000 + flags = 1073741825 + data = length 616, hash 3F657E23 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 14: + time = 560000 + flags = 1073741825 + data = length 453, hash 8FCF0529 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 15: + time = 600000 + flags = 1073741825 + data = length 383, hash 7F8C9E19 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 16: + time = 640000 + flags = 1073741825 + data = length 410, hash 3727858D + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 17: + time = 680000 + flags = 1073741825 + data = length 391, hash E2931212 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 + sample 18: + time = 720000 + flags = 1073741825 + data = length 410, hash 63017D46 + crypto mode = 1 + encryption key = length 16, hash 9FDDEA52 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump new file mode 100644 index 0000000000..734051bb2d --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump @@ -0,0 +1,235 @@ +seekMap: + isSeekable = true + duration = 1728000 + getPosition(0) = [[timeUs=0, position=638]] + getPosition(1) = [[timeUs=0, position=638]] + getPosition(864000) = [[timeUs=0, position=638]] + getPosition(1728000) = [[timeUs=0, position=638]] +numberOfTracks = 1 +track 0: + total output bytes = 216000 + sample count = 54 + format 0: + peakBitrate = 1000000 + id = 1 + sampleMimeType = audio/eac3 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 0 + flags = 1 + data = length 4000, hash BAEAFB2A + sample 1: + time = 32000 + flags = 1 + data = length 4000, hash E3C5EBF0 + sample 2: + time = 64000 + flags = 1 + data = length 4000, hash 32E0F957 + sample 3: + time = 96000 + flags = 1 + data = length 4000, hash 5354CC5D + sample 4: + time = 128000 + flags = 1 + data = length 4000, hash FF834906 + sample 5: + time = 160000 + flags = 1 + data = length 4000, hash 6F571E61 + sample 6: + time = 192000 + flags = 1 + data = length 4000, hash 5C931F6B + sample 7: + time = 224000 + flags = 1 + data = length 4000, hash B1FB2E57 + sample 8: + time = 256000 + flags = 1 + data = length 4000, hash C71240EB + sample 9: + time = 288000 + flags = 1 + data = length 4000, hash C3E302EE + sample 10: + time = 320000 + flags = 1 + data = length 4000, hash 7994C27B + sample 11: + time = 352000 + flags = 1 + data = length 4000, hash 1ED4E6F3 + sample 12: + time = 384000 + flags = 1 + data = length 4000, hash 1D5E6AAC + sample 13: + time = 416000 + flags = 1 + data = length 4000, hash 30058F51 + sample 14: + time = 448000 + flags = 1 + data = length 4000, hash 15DD0E4A + sample 15: + time = 480000 + flags = 1 + data = length 4000, hash 37BE7C15 + sample 16: + time = 512000 + flags = 1 + data = length 4000, hash 7CFDD34B + sample 17: + time = 544000 + flags = 1 + data = length 4000, hash 27F20D29 + sample 18: + time = 576000 + flags = 1 + data = length 4000, hash 6F565894 + sample 19: + time = 608000 + flags = 1 + data = length 4000, hash A6F07C4A + sample 20: + time = 640000 + flags = 1 + data = length 4000, hash 3A0CA15C + sample 21: + time = 672000 + flags = 1 + data = length 4000, hash DB365414 + sample 22: + time = 704000 + flags = 1 + data = length 4000, hash 31E08469 + sample 23: + time = 736000 + flags = 1 + data = length 4000, hash 315F5C28 + sample 24: + time = 768000 + flags = 1 + data = length 4000, hash CC65DF80 + sample 25: + time = 800000 + flags = 1 + data = length 4000, hash 503FB64C + sample 26: + time = 832000 + flags = 1 + data = length 4000, hash 817CF735 + sample 27: + time = 864000 + flags = 1 + data = length 4000, hash 37391ADA + sample 28: + time = 896000 + flags = 1 + data = length 4000, hash 37391ADA + sample 29: + time = 928000 + flags = 1 + data = length 4000, hash 64DBF751 + sample 30: + time = 960000 + flags = 1 + data = length 4000, hash 81AE828E + sample 31: + time = 992000 + flags = 1 + data = length 4000, hash 767D6C98 + sample 32: + time = 1024000 + flags = 1 + data = length 4000, hash A5F6D4E + sample 33: + time = 1056000 + flags = 1 + data = length 4000, hash EABC6B0D + sample 34: + time = 1088000 + flags = 1 + data = length 4000, hash F47EF742 + sample 35: + time = 1120000 + flags = 1 + data = length 4000, hash 9B2549DA + sample 36: + time = 1152000 + flags = 1 + data = length 4000, hash A12733C9 + sample 37: + time = 1184000 + flags = 1 + data = length 4000, hash 95F62E99 + sample 38: + time = 1216000 + flags = 1 + data = length 4000, hash A4D858 + sample 39: + time = 1248000 + flags = 1 + data = length 4000, hash A4D858 + sample 40: + time = 1280000 + flags = 1 + data = length 4000, hash 22C1A129 + sample 41: + time = 1312000 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 42: + time = 1344000 + flags = 1 + data = length 4000, hash 3782E8BB + sample 43: + time = 1376000 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 44: + time = 1408000 + flags = 1 + data = length 4000, hash BDB3D129 + sample 45: + time = 1440000 + flags = 1 + data = length 4000, hash F642A55 + sample 46: + time = 1472000 + flags = 1 + data = length 4000, hash 32F259F4 + sample 47: + time = 1504000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 48: + time = 1536000 + flags = 1 + data = length 4000, hash 57C98E1C + sample 49: + time = 1568000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 50: + time = 1600000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 51: + time = 1632000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 52: + time = 1664000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 53: + time = 1696000 + flags = 1 + data = length 4000, hash 4C987B7C +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3_fragmented.mp4.reading_within_gop_sample_dependencies.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3_fragmented.mp4.reading_within_gop_sample_dependencies.1.dump new file mode 100644 index 0000000000..e33b92c7bc --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3_fragmented.mp4.reading_within_gop_sample_dependencies.1.dump @@ -0,0 +1,163 @@ +seekMap: + isSeekable = true + duration = 1728000 + getPosition(0) = [[timeUs=0, position=638]] + getPosition(1) = [[timeUs=0, position=638]] + getPosition(864000) = [[timeUs=0, position=638]] + getPosition(1728000) = [[timeUs=0, position=638]] +numberOfTracks = 1 +track 0: + total output bytes = 144000 + sample count = 36 + format 0: + peakBitrate = 1000000 + id = 1 + sampleMimeType = audio/eac3 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 576000 + flags = 1 + data = length 4000, hash 6F565894 + sample 1: + time = 608000 + flags = 1 + data = length 4000, hash A6F07C4A + sample 2: + time = 640000 + flags = 1 + data = length 4000, hash 3A0CA15C + sample 3: + time = 672000 + flags = 1 + data = length 4000, hash DB365414 + sample 4: + time = 704000 + flags = 1 + data = length 4000, hash 31E08469 + sample 5: + time = 736000 + flags = 1 + data = length 4000, hash 315F5C28 + sample 6: + time = 768000 + flags = 1 + data = length 4000, hash CC65DF80 + sample 7: + time = 800000 + flags = 1 + data = length 4000, hash 503FB64C + sample 8: + time = 832000 + flags = 1 + data = length 4000, hash 817CF735 + sample 9: + time = 864000 + flags = 1 + data = length 4000, hash 37391ADA + sample 10: + time = 896000 + flags = 1 + data = length 4000, hash 37391ADA + sample 11: + time = 928000 + flags = 1 + data = length 4000, hash 64DBF751 + sample 12: + time = 960000 + flags = 1 + data = length 4000, hash 81AE828E + sample 13: + time = 992000 + flags = 1 + data = length 4000, hash 767D6C98 + sample 14: + time = 1024000 + flags = 1 + data = length 4000, hash A5F6D4E + sample 15: + time = 1056000 + flags = 1 + data = length 4000, hash EABC6B0D + sample 16: + time = 1088000 + flags = 1 + data = length 4000, hash F47EF742 + sample 17: + time = 1120000 + flags = 1 + data = length 4000, hash 9B2549DA + sample 18: + time = 1152000 + flags = 1 + data = length 4000, hash A12733C9 + sample 19: + time = 1184000 + flags = 1 + data = length 4000, hash 95F62E99 + sample 20: + time = 1216000 + flags = 1 + data = length 4000, hash A4D858 + sample 21: + time = 1248000 + flags = 1 + data = length 4000, hash A4D858 + sample 22: + time = 1280000 + flags = 1 + data = length 4000, hash 22C1A129 + sample 23: + time = 1312000 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 24: + time = 1344000 + flags = 1 + data = length 4000, hash 3782E8BB + sample 25: + time = 1376000 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 26: + time = 1408000 + flags = 1 + data = length 4000, hash BDB3D129 + sample 27: + time = 1440000 + flags = 1 + data = length 4000, hash F642A55 + sample 28: + time = 1472000 + flags = 1 + data = length 4000, hash 32F259F4 + sample 29: + time = 1504000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 30: + time = 1536000 + flags = 1 + data = length 4000, hash 57C98E1C + sample 31: + time = 1568000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 32: + time = 1600000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 33: + time = 1632000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 34: + time = 1664000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 35: + time = 1696000 + flags = 1 + data = length 4000, hash 4C987B7C +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3_fragmented.mp4.reading_within_gop_sample_dependencies.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3_fragmented.mp4.reading_within_gop_sample_dependencies.2.dump new file mode 100644 index 0000000000..a079fe334e --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3_fragmented.mp4.reading_within_gop_sample_dependencies.2.dump @@ -0,0 +1,91 @@ +seekMap: + isSeekable = true + duration = 1728000 + getPosition(0) = [[timeUs=0, position=638]] + getPosition(1) = [[timeUs=0, position=638]] + getPosition(864000) = [[timeUs=0, position=638]] + getPosition(1728000) = [[timeUs=0, position=638]] +numberOfTracks = 1 +track 0: + total output bytes = 72000 + sample count = 18 + format 0: + peakBitrate = 1000000 + id = 1 + sampleMimeType = audio/eac3 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 1152000 + flags = 1 + data = length 4000, hash A12733C9 + sample 1: + time = 1184000 + flags = 1 + data = length 4000, hash 95F62E99 + sample 2: + time = 1216000 + flags = 1 + data = length 4000, hash A4D858 + sample 3: + time = 1248000 + flags = 1 + data = length 4000, hash A4D858 + sample 4: + time = 1280000 + flags = 1 + data = length 4000, hash 22C1A129 + sample 5: + time = 1312000 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 6: + time = 1344000 + flags = 1 + data = length 4000, hash 3782E8BB + sample 7: + time = 1376000 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 8: + time = 1408000 + flags = 1 + data = length 4000, hash BDB3D129 + sample 9: + time = 1440000 + flags = 1 + data = length 4000, hash F642A55 + sample 10: + time = 1472000 + flags = 1 + data = length 4000, hash 32F259F4 + sample 11: + time = 1504000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 12: + time = 1536000 + flags = 1 + data = length 4000, hash 57C98E1C + sample 13: + time = 1568000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 14: + time = 1600000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 15: + time = 1632000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 16: + time = 1664000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 17: + time = 1696000 + flags = 1 + data = length 4000, hash 4C987B7C +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3_fragmented.mp4.reading_within_gop_sample_dependencies.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3_fragmented.mp4.reading_within_gop_sample_dependencies.3.dump new file mode 100644 index 0000000000..854d952ad8 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3_fragmented.mp4.reading_within_gop_sample_dependencies.3.dump @@ -0,0 +1,23 @@ +seekMap: + isSeekable = true + duration = 1728000 + getPosition(0) = [[timeUs=0, position=638]] + getPosition(1) = [[timeUs=0, position=638]] + getPosition(864000) = [[timeUs=0, position=638]] + getPosition(1728000) = [[timeUs=0, position=638]] +numberOfTracks = 1 +track 0: + total output bytes = 4000 + sample count = 1 + format 0: + peakBitrate = 1000000 + id = 1 + sampleMimeType = audio/eac3 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 1696000 + flags = 1 + data = length 4000, hash 4C987B7C +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump new file mode 100644 index 0000000000..734051bb2d --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump @@ -0,0 +1,235 @@ +seekMap: + isSeekable = true + duration = 1728000 + getPosition(0) = [[timeUs=0, position=638]] + getPosition(1) = [[timeUs=0, position=638]] + getPosition(864000) = [[timeUs=0, position=638]] + getPosition(1728000) = [[timeUs=0, position=638]] +numberOfTracks = 1 +track 0: + total output bytes = 216000 + sample count = 54 + format 0: + peakBitrate = 1000000 + id = 1 + sampleMimeType = audio/eac3 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 0 + flags = 1 + data = length 4000, hash BAEAFB2A + sample 1: + time = 32000 + flags = 1 + data = length 4000, hash E3C5EBF0 + sample 2: + time = 64000 + flags = 1 + data = length 4000, hash 32E0F957 + sample 3: + time = 96000 + flags = 1 + data = length 4000, hash 5354CC5D + sample 4: + time = 128000 + flags = 1 + data = length 4000, hash FF834906 + sample 5: + time = 160000 + flags = 1 + data = length 4000, hash 6F571E61 + sample 6: + time = 192000 + flags = 1 + data = length 4000, hash 5C931F6B + sample 7: + time = 224000 + flags = 1 + data = length 4000, hash B1FB2E57 + sample 8: + time = 256000 + flags = 1 + data = length 4000, hash C71240EB + sample 9: + time = 288000 + flags = 1 + data = length 4000, hash C3E302EE + sample 10: + time = 320000 + flags = 1 + data = length 4000, hash 7994C27B + sample 11: + time = 352000 + flags = 1 + data = length 4000, hash 1ED4E6F3 + sample 12: + time = 384000 + flags = 1 + data = length 4000, hash 1D5E6AAC + sample 13: + time = 416000 + flags = 1 + data = length 4000, hash 30058F51 + sample 14: + time = 448000 + flags = 1 + data = length 4000, hash 15DD0E4A + sample 15: + time = 480000 + flags = 1 + data = length 4000, hash 37BE7C15 + sample 16: + time = 512000 + flags = 1 + data = length 4000, hash 7CFDD34B + sample 17: + time = 544000 + flags = 1 + data = length 4000, hash 27F20D29 + sample 18: + time = 576000 + flags = 1 + data = length 4000, hash 6F565894 + sample 19: + time = 608000 + flags = 1 + data = length 4000, hash A6F07C4A + sample 20: + time = 640000 + flags = 1 + data = length 4000, hash 3A0CA15C + sample 21: + time = 672000 + flags = 1 + data = length 4000, hash DB365414 + sample 22: + time = 704000 + flags = 1 + data = length 4000, hash 31E08469 + sample 23: + time = 736000 + flags = 1 + data = length 4000, hash 315F5C28 + sample 24: + time = 768000 + flags = 1 + data = length 4000, hash CC65DF80 + sample 25: + time = 800000 + flags = 1 + data = length 4000, hash 503FB64C + sample 26: + time = 832000 + flags = 1 + data = length 4000, hash 817CF735 + sample 27: + time = 864000 + flags = 1 + data = length 4000, hash 37391ADA + sample 28: + time = 896000 + flags = 1 + data = length 4000, hash 37391ADA + sample 29: + time = 928000 + flags = 1 + data = length 4000, hash 64DBF751 + sample 30: + time = 960000 + flags = 1 + data = length 4000, hash 81AE828E + sample 31: + time = 992000 + flags = 1 + data = length 4000, hash 767D6C98 + sample 32: + time = 1024000 + flags = 1 + data = length 4000, hash A5F6D4E + sample 33: + time = 1056000 + flags = 1 + data = length 4000, hash EABC6B0D + sample 34: + time = 1088000 + flags = 1 + data = length 4000, hash F47EF742 + sample 35: + time = 1120000 + flags = 1 + data = length 4000, hash 9B2549DA + sample 36: + time = 1152000 + flags = 1 + data = length 4000, hash A12733C9 + sample 37: + time = 1184000 + flags = 1 + data = length 4000, hash 95F62E99 + sample 38: + time = 1216000 + flags = 1 + data = length 4000, hash A4D858 + sample 39: + time = 1248000 + flags = 1 + data = length 4000, hash A4D858 + sample 40: + time = 1280000 + flags = 1 + data = length 4000, hash 22C1A129 + sample 41: + time = 1312000 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 42: + time = 1344000 + flags = 1 + data = length 4000, hash 3782E8BB + sample 43: + time = 1376000 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 44: + time = 1408000 + flags = 1 + data = length 4000, hash BDB3D129 + sample 45: + time = 1440000 + flags = 1 + data = length 4000, hash F642A55 + sample 46: + time = 1472000 + flags = 1 + data = length 4000, hash 32F259F4 + sample 47: + time = 1504000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 48: + time = 1536000 + flags = 1 + data = length 4000, hash 57C98E1C + sample 49: + time = 1568000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 50: + time = 1600000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 51: + time = 1632000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 52: + time = 1664000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 53: + time = 1696000 + flags = 1 + data = length 4000, hash 4C987B7C +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump new file mode 100644 index 0000000000..87930b0bfb --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump @@ -0,0 +1,275 @@ +seekMap: + isSeekable = true + duration = 2048000 + getPosition(0) = [[timeUs=0, position=640]] + getPosition(1) = [[timeUs=0, position=640]] + getPosition(1024000) = [[timeUs=0, position=640]] + getPosition(2048000) = [[timeUs=0, position=640]] +numberOfTracks = 1 +track 0: + total output bytes = 163840 + sample count = 64 + format 0: + peakBitrate = 640000 + id = 1 + sampleMimeType = audio/eac3-joc + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 0 + flags = 1 + data = length 2560, hash 882594AD + sample 1: + time = 32000 + flags = 1 + data = length 2560, hash 41EC8B22 + sample 2: + time = 64000 + flags = 1 + data = length 2560, hash 67E6EFD4 + sample 3: + time = 96000 + flags = 1 + data = length 2560, hash A7E66AFD + sample 4: + time = 128000 + flags = 1 + data = length 2560, hash 3924116 + sample 5: + time = 160000 + flags = 1 + data = length 2560, hash 64DCE40B + sample 6: + time = 192000 + flags = 1 + data = length 2560, hash F2E0DA64 + sample 7: + time = 224000 + flags = 1 + data = length 2560, hash C156258B + sample 8: + time = 256000 + flags = 1 + data = length 2560, hash D8DBDCDE + sample 9: + time = 288000 + flags = 1 + data = length 2560, hash C11B2F25 + sample 10: + time = 320000 + flags = 1 + data = length 2560, hash B3C5612 + sample 11: + time = 352000 + flags = 1 + data = length 2560, hash A94B15D0 + sample 12: + time = 384000 + flags = 1 + data = length 2560, hash 12E4E306 + sample 13: + time = 416000 + flags = 1 + data = length 2560, hash 11CB959F + sample 14: + time = 448000 + flags = 1 + data = length 2560, hash B6433844 + sample 15: + time = 480000 + flags = 1 + data = length 2560, hash EA6DEB89 + sample 16: + time = 512000 + flags = 1 + data = length 2560, hash 6D65CBD9 + sample 17: + time = 544000 + flags = 1 + data = length 2560, hash A5D635C5 + sample 18: + time = 576000 + flags = 1 + data = length 2560, hash 992E36AB + sample 19: + time = 608000 + flags = 1 + data = length 2560, hash 1EC4E5AF + sample 20: + time = 640000 + flags = 1 + data = length 2560, hash DCFEB7D2 + sample 21: + time = 672000 + flags = 1 + data = length 2560, hash 45EFC639 + sample 22: + time = 704000 + flags = 1 + data = length 2560, hash F598673 + sample 23: + time = 736000 + flags = 1 + data = length 2560, hash 89E4E5EC + sample 24: + time = 768000 + flags = 1 + data = length 2560, hash FBE2532B + sample 25: + time = 800000 + flags = 1 + data = length 2560, hash 9CE5F83B + sample 26: + time = 832000 + flags = 1 + data = length 2560, hash 6ED49E2C + sample 27: + time = 864000 + flags = 1 + data = length 2560, hash BC52F8F3 + sample 28: + time = 896000 + flags = 1 + data = length 2560, hash 759203E2 + sample 29: + time = 928000 + flags = 1 + data = length 2560, hash D5D31AE9 + sample 30: + time = 960000 + flags = 1 + data = length 2560, hash 640A24ED + sample 31: + time = 992000 + flags = 1 + data = length 2560, hash 19B52B8B + sample 32: + time = 1024000 + flags = 1 + data = length 2560, hash 5DA977C3 + sample 33: + time = 1056000 + flags = 1 + data = length 2560, hash 982879DD + sample 34: + time = 1088000 + flags = 1 + data = length 2560, hash A7656B9C + sample 35: + time = 1120000 + flags = 1 + data = length 2560, hash 445CCC67 + sample 36: + time = 1152000 + flags = 1 + data = length 2560, hash ACD5CB5C + sample 37: + time = 1184000 + flags = 1 + data = length 2560, hash 175BBF26 + sample 38: + time = 1216000 + flags = 1 + data = length 2560, hash DBCBEB0 + sample 39: + time = 1248000 + flags = 1 + data = length 2560, hash DA39D991 + sample 40: + time = 1280000 + flags = 1 + data = length 2560, hash F08CC8E2 + sample 41: + time = 1312000 + flags = 1 + data = length 2560, hash 6B0842D7 + sample 42: + time = 1344000 + flags = 1 + data = length 2560, hash 9FE87594 + sample 43: + time = 1376000 + flags = 1 + data = length 2560, hash 8E62CE19 + sample 44: + time = 1408000 + flags = 1 + data = length 2560, hash 5FDC4084 + sample 45: + time = 1440000 + flags = 1 + data = length 2560, hash C32DAEE1 + sample 46: + time = 1472000 + flags = 1 + data = length 2560, hash BBEFB568 + sample 47: + time = 1504000 + flags = 1 + data = length 2560, hash 20504279 + sample 48: + time = 1536000 + flags = 1 + data = length 2560, hash 3B8192D2 + sample 49: + time = 1568000 + flags = 1 + data = length 2560, hash 4206B48 + sample 50: + time = 1600000 + flags = 1 + data = length 2560, hash B195AB53 + sample 51: + time = 1632000 + flags = 1 + data = length 2560, hash 3AA8E25F + sample 52: + time = 1664000 + flags = 1 + data = length 2560, hash BC227D7B + sample 53: + time = 1696000 + flags = 1 + data = length 2560, hash 6A34F7EA + sample 54: + time = 1728000 + flags = 1 + data = length 2560, hash F1E731C4 + sample 55: + time = 1760000 + flags = 1 + data = length 2560, hash 9CC406 + sample 56: + time = 1792000 + flags = 1 + data = length 2560, hash A1532233 + sample 57: + time = 1824000 + flags = 1 + data = length 2560, hash 98E49039 + sample 58: + time = 1856000 + flags = 1 + data = length 2560, hash 3F8B6DC0 + sample 59: + time = 1888000 + flags = 1 + data = length 2560, hash 4E7BF79F + sample 60: + time = 1920000 + flags = 1 + data = length 2560, hash 6DD6F2D7 + sample 61: + time = 1952000 + flags = 1 + data = length 2560, hash A05C0EC2 + sample 62: + time = 1984000 + flags = 1 + data = length 2560, hash 10C62F30 + sample 63: + time = 2016000 + flags = 1 + data = length 2560, hash EE4F848A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc_fragmented.mp4.reading_within_gop_sample_dependencies.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc_fragmented.mp4.reading_within_gop_sample_dependencies.1.dump new file mode 100644 index 0000000000..e1aa764cfb --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc_fragmented.mp4.reading_within_gop_sample_dependencies.1.dump @@ -0,0 +1,191 @@ +seekMap: + isSeekable = true + duration = 2048000 + getPosition(0) = [[timeUs=0, position=640]] + getPosition(1) = [[timeUs=0, position=640]] + getPosition(1024000) = [[timeUs=0, position=640]] + getPosition(2048000) = [[timeUs=0, position=640]] +numberOfTracks = 1 +track 0: + total output bytes = 110080 + sample count = 43 + format 0: + peakBitrate = 640000 + id = 1 + sampleMimeType = audio/eac3-joc + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 672000 + flags = 1 + data = length 2560, hash 45EFC639 + sample 1: + time = 704000 + flags = 1 + data = length 2560, hash F598673 + sample 2: + time = 736000 + flags = 1 + data = length 2560, hash 89E4E5EC + sample 3: + time = 768000 + flags = 1 + data = length 2560, hash FBE2532B + sample 4: + time = 800000 + flags = 1 + data = length 2560, hash 9CE5F83B + sample 5: + time = 832000 + flags = 1 + data = length 2560, hash 6ED49E2C + sample 6: + time = 864000 + flags = 1 + data = length 2560, hash BC52F8F3 + sample 7: + time = 896000 + flags = 1 + data = length 2560, hash 759203E2 + sample 8: + time = 928000 + flags = 1 + data = length 2560, hash D5D31AE9 + sample 9: + time = 960000 + flags = 1 + data = length 2560, hash 640A24ED + sample 10: + time = 992000 + flags = 1 + data = length 2560, hash 19B52B8B + sample 11: + time = 1024000 + flags = 1 + data = length 2560, hash 5DA977C3 + sample 12: + time = 1056000 + flags = 1 + data = length 2560, hash 982879DD + sample 13: + time = 1088000 + flags = 1 + data = length 2560, hash A7656B9C + sample 14: + time = 1120000 + flags = 1 + data = length 2560, hash 445CCC67 + sample 15: + time = 1152000 + flags = 1 + data = length 2560, hash ACD5CB5C + sample 16: + time = 1184000 + flags = 1 + data = length 2560, hash 175BBF26 + sample 17: + time = 1216000 + flags = 1 + data = length 2560, hash DBCBEB0 + sample 18: + time = 1248000 + flags = 1 + data = length 2560, hash DA39D991 + sample 19: + time = 1280000 + flags = 1 + data = length 2560, hash F08CC8E2 + sample 20: + time = 1312000 + flags = 1 + data = length 2560, hash 6B0842D7 + sample 21: + time = 1344000 + flags = 1 + data = length 2560, hash 9FE87594 + sample 22: + time = 1376000 + flags = 1 + data = length 2560, hash 8E62CE19 + sample 23: + time = 1408000 + flags = 1 + data = length 2560, hash 5FDC4084 + sample 24: + time = 1440000 + flags = 1 + data = length 2560, hash C32DAEE1 + sample 25: + time = 1472000 + flags = 1 + data = length 2560, hash BBEFB568 + sample 26: + time = 1504000 + flags = 1 + data = length 2560, hash 20504279 + sample 27: + time = 1536000 + flags = 1 + data = length 2560, hash 3B8192D2 + sample 28: + time = 1568000 + flags = 1 + data = length 2560, hash 4206B48 + sample 29: + time = 1600000 + flags = 1 + data = length 2560, hash B195AB53 + sample 30: + time = 1632000 + flags = 1 + data = length 2560, hash 3AA8E25F + sample 31: + time = 1664000 + flags = 1 + data = length 2560, hash BC227D7B + sample 32: + time = 1696000 + flags = 1 + data = length 2560, hash 6A34F7EA + sample 33: + time = 1728000 + flags = 1 + data = length 2560, hash F1E731C4 + sample 34: + time = 1760000 + flags = 1 + data = length 2560, hash 9CC406 + sample 35: + time = 1792000 + flags = 1 + data = length 2560, hash A1532233 + sample 36: + time = 1824000 + flags = 1 + data = length 2560, hash 98E49039 + sample 37: + time = 1856000 + flags = 1 + data = length 2560, hash 3F8B6DC0 + sample 38: + time = 1888000 + flags = 1 + data = length 2560, hash 4E7BF79F + sample 39: + time = 1920000 + flags = 1 + data = length 2560, hash 6DD6F2D7 + sample 40: + time = 1952000 + flags = 1 + data = length 2560, hash A05C0EC2 + sample 41: + time = 1984000 + flags = 1 + data = length 2560, hash 10C62F30 + sample 42: + time = 2016000 + flags = 1 + data = length 2560, hash EE4F848A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc_fragmented.mp4.reading_within_gop_sample_dependencies.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc_fragmented.mp4.reading_within_gop_sample_dependencies.2.dump new file mode 100644 index 0000000000..c9f083805f --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc_fragmented.mp4.reading_within_gop_sample_dependencies.2.dump @@ -0,0 +1,107 @@ +seekMap: + isSeekable = true + duration = 2048000 + getPosition(0) = [[timeUs=0, position=640]] + getPosition(1) = [[timeUs=0, position=640]] + getPosition(1024000) = [[timeUs=0, position=640]] + getPosition(2048000) = [[timeUs=0, position=640]] +numberOfTracks = 1 +track 0: + total output bytes = 56320 + sample count = 22 + format 0: + peakBitrate = 640000 + id = 1 + sampleMimeType = audio/eac3-joc + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 1344000 + flags = 1 + data = length 2560, hash 9FE87594 + sample 1: + time = 1376000 + flags = 1 + data = length 2560, hash 8E62CE19 + sample 2: + time = 1408000 + flags = 1 + data = length 2560, hash 5FDC4084 + sample 3: + time = 1440000 + flags = 1 + data = length 2560, hash C32DAEE1 + sample 4: + time = 1472000 + flags = 1 + data = length 2560, hash BBEFB568 + sample 5: + time = 1504000 + flags = 1 + data = length 2560, hash 20504279 + sample 6: + time = 1536000 + flags = 1 + data = length 2560, hash 3B8192D2 + sample 7: + time = 1568000 + flags = 1 + data = length 2560, hash 4206B48 + sample 8: + time = 1600000 + flags = 1 + data = length 2560, hash B195AB53 + sample 9: + time = 1632000 + flags = 1 + data = length 2560, hash 3AA8E25F + sample 10: + time = 1664000 + flags = 1 + data = length 2560, hash BC227D7B + sample 11: + time = 1696000 + flags = 1 + data = length 2560, hash 6A34F7EA + sample 12: + time = 1728000 + flags = 1 + data = length 2560, hash F1E731C4 + sample 13: + time = 1760000 + flags = 1 + data = length 2560, hash 9CC406 + sample 14: + time = 1792000 + flags = 1 + data = length 2560, hash A1532233 + sample 15: + time = 1824000 + flags = 1 + data = length 2560, hash 98E49039 + sample 16: + time = 1856000 + flags = 1 + data = length 2560, hash 3F8B6DC0 + sample 17: + time = 1888000 + flags = 1 + data = length 2560, hash 4E7BF79F + sample 18: + time = 1920000 + flags = 1 + data = length 2560, hash 6DD6F2D7 + sample 19: + time = 1952000 + flags = 1 + data = length 2560, hash A05C0EC2 + sample 20: + time = 1984000 + flags = 1 + data = length 2560, hash 10C62F30 + sample 21: + time = 2016000 + flags = 1 + data = length 2560, hash EE4F848A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc_fragmented.mp4.reading_within_gop_sample_dependencies.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc_fragmented.mp4.reading_within_gop_sample_dependencies.3.dump new file mode 100644 index 0000000000..a3875f612d --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc_fragmented.mp4.reading_within_gop_sample_dependencies.3.dump @@ -0,0 +1,23 @@ +seekMap: + isSeekable = true + duration = 2048000 + getPosition(0) = [[timeUs=0, position=640]] + getPosition(1) = [[timeUs=0, position=640]] + getPosition(1024000) = [[timeUs=0, position=640]] + getPosition(2048000) = [[timeUs=0, position=640]] +numberOfTracks = 1 +track 0: + total output bytes = 2560 + sample count = 1 + format 0: + peakBitrate = 640000 + id = 1 + sampleMimeType = audio/eac3-joc + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 2016000 + flags = 1 + data = length 2560, hash EE4F848A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump new file mode 100644 index 0000000000..87930b0bfb --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_eac3joc_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump @@ -0,0 +1,275 @@ +seekMap: + isSeekable = true + duration = 2048000 + getPosition(0) = [[timeUs=0, position=640]] + getPosition(1) = [[timeUs=0, position=640]] + getPosition(1024000) = [[timeUs=0, position=640]] + getPosition(2048000) = [[timeUs=0, position=640]] +numberOfTracks = 1 +track 0: + total output bytes = 163840 + sample count = 64 + format 0: + peakBitrate = 640000 + id = 1 + sampleMimeType = audio/eac3-joc + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 0 + flags = 1 + data = length 2560, hash 882594AD + sample 1: + time = 32000 + flags = 1 + data = length 2560, hash 41EC8B22 + sample 2: + time = 64000 + flags = 1 + data = length 2560, hash 67E6EFD4 + sample 3: + time = 96000 + flags = 1 + data = length 2560, hash A7E66AFD + sample 4: + time = 128000 + flags = 1 + data = length 2560, hash 3924116 + sample 5: + time = 160000 + flags = 1 + data = length 2560, hash 64DCE40B + sample 6: + time = 192000 + flags = 1 + data = length 2560, hash F2E0DA64 + sample 7: + time = 224000 + flags = 1 + data = length 2560, hash C156258B + sample 8: + time = 256000 + flags = 1 + data = length 2560, hash D8DBDCDE + sample 9: + time = 288000 + flags = 1 + data = length 2560, hash C11B2F25 + sample 10: + time = 320000 + flags = 1 + data = length 2560, hash B3C5612 + sample 11: + time = 352000 + flags = 1 + data = length 2560, hash A94B15D0 + sample 12: + time = 384000 + flags = 1 + data = length 2560, hash 12E4E306 + sample 13: + time = 416000 + flags = 1 + data = length 2560, hash 11CB959F + sample 14: + time = 448000 + flags = 1 + data = length 2560, hash B6433844 + sample 15: + time = 480000 + flags = 1 + data = length 2560, hash EA6DEB89 + sample 16: + time = 512000 + flags = 1 + data = length 2560, hash 6D65CBD9 + sample 17: + time = 544000 + flags = 1 + data = length 2560, hash A5D635C5 + sample 18: + time = 576000 + flags = 1 + data = length 2560, hash 992E36AB + sample 19: + time = 608000 + flags = 1 + data = length 2560, hash 1EC4E5AF + sample 20: + time = 640000 + flags = 1 + data = length 2560, hash DCFEB7D2 + sample 21: + time = 672000 + flags = 1 + data = length 2560, hash 45EFC639 + sample 22: + time = 704000 + flags = 1 + data = length 2560, hash F598673 + sample 23: + time = 736000 + flags = 1 + data = length 2560, hash 89E4E5EC + sample 24: + time = 768000 + flags = 1 + data = length 2560, hash FBE2532B + sample 25: + time = 800000 + flags = 1 + data = length 2560, hash 9CE5F83B + sample 26: + time = 832000 + flags = 1 + data = length 2560, hash 6ED49E2C + sample 27: + time = 864000 + flags = 1 + data = length 2560, hash BC52F8F3 + sample 28: + time = 896000 + flags = 1 + data = length 2560, hash 759203E2 + sample 29: + time = 928000 + flags = 1 + data = length 2560, hash D5D31AE9 + sample 30: + time = 960000 + flags = 1 + data = length 2560, hash 640A24ED + sample 31: + time = 992000 + flags = 1 + data = length 2560, hash 19B52B8B + sample 32: + time = 1024000 + flags = 1 + data = length 2560, hash 5DA977C3 + sample 33: + time = 1056000 + flags = 1 + data = length 2560, hash 982879DD + sample 34: + time = 1088000 + flags = 1 + data = length 2560, hash A7656B9C + sample 35: + time = 1120000 + flags = 1 + data = length 2560, hash 445CCC67 + sample 36: + time = 1152000 + flags = 1 + data = length 2560, hash ACD5CB5C + sample 37: + time = 1184000 + flags = 1 + data = length 2560, hash 175BBF26 + sample 38: + time = 1216000 + flags = 1 + data = length 2560, hash DBCBEB0 + sample 39: + time = 1248000 + flags = 1 + data = length 2560, hash DA39D991 + sample 40: + time = 1280000 + flags = 1 + data = length 2560, hash F08CC8E2 + sample 41: + time = 1312000 + flags = 1 + data = length 2560, hash 6B0842D7 + sample 42: + time = 1344000 + flags = 1 + data = length 2560, hash 9FE87594 + sample 43: + time = 1376000 + flags = 1 + data = length 2560, hash 8E62CE19 + sample 44: + time = 1408000 + flags = 1 + data = length 2560, hash 5FDC4084 + sample 45: + time = 1440000 + flags = 1 + data = length 2560, hash C32DAEE1 + sample 46: + time = 1472000 + flags = 1 + data = length 2560, hash BBEFB568 + sample 47: + time = 1504000 + flags = 1 + data = length 2560, hash 20504279 + sample 48: + time = 1536000 + flags = 1 + data = length 2560, hash 3B8192D2 + sample 49: + time = 1568000 + flags = 1 + data = length 2560, hash 4206B48 + sample 50: + time = 1600000 + flags = 1 + data = length 2560, hash B195AB53 + sample 51: + time = 1632000 + flags = 1 + data = length 2560, hash 3AA8E25F + sample 52: + time = 1664000 + flags = 1 + data = length 2560, hash BC227D7B + sample 53: + time = 1696000 + flags = 1 + data = length 2560, hash 6A34F7EA + sample 54: + time = 1728000 + flags = 1 + data = length 2560, hash F1E731C4 + sample 55: + time = 1760000 + flags = 1 + data = length 2560, hash 9CC406 + sample 56: + time = 1792000 + flags = 1 + data = length 2560, hash A1532233 + sample 57: + time = 1824000 + flags = 1 + data = length 2560, hash 98E49039 + sample 58: + time = 1856000 + flags = 1 + data = length 2560, hash 3F8B6DC0 + sample 59: + time = 1888000 + flags = 1 + data = length 2560, hash 4E7BF79F + sample 60: + time = 1920000 + flags = 1 + data = length 2560, hash 6DD6F2D7 + sample 61: + time = 1952000 + flags = 1 + data = length 2560, hash A05C0EC2 + sample 62: + time = 1984000 + flags = 1 + data = length 2560, hash 10C62F30 + sample 63: + time = 2016000 + flags = 1 + data = length 2560, hash EE4F848A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump new file mode 100644 index 0000000000..839cb7aa25 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump @@ -0,0 +1,339 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=1244]] +numberOfTracks = 2 +track 0: + total output bytes = 85933 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.64001F + maxNumReorderSamples = 2 + width = 1080 + height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 + initializationData: + data = length 29, hash 4746B5D9 + data = length 10, hash 7A0D0F2B + sample 0: + time = 66733 + flags = 1 + data = length 38070, hash B58E1AEE + sample 1: + time = 200200 + flags = 0 + data = length 8340, hash 8AC449FF + sample 2: + time = 133466 + flags = 0 + data = length 1295, hash C0DA5090 + sample 3: + time = 100100 + flags = 67108864 + data = length 469, hash D6E0A200 + sample 4: + time = 166833 + flags = 67108864 + data = length 564, hash E5F56C5B + sample 5: + time = 333666 + flags = 0 + data = length 6075, hash 8756E49E + sample 6: + time = 266933 + flags = 0 + data = length 847, hash DCC2B618 + sample 7: + time = 233566 + flags = 67108864 + data = length 455, hash B9CCE047 + sample 8: + time = 300300 + flags = 67108864 + data = length 467, hash 69806D94 + sample 9: + time = 467133 + flags = 0 + data = length 4549, hash 3944F501 + sample 10: + time = 400400 + flags = 0 + data = length 1087, hash 491BF106 + sample 11: + time = 367033 + flags = 67108864 + data = length 380, hash 5FED016A + sample 12: + time = 433766 + flags = 67108864 + data = length 455, hash 8A0610 + sample 13: + time = 600600 + flags = 0 + data = length 5190, hash B9031D8 + sample 14: + time = 533866 + flags = 0 + data = length 1071, hash 684E7DC8 + sample 15: + time = 500500 + flags = 67108864 + data = length 653, hash 8494F326 + sample 16: + time = 567233 + flags = 67108864 + data = length 485, hash 2CCC85F4 + sample 17: + time = 734066 + flags = 0 + data = length 4884, hash D16B6A96 + sample 18: + time = 667333 + flags = 0 + data = length 997, hash 164FF210 + sample 19: + time = 633966 + flags = 67108864 + data = length 640, hash F664125B + sample 20: + time = 700700 + flags = 67108864 + data = length 491, hash B5930C7C + sample 21: + time = 867533 + flags = 0 + data = length 2989, hash 92CF4FCF + sample 22: + time = 800800 + flags = 0 + data = length 838, hash 294A3451 + sample 23: + time = 767433 + flags = 67108864 + data = length 544, hash FCCE2DE6 + sample 24: + time = 834166 + flags = 67108864 + data = length 329, hash A654FFA1 + sample 25: + time = 1001000 + flags = 0 + data = length 1517, hash 5F7EBF8B + sample 26: + time = 934266 + flags = 0 + data = length 803, hash 7A5C4C1D + sample 27: + time = 900900 + flags = 67108864 + data = length 415, hash B31BBC3B + sample 28: + time = 967633 + flags = 67108864 + data = length 415, hash 850DFEA3 + sample 29: + time = 1034366 + flags = 0 + data = length 619, hash AB5E56CA +track 1: + total output bytes = 18257 + sample count = 46 + format 0: + peakBitrate = 200000 + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + channelCount = 1 + sampleRate = 44100 + language = und + initializationData: + data = length 5, hash 2B7623A + sample 0: + time = 0 + flags = 1 + data = length 18, hash 96519432 + sample 1: + time = 23219 + flags = 1 + data = length 4, hash EE9DF + sample 2: + time = 46439 + flags = 1 + data = length 4, hash EEDBF + sample 3: + time = 69659 + flags = 1 + data = length 157, hash E2F078F4 + sample 4: + time = 92879 + flags = 1 + data = length 371, hash B9471F94 + sample 5: + time = 116099 + flags = 1 + data = length 373, hash 2AB265CB + sample 6: + time = 139319 + flags = 1 + data = length 402, hash 1295477C + sample 7: + time = 162539 + flags = 1 + data = length 455, hash 2D8146C8 + sample 8: + time = 185759 + flags = 1 + data = length 434, hash F2C5D287 + sample 9: + time = 208979 + flags = 1 + data = length 450, hash 84143FCD + sample 10: + time = 232199 + flags = 1 + data = length 429, hash EF769D50 + sample 11: + time = 255419 + flags = 1 + data = length 450, hash EC3DE692 + sample 12: + time = 278639 + flags = 1 + data = length 447, hash 3E519E13 + sample 13: + time = 301859 + flags = 1 + data = length 457, hash 1E4F23A0 + sample 14: + time = 325079 + flags = 1 + data = length 447, hash A439EA97 + sample 15: + time = 348299 + flags = 1 + data = length 456, hash 1E9034C6 + sample 16: + time = 371519 + flags = 1 + data = length 398, hash 99DB7345 + sample 17: + time = 394739 + flags = 1 + data = length 474, hash 3F05F10A + sample 18: + time = 417959 + flags = 1 + data = length 416, hash C105EE09 + sample 19: + time = 441179 + flags = 1 + data = length 454, hash 5FDBE458 + sample 20: + time = 464399 + flags = 1 + data = length 438, hash 41A93AC3 + sample 21: + time = 487619 + flags = 1 + data = length 443, hash 10FDA652 + sample 22: + time = 510839 + flags = 1 + data = length 412, hash 1F791E25 + sample 23: + time = 534058 + flags = 1 + data = length 482, hash A6D983D + sample 24: + time = 557278 + flags = 1 + data = length 386, hash BED7392F + sample 25: + time = 580498 + flags = 1 + data = length 463, hash 5309F8C9 + sample 26: + time = 603718 + flags = 1 + data = length 394, hash 21C7321F + sample 27: + time = 626938 + flags = 1 + data = length 489, hash 71B4730D + sample 28: + time = 650158 + flags = 1 + data = length 403, hash D9C6DE89 + sample 29: + time = 673378 + flags = 1 + data = length 447, hash 9B14B73B + sample 30: + time = 696598 + flags = 1 + data = length 439, hash 4760D35B + sample 31: + time = 719818 + flags = 1 + data = length 463, hash 1601F88D + sample 32: + time = 743038 + flags = 1 + data = length 423, hash D4AE6773 + sample 33: + time = 766258 + flags = 1 + data = length 497, hash A3C674D3 + sample 34: + time = 789478 + flags = 1 + data = length 419, hash D3734A1F + sample 35: + time = 812698 + flags = 1 + data = length 474, hash DFB41F9 + sample 36: + time = 835918 + flags = 1 + data = length 413, hash 53E7CB9F + sample 37: + time = 859138 + flags = 1 + data = length 445, hash D15B0E39 + sample 38: + time = 882358 + flags = 1 + data = length 453, hash 77ED81E4 + sample 39: + time = 905578 + flags = 1 + data = length 545, hash 3321AEB9 + sample 40: + time = 928798 + flags = 1 + data = length 317, hash F557D0E + sample 41: + time = 952018 + flags = 1 + data = length 537, hash ED58CF7B + sample 42: + time = 975238 + flags = 1 + data = length 458, hash 51CDAA10 + sample 43: + time = 998458 + flags = 1 + data = length 465, hash CBA1EFD7 + sample 44: + time = 1021678 + flags = 1 + data = length 446, hash D6735B8A + sample 45: + time = 1044897 + flags = 1 + data = length 10, hash A453EEBE +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump new file mode 100644 index 0000000000..839cb7aa25 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump @@ -0,0 +1,339 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=1244]] +numberOfTracks = 2 +track 0: + total output bytes = 85933 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.64001F + maxNumReorderSamples = 2 + width = 1080 + height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 + initializationData: + data = length 29, hash 4746B5D9 + data = length 10, hash 7A0D0F2B + sample 0: + time = 66733 + flags = 1 + data = length 38070, hash B58E1AEE + sample 1: + time = 200200 + flags = 0 + data = length 8340, hash 8AC449FF + sample 2: + time = 133466 + flags = 0 + data = length 1295, hash C0DA5090 + sample 3: + time = 100100 + flags = 67108864 + data = length 469, hash D6E0A200 + sample 4: + time = 166833 + flags = 67108864 + data = length 564, hash E5F56C5B + sample 5: + time = 333666 + flags = 0 + data = length 6075, hash 8756E49E + sample 6: + time = 266933 + flags = 0 + data = length 847, hash DCC2B618 + sample 7: + time = 233566 + flags = 67108864 + data = length 455, hash B9CCE047 + sample 8: + time = 300300 + flags = 67108864 + data = length 467, hash 69806D94 + sample 9: + time = 467133 + flags = 0 + data = length 4549, hash 3944F501 + sample 10: + time = 400400 + flags = 0 + data = length 1087, hash 491BF106 + sample 11: + time = 367033 + flags = 67108864 + data = length 380, hash 5FED016A + sample 12: + time = 433766 + flags = 67108864 + data = length 455, hash 8A0610 + sample 13: + time = 600600 + flags = 0 + data = length 5190, hash B9031D8 + sample 14: + time = 533866 + flags = 0 + data = length 1071, hash 684E7DC8 + sample 15: + time = 500500 + flags = 67108864 + data = length 653, hash 8494F326 + sample 16: + time = 567233 + flags = 67108864 + data = length 485, hash 2CCC85F4 + sample 17: + time = 734066 + flags = 0 + data = length 4884, hash D16B6A96 + sample 18: + time = 667333 + flags = 0 + data = length 997, hash 164FF210 + sample 19: + time = 633966 + flags = 67108864 + data = length 640, hash F664125B + sample 20: + time = 700700 + flags = 67108864 + data = length 491, hash B5930C7C + sample 21: + time = 867533 + flags = 0 + data = length 2989, hash 92CF4FCF + sample 22: + time = 800800 + flags = 0 + data = length 838, hash 294A3451 + sample 23: + time = 767433 + flags = 67108864 + data = length 544, hash FCCE2DE6 + sample 24: + time = 834166 + flags = 67108864 + data = length 329, hash A654FFA1 + sample 25: + time = 1001000 + flags = 0 + data = length 1517, hash 5F7EBF8B + sample 26: + time = 934266 + flags = 0 + data = length 803, hash 7A5C4C1D + sample 27: + time = 900900 + flags = 67108864 + data = length 415, hash B31BBC3B + sample 28: + time = 967633 + flags = 67108864 + data = length 415, hash 850DFEA3 + sample 29: + time = 1034366 + flags = 0 + data = length 619, hash AB5E56CA +track 1: + total output bytes = 18257 + sample count = 46 + format 0: + peakBitrate = 200000 + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + channelCount = 1 + sampleRate = 44100 + language = und + initializationData: + data = length 5, hash 2B7623A + sample 0: + time = 0 + flags = 1 + data = length 18, hash 96519432 + sample 1: + time = 23219 + flags = 1 + data = length 4, hash EE9DF + sample 2: + time = 46439 + flags = 1 + data = length 4, hash EEDBF + sample 3: + time = 69659 + flags = 1 + data = length 157, hash E2F078F4 + sample 4: + time = 92879 + flags = 1 + data = length 371, hash B9471F94 + sample 5: + time = 116099 + flags = 1 + data = length 373, hash 2AB265CB + sample 6: + time = 139319 + flags = 1 + data = length 402, hash 1295477C + sample 7: + time = 162539 + flags = 1 + data = length 455, hash 2D8146C8 + sample 8: + time = 185759 + flags = 1 + data = length 434, hash F2C5D287 + sample 9: + time = 208979 + flags = 1 + data = length 450, hash 84143FCD + sample 10: + time = 232199 + flags = 1 + data = length 429, hash EF769D50 + sample 11: + time = 255419 + flags = 1 + data = length 450, hash EC3DE692 + sample 12: + time = 278639 + flags = 1 + data = length 447, hash 3E519E13 + sample 13: + time = 301859 + flags = 1 + data = length 457, hash 1E4F23A0 + sample 14: + time = 325079 + flags = 1 + data = length 447, hash A439EA97 + sample 15: + time = 348299 + flags = 1 + data = length 456, hash 1E9034C6 + sample 16: + time = 371519 + flags = 1 + data = length 398, hash 99DB7345 + sample 17: + time = 394739 + flags = 1 + data = length 474, hash 3F05F10A + sample 18: + time = 417959 + flags = 1 + data = length 416, hash C105EE09 + sample 19: + time = 441179 + flags = 1 + data = length 454, hash 5FDBE458 + sample 20: + time = 464399 + flags = 1 + data = length 438, hash 41A93AC3 + sample 21: + time = 487619 + flags = 1 + data = length 443, hash 10FDA652 + sample 22: + time = 510839 + flags = 1 + data = length 412, hash 1F791E25 + sample 23: + time = 534058 + flags = 1 + data = length 482, hash A6D983D + sample 24: + time = 557278 + flags = 1 + data = length 386, hash BED7392F + sample 25: + time = 580498 + flags = 1 + data = length 463, hash 5309F8C9 + sample 26: + time = 603718 + flags = 1 + data = length 394, hash 21C7321F + sample 27: + time = 626938 + flags = 1 + data = length 489, hash 71B4730D + sample 28: + time = 650158 + flags = 1 + data = length 403, hash D9C6DE89 + sample 29: + time = 673378 + flags = 1 + data = length 447, hash 9B14B73B + sample 30: + time = 696598 + flags = 1 + data = length 439, hash 4760D35B + sample 31: + time = 719818 + flags = 1 + data = length 463, hash 1601F88D + sample 32: + time = 743038 + flags = 1 + data = length 423, hash D4AE6773 + sample 33: + time = 766258 + flags = 1 + data = length 497, hash A3C674D3 + sample 34: + time = 789478 + flags = 1 + data = length 419, hash D3734A1F + sample 35: + time = 812698 + flags = 1 + data = length 474, hash DFB41F9 + sample 36: + time = 835918 + flags = 1 + data = length 413, hash 53E7CB9F + sample 37: + time = 859138 + flags = 1 + data = length 445, hash D15B0E39 + sample 38: + time = 882358 + flags = 1 + data = length 453, hash 77ED81E4 + sample 39: + time = 905578 + flags = 1 + data = length 545, hash 3321AEB9 + sample 40: + time = 928798 + flags = 1 + data = length 317, hash F557D0E + sample 41: + time = 952018 + flags = 1 + data = length 537, hash ED58CF7B + sample 42: + time = 975238 + flags = 1 + data = length 458, hash 51CDAA10 + sample 43: + time = 998458 + flags = 1 + data = length 465, hash CBA1EFD7 + sample 44: + time = 1021678 + flags = 1 + data = length 446, hash D6735B8A + sample 45: + time = 1044897 + flags = 1 + data = length 10, hash A453EEBE +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_iamf.mp4.reading_within_gop_sample_dependencies.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_iamf.mp4.reading_within_gop_sample_dependencies.0.dump new file mode 100644 index 0000000000..8b1fd6f6db --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_iamf.mp4.reading_within_gop_sample_dependencies.0.dump @@ -0,0 +1,520 @@ +seekMap: + isSeekable = true + duration = 500000 + getPosition(0) = [[timeUs=0, position=776]] + getPosition(1) = [[timeUs=0, position=776]] + getPosition(250000) = [[timeUs=0, position=776]] + getPosition(500000) = [[timeUs=0, position=776]] +numberOfTracks = 1 +track 0: + total output bytes = 33375 + sample count = 125 + format 0: + id = 1 + sampleMimeType = audio/iamf + channelCount = 0 + sampleRate = 0 + language = und + initializationData: + data = length 119, hash 5B2D6971 + sample 0: + time = 0 + flags = 1 + data = length 267, hash 256F07 + sample 1: + time = 4000 + flags = 1 + data = length 267, hash AFD55288 + sample 2: + time = 8000 + flags = 1 + data = length 267, hash 8AAA5F07 + sample 3: + time = 12000 + flags = 1 + data = length 267, hash C0531D07 + sample 4: + time = 16000 + flags = 1 + data = length 267, hash 1577888 + sample 5: + time = 20000 + flags = 1 + data = length 267, hash 5DA1DF07 + sample 6: + time = 24000 + flags = 1 + data = length 267, hash F4B8CB07 + sample 7: + time = 28000 + flags = 1 + data = length 267, hash 76F19E88 + sample 8: + time = 32000 + flags = 1 + data = length 267, hash 30995F07 + sample 9: + time = 36000 + flags = 1 + data = length 267, hash 7D567907 + sample 10: + time = 40000 + flags = 1 + data = length 267, hash 70A3C488 + sample 11: + time = 44000 + flags = 1 + data = length 267, hash 390DF07 + sample 12: + time = 48000 + flags = 1 + data = length 267, hash 3A2C2707 + sample 13: + time = 52000 + flags = 1 + data = length 267, hash B4476F07 + sample 14: + time = 56000 + flags = 1 + data = length 267, hash 52BCBA88 + sample 15: + time = 60000 + flags = 1 + data = length 267, hash B39D507 + sample 16: + time = 64000 + flags = 1 + data = length 267, hash 873EEF07 + sample 17: + time = 68000 + flags = 1 + data = length 267, hash D3DEE088 + sample 18: + time = 72000 + flags = 1 + data = length 267, hash D07F8307 + sample 19: + time = 76000 + flags = 1 + data = length 267, hash 5A366F07 + sample 20: + time = 80000 + flags = 1 + data = length 267, hash F9190688 + sample 21: + time = 84000 + flags = 1 + data = length 267, hash 69FD3107 + sample 22: + time = 88000 + flags = 1 + data = length 267, hash 2D2DEF07 + sample 23: + time = 92000 + flags = 1 + data = length 267, hash 226B2C88 + sample 24: + time = 96000 + flags = 1 + data = length 267, hash B7B2DF07 + sample 25: + time = 100000 + flags = 1 + data = length 267, hash 256F07 + sample 26: + time = 104000 + flags = 1 + data = length 267, hash AFD55288 + sample 27: + time = 108000 + flags = 1 + data = length 267, hash 8AAA5F07 + sample 28: + time = 112000 + flags = 1 + data = length 267, hash C0531D07 + sample 29: + time = 116000 + flags = 1 + data = length 267, hash 1577888 + sample 30: + time = 120000 + flags = 1 + data = length 267, hash 5DA1DF07 + sample 31: + time = 124000 + flags = 1 + data = length 267, hash F4B8CB07 + sample 32: + time = 128000 + flags = 1 + data = length 267, hash 76F19E88 + sample 33: + time = 132000 + flags = 1 + data = length 267, hash 30995F07 + sample 34: + time = 136000 + flags = 1 + data = length 267, hash 7D567907 + sample 35: + time = 140000 + flags = 1 + data = length 267, hash 70A3C488 + sample 36: + time = 144000 + flags = 1 + data = length 267, hash 390DF07 + sample 37: + time = 148000 + flags = 1 + data = length 267, hash 3A2C2707 + sample 38: + time = 152000 + flags = 1 + data = length 267, hash B4476F07 + sample 39: + time = 156000 + flags = 1 + data = length 267, hash 52BCBA88 + sample 40: + time = 160000 + flags = 1 + data = length 267, hash B39D507 + sample 41: + time = 164000 + flags = 1 + data = length 267, hash 873EEF07 + sample 42: + time = 168000 + flags = 1 + data = length 267, hash D3DEE088 + sample 43: + time = 172000 + flags = 1 + data = length 267, hash D07F8307 + sample 44: + time = 176000 + flags = 1 + data = length 267, hash 5A366F07 + sample 45: + time = 180000 + flags = 1 + data = length 267, hash F9190688 + sample 46: + time = 184000 + flags = 1 + data = length 267, hash 69FD3107 + sample 47: + time = 188000 + flags = 1 + data = length 267, hash 2D2DEF07 + sample 48: + time = 192000 + flags = 1 + data = length 267, hash 226B2C88 + sample 49: + time = 196000 + flags = 1 + data = length 267, hash B7B2DF07 + sample 50: + time = 200000 + flags = 1 + data = length 267, hash 256F07 + sample 51: + time = 204000 + flags = 1 + data = length 267, hash AFD55288 + sample 52: + time = 208000 + flags = 1 + data = length 267, hash 8AAA5F07 + sample 53: + time = 212000 + flags = 1 + data = length 267, hash C0531D07 + sample 54: + time = 216000 + flags = 1 + data = length 267, hash 1577888 + sample 55: + time = 220000 + flags = 1 + data = length 267, hash 5DA1DF07 + sample 56: + time = 224000 + flags = 1 + data = length 267, hash F4B8CB07 + sample 57: + time = 228000 + flags = 1 + data = length 267, hash 76F19E88 + sample 58: + time = 232000 + flags = 1 + data = length 267, hash 30995F07 + sample 59: + time = 236000 + flags = 1 + data = length 267, hash 7D567907 + sample 60: + time = 240000 + flags = 1 + data = length 267, hash 70A3C488 + sample 61: + time = 244000 + flags = 1 + data = length 267, hash 390DF07 + sample 62: + time = 248000 + flags = 1 + data = length 267, hash 3A2C2707 + sample 63: + time = 252000 + flags = 1 + data = length 267, hash B4476F07 + sample 64: + time = 256000 + flags = 1 + data = length 267, hash 52BCBA88 + sample 65: + time = 260000 + flags = 1 + data = length 267, hash B39D507 + sample 66: + time = 264000 + flags = 1 + data = length 267, hash 873EEF07 + sample 67: + time = 268000 + flags = 1 + data = length 267, hash D3DEE088 + sample 68: + time = 272000 + flags = 1 + data = length 267, hash D07F8307 + sample 69: + time = 276000 + flags = 1 + data = length 267, hash 5A366F07 + sample 70: + time = 280000 + flags = 1 + data = length 267, hash F9190688 + sample 71: + time = 284000 + flags = 1 + data = length 267, hash 69FD3107 + sample 72: + time = 288000 + flags = 1 + data = length 267, hash 2D2DEF07 + sample 73: + time = 292000 + flags = 1 + data = length 267, hash 226B2C88 + sample 74: + time = 296000 + flags = 1 + data = length 267, hash B7B2DF07 + sample 75: + time = 300000 + flags = 1 + data = length 267, hash 256F07 + sample 76: + time = 304000 + flags = 1 + data = length 267, hash AFD55288 + sample 77: + time = 308000 + flags = 1 + data = length 267, hash 8AAA5F07 + sample 78: + time = 312000 + flags = 1 + data = length 267, hash C0531D07 + sample 79: + time = 316000 + flags = 1 + data = length 267, hash 1577888 + sample 80: + time = 320000 + flags = 1 + data = length 267, hash 5DA1DF07 + sample 81: + time = 324000 + flags = 1 + data = length 267, hash F4B8CB07 + sample 82: + time = 328000 + flags = 1 + data = length 267, hash 76F19E88 + sample 83: + time = 332000 + flags = 1 + data = length 267, hash 30995F07 + sample 84: + time = 336000 + flags = 1 + data = length 267, hash 7D567907 + sample 85: + time = 340000 + flags = 1 + data = length 267, hash 70A3C488 + sample 86: + time = 344000 + flags = 1 + data = length 267, hash 390DF07 + sample 87: + time = 348000 + flags = 1 + data = length 267, hash 3A2C2707 + sample 88: + time = 352000 + flags = 1 + data = length 267, hash B4476F07 + sample 89: + time = 356000 + flags = 1 + data = length 267, hash 52BCBA88 + sample 90: + time = 360000 + flags = 1 + data = length 267, hash B39D507 + sample 91: + time = 364000 + flags = 1 + data = length 267, hash 873EEF07 + sample 92: + time = 368000 + flags = 1 + data = length 267, hash D3DEE088 + sample 93: + time = 372000 + flags = 1 + data = length 267, hash D07F8307 + sample 94: + time = 376000 + flags = 1 + data = length 267, hash 5A366F07 + sample 95: + time = 380000 + flags = 1 + data = length 267, hash F9190688 + sample 96: + time = 384000 + flags = 1 + data = length 267, hash 69FD3107 + sample 97: + time = 388000 + flags = 1 + data = length 267, hash 2D2DEF07 + sample 98: + time = 392000 + flags = 1 + data = length 267, hash 226B2C88 + sample 99: + time = 396000 + flags = 1 + data = length 267, hash B7B2DF07 + sample 100: + time = 400000 + flags = 1 + data = length 267, hash 256F07 + sample 101: + time = 404000 + flags = 1 + data = length 267, hash AFD55288 + sample 102: + time = 408000 + flags = 1 + data = length 267, hash 8AAA5F07 + sample 103: + time = 412000 + flags = 1 + data = length 267, hash C0531D07 + sample 104: + time = 416000 + flags = 1 + data = length 267, hash 1577888 + sample 105: + time = 420000 + flags = 1 + data = length 267, hash 5DA1DF07 + sample 106: + time = 424000 + flags = 1 + data = length 267, hash F4B8CB07 + sample 107: + time = 428000 + flags = 1 + data = length 267, hash 76F19E88 + sample 108: + time = 432000 + flags = 1 + data = length 267, hash 30995F07 + sample 109: + time = 436000 + flags = 1 + data = length 267, hash 7D567907 + sample 110: + time = 440000 + flags = 1 + data = length 267, hash 70A3C488 + sample 111: + time = 444000 + flags = 1 + data = length 267, hash 390DF07 + sample 112: + time = 448000 + flags = 1 + data = length 267, hash 3A2C2707 + sample 113: + time = 452000 + flags = 1 + data = length 267, hash B4476F07 + sample 114: + time = 456000 + flags = 1 + data = length 267, hash 52BCBA88 + sample 115: + time = 460000 + flags = 1 + data = length 267, hash B39D507 + sample 116: + time = 464000 + flags = 1 + data = length 267, hash 873EEF07 + sample 117: + time = 468000 + flags = 1 + data = length 267, hash D3DEE088 + sample 118: + time = 472000 + flags = 1 + data = length 267, hash D07F8307 + sample 119: + time = 476000 + flags = 1 + data = length 267, hash 5A366F07 + sample 120: + time = 480000 + flags = 1 + data = length 267, hash F9190688 + sample 121: + time = 484000 + flags = 1 + data = length 267, hash 69FD3107 + sample 122: + time = 488000 + flags = 1 + data = length 267, hash 2D2DEF07 + sample 123: + time = 492000 + flags = 1 + data = length 267, hash 226B2C88 + sample 124: + time = 496000 + flags = 1 + data = length 267, hash B7B2DF07 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_iamf.mp4.reading_within_gop_sample_dependencies.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_iamf.mp4.reading_within_gop_sample_dependencies.1.dump new file mode 100644 index 0000000000..995f8738c8 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_iamf.mp4.reading_within_gop_sample_dependencies.1.dump @@ -0,0 +1,356 @@ +seekMap: + isSeekable = true + duration = 500000 + getPosition(0) = [[timeUs=0, position=776]] + getPosition(1) = [[timeUs=0, position=776]] + getPosition(250000) = [[timeUs=0, position=776]] + getPosition(500000) = [[timeUs=0, position=776]] +numberOfTracks = 1 +track 0: + total output bytes = 22428 + sample count = 84 + format 0: + id = 1 + sampleMimeType = audio/iamf + channelCount = 0 + sampleRate = 0 + language = und + initializationData: + data = length 119, hash 5B2D6971 + sample 0: + time = 164000 + flags = 1 + data = length 267, hash 873EEF07 + sample 1: + time = 168000 + flags = 1 + data = length 267, hash D3DEE088 + sample 2: + time = 172000 + flags = 1 + data = length 267, hash D07F8307 + sample 3: + time = 176000 + flags = 1 + data = length 267, hash 5A366F07 + sample 4: + time = 180000 + flags = 1 + data = length 267, hash F9190688 + sample 5: + time = 184000 + flags = 1 + data = length 267, hash 69FD3107 + sample 6: + time = 188000 + flags = 1 + data = length 267, hash 2D2DEF07 + sample 7: + time = 192000 + flags = 1 + data = length 267, hash 226B2C88 + sample 8: + time = 196000 + flags = 1 + data = length 267, hash B7B2DF07 + sample 9: + time = 200000 + flags = 1 + data = length 267, hash 256F07 + sample 10: + time = 204000 + flags = 1 + data = length 267, hash AFD55288 + sample 11: + time = 208000 + flags = 1 + data = length 267, hash 8AAA5F07 + sample 12: + time = 212000 + flags = 1 + data = length 267, hash C0531D07 + sample 13: + time = 216000 + flags = 1 + data = length 267, hash 1577888 + sample 14: + time = 220000 + flags = 1 + data = length 267, hash 5DA1DF07 + sample 15: + time = 224000 + flags = 1 + data = length 267, hash F4B8CB07 + sample 16: + time = 228000 + flags = 1 + data = length 267, hash 76F19E88 + sample 17: + time = 232000 + flags = 1 + data = length 267, hash 30995F07 + sample 18: + time = 236000 + flags = 1 + data = length 267, hash 7D567907 + sample 19: + time = 240000 + flags = 1 + data = length 267, hash 70A3C488 + sample 20: + time = 244000 + flags = 1 + data = length 267, hash 390DF07 + sample 21: + time = 248000 + flags = 1 + data = length 267, hash 3A2C2707 + sample 22: + time = 252000 + flags = 1 + data = length 267, hash B4476F07 + sample 23: + time = 256000 + flags = 1 + data = length 267, hash 52BCBA88 + sample 24: + time = 260000 + flags = 1 + data = length 267, hash B39D507 + sample 25: + time = 264000 + flags = 1 + data = length 267, hash 873EEF07 + sample 26: + time = 268000 + flags = 1 + data = length 267, hash D3DEE088 + sample 27: + time = 272000 + flags = 1 + data = length 267, hash D07F8307 + sample 28: + time = 276000 + flags = 1 + data = length 267, hash 5A366F07 + sample 29: + time = 280000 + flags = 1 + data = length 267, hash F9190688 + sample 30: + time = 284000 + flags = 1 + data = length 267, hash 69FD3107 + sample 31: + time = 288000 + flags = 1 + data = length 267, hash 2D2DEF07 + sample 32: + time = 292000 + flags = 1 + data = length 267, hash 226B2C88 + sample 33: + time = 296000 + flags = 1 + data = length 267, hash B7B2DF07 + sample 34: + time = 300000 + flags = 1 + data = length 267, hash 256F07 + sample 35: + time = 304000 + flags = 1 + data = length 267, hash AFD55288 + sample 36: + time = 308000 + flags = 1 + data = length 267, hash 8AAA5F07 + sample 37: + time = 312000 + flags = 1 + data = length 267, hash C0531D07 + sample 38: + time = 316000 + flags = 1 + data = length 267, hash 1577888 + sample 39: + time = 320000 + flags = 1 + data = length 267, hash 5DA1DF07 + sample 40: + time = 324000 + flags = 1 + data = length 267, hash F4B8CB07 + sample 41: + time = 328000 + flags = 1 + data = length 267, hash 76F19E88 + sample 42: + time = 332000 + flags = 1 + data = length 267, hash 30995F07 + sample 43: + time = 336000 + flags = 1 + data = length 267, hash 7D567907 + sample 44: + time = 340000 + flags = 1 + data = length 267, hash 70A3C488 + sample 45: + time = 344000 + flags = 1 + data = length 267, hash 390DF07 + sample 46: + time = 348000 + flags = 1 + data = length 267, hash 3A2C2707 + sample 47: + time = 352000 + flags = 1 + data = length 267, hash B4476F07 + sample 48: + time = 356000 + flags = 1 + data = length 267, hash 52BCBA88 + sample 49: + time = 360000 + flags = 1 + data = length 267, hash B39D507 + sample 50: + time = 364000 + flags = 1 + data = length 267, hash 873EEF07 + sample 51: + time = 368000 + flags = 1 + data = length 267, hash D3DEE088 + sample 52: + time = 372000 + flags = 1 + data = length 267, hash D07F8307 + sample 53: + time = 376000 + flags = 1 + data = length 267, hash 5A366F07 + sample 54: + time = 380000 + flags = 1 + data = length 267, hash F9190688 + sample 55: + time = 384000 + flags = 1 + data = length 267, hash 69FD3107 + sample 56: + time = 388000 + flags = 1 + data = length 267, hash 2D2DEF07 + sample 57: + time = 392000 + flags = 1 + data = length 267, hash 226B2C88 + sample 58: + time = 396000 + flags = 1 + data = length 267, hash B7B2DF07 + sample 59: + time = 400000 + flags = 1 + data = length 267, hash 256F07 + sample 60: + time = 404000 + flags = 1 + data = length 267, hash AFD55288 + sample 61: + time = 408000 + flags = 1 + data = length 267, hash 8AAA5F07 + sample 62: + time = 412000 + flags = 1 + data = length 267, hash C0531D07 + sample 63: + time = 416000 + flags = 1 + data = length 267, hash 1577888 + sample 64: + time = 420000 + flags = 1 + data = length 267, hash 5DA1DF07 + sample 65: + time = 424000 + flags = 1 + data = length 267, hash F4B8CB07 + sample 66: + time = 428000 + flags = 1 + data = length 267, hash 76F19E88 + sample 67: + time = 432000 + flags = 1 + data = length 267, hash 30995F07 + sample 68: + time = 436000 + flags = 1 + data = length 267, hash 7D567907 + sample 69: + time = 440000 + flags = 1 + data = length 267, hash 70A3C488 + sample 70: + time = 444000 + flags = 1 + data = length 267, hash 390DF07 + sample 71: + time = 448000 + flags = 1 + data = length 267, hash 3A2C2707 + sample 72: + time = 452000 + flags = 1 + data = length 267, hash B4476F07 + sample 73: + time = 456000 + flags = 1 + data = length 267, hash 52BCBA88 + sample 74: + time = 460000 + flags = 1 + data = length 267, hash B39D507 + sample 75: + time = 464000 + flags = 1 + data = length 267, hash 873EEF07 + sample 76: + time = 468000 + flags = 1 + data = length 267, hash D3DEE088 + sample 77: + time = 472000 + flags = 1 + data = length 267, hash D07F8307 + sample 78: + time = 476000 + flags = 1 + data = length 267, hash 5A366F07 + sample 79: + time = 480000 + flags = 1 + data = length 267, hash F9190688 + sample 80: + time = 484000 + flags = 1 + data = length 267, hash 69FD3107 + sample 81: + time = 488000 + flags = 1 + data = length 267, hash 2D2DEF07 + sample 82: + time = 492000 + flags = 1 + data = length 267, hash 226B2C88 + sample 83: + time = 496000 + flags = 1 + data = length 267, hash B7B2DF07 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_iamf.mp4.reading_within_gop_sample_dependencies.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_iamf.mp4.reading_within_gop_sample_dependencies.2.dump new file mode 100644 index 0000000000..ad7bcabc3d --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_iamf.mp4.reading_within_gop_sample_dependencies.2.dump @@ -0,0 +1,188 @@ +seekMap: + isSeekable = true + duration = 500000 + getPosition(0) = [[timeUs=0, position=776]] + getPosition(1) = [[timeUs=0, position=776]] + getPosition(250000) = [[timeUs=0, position=776]] + getPosition(500000) = [[timeUs=0, position=776]] +numberOfTracks = 1 +track 0: + total output bytes = 11214 + sample count = 42 + format 0: + id = 1 + sampleMimeType = audio/iamf + channelCount = 0 + sampleRate = 0 + language = und + initializationData: + data = length 119, hash 5B2D6971 + sample 0: + time = 332000 + flags = 1 + data = length 267, hash 30995F07 + sample 1: + time = 336000 + flags = 1 + data = length 267, hash 7D567907 + sample 2: + time = 340000 + flags = 1 + data = length 267, hash 70A3C488 + sample 3: + time = 344000 + flags = 1 + data = length 267, hash 390DF07 + sample 4: + time = 348000 + flags = 1 + data = length 267, hash 3A2C2707 + sample 5: + time = 352000 + flags = 1 + data = length 267, hash B4476F07 + sample 6: + time = 356000 + flags = 1 + data = length 267, hash 52BCBA88 + sample 7: + time = 360000 + flags = 1 + data = length 267, hash B39D507 + sample 8: + time = 364000 + flags = 1 + data = length 267, hash 873EEF07 + sample 9: + time = 368000 + flags = 1 + data = length 267, hash D3DEE088 + sample 10: + time = 372000 + flags = 1 + data = length 267, hash D07F8307 + sample 11: + time = 376000 + flags = 1 + data = length 267, hash 5A366F07 + sample 12: + time = 380000 + flags = 1 + data = length 267, hash F9190688 + sample 13: + time = 384000 + flags = 1 + data = length 267, hash 69FD3107 + sample 14: + time = 388000 + flags = 1 + data = length 267, hash 2D2DEF07 + sample 15: + time = 392000 + flags = 1 + data = length 267, hash 226B2C88 + sample 16: + time = 396000 + flags = 1 + data = length 267, hash B7B2DF07 + sample 17: + time = 400000 + flags = 1 + data = length 267, hash 256F07 + sample 18: + time = 404000 + flags = 1 + data = length 267, hash AFD55288 + sample 19: + time = 408000 + flags = 1 + data = length 267, hash 8AAA5F07 + sample 20: + time = 412000 + flags = 1 + data = length 267, hash C0531D07 + sample 21: + time = 416000 + flags = 1 + data = length 267, hash 1577888 + sample 22: + time = 420000 + flags = 1 + data = length 267, hash 5DA1DF07 + sample 23: + time = 424000 + flags = 1 + data = length 267, hash F4B8CB07 + sample 24: + time = 428000 + flags = 1 + data = length 267, hash 76F19E88 + sample 25: + time = 432000 + flags = 1 + data = length 267, hash 30995F07 + sample 26: + time = 436000 + flags = 1 + data = length 267, hash 7D567907 + sample 27: + time = 440000 + flags = 1 + data = length 267, hash 70A3C488 + sample 28: + time = 444000 + flags = 1 + data = length 267, hash 390DF07 + sample 29: + time = 448000 + flags = 1 + data = length 267, hash 3A2C2707 + sample 30: + time = 452000 + flags = 1 + data = length 267, hash B4476F07 + sample 31: + time = 456000 + flags = 1 + data = length 267, hash 52BCBA88 + sample 32: + time = 460000 + flags = 1 + data = length 267, hash B39D507 + sample 33: + time = 464000 + flags = 1 + data = length 267, hash 873EEF07 + sample 34: + time = 468000 + flags = 1 + data = length 267, hash D3DEE088 + sample 35: + time = 472000 + flags = 1 + data = length 267, hash D07F8307 + sample 36: + time = 476000 + flags = 1 + data = length 267, hash 5A366F07 + sample 37: + time = 480000 + flags = 1 + data = length 267, hash F9190688 + sample 38: + time = 484000 + flags = 1 + data = length 267, hash 69FD3107 + sample 39: + time = 488000 + flags = 1 + data = length 267, hash 2D2DEF07 + sample 40: + time = 492000 + flags = 1 + data = length 267, hash 226B2C88 + sample 41: + time = 496000 + flags = 1 + data = length 267, hash B7B2DF07 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_iamf.mp4.reading_within_gop_sample_dependencies.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_iamf.mp4.reading_within_gop_sample_dependencies.3.dump new file mode 100644 index 0000000000..4874194301 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_iamf.mp4.reading_within_gop_sample_dependencies.3.dump @@ -0,0 +1,24 @@ +seekMap: + isSeekable = true + duration = 500000 + getPosition(0) = [[timeUs=0, position=776]] + getPosition(1) = [[timeUs=0, position=776]] + getPosition(250000) = [[timeUs=0, position=776]] + getPosition(500000) = [[timeUs=0, position=776]] +numberOfTracks = 1 +track 0: + total output bytes = 267 + sample count = 1 + format 0: + id = 1 + sampleMimeType = audio/iamf + channelCount = 0 + sampleRate = 0 + language = und + initializationData: + data = length 119, hash 5B2D6971 + sample 0: + time = 496000 + flags = 1 + data = length 267, hash B7B2DF07 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_iamf.mp4.reading_within_gop_sample_dependencies.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_iamf.mp4.reading_within_gop_sample_dependencies.unknown_length.dump new file mode 100644 index 0000000000..8b1fd6f6db --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_iamf.mp4.reading_within_gop_sample_dependencies.unknown_length.dump @@ -0,0 +1,520 @@ +seekMap: + isSeekable = true + duration = 500000 + getPosition(0) = [[timeUs=0, position=776]] + getPosition(1) = [[timeUs=0, position=776]] + getPosition(250000) = [[timeUs=0, position=776]] + getPosition(500000) = [[timeUs=0, position=776]] +numberOfTracks = 1 +track 0: + total output bytes = 33375 + sample count = 125 + format 0: + id = 1 + sampleMimeType = audio/iamf + channelCount = 0 + sampleRate = 0 + language = und + initializationData: + data = length 119, hash 5B2D6971 + sample 0: + time = 0 + flags = 1 + data = length 267, hash 256F07 + sample 1: + time = 4000 + flags = 1 + data = length 267, hash AFD55288 + sample 2: + time = 8000 + flags = 1 + data = length 267, hash 8AAA5F07 + sample 3: + time = 12000 + flags = 1 + data = length 267, hash C0531D07 + sample 4: + time = 16000 + flags = 1 + data = length 267, hash 1577888 + sample 5: + time = 20000 + flags = 1 + data = length 267, hash 5DA1DF07 + sample 6: + time = 24000 + flags = 1 + data = length 267, hash F4B8CB07 + sample 7: + time = 28000 + flags = 1 + data = length 267, hash 76F19E88 + sample 8: + time = 32000 + flags = 1 + data = length 267, hash 30995F07 + sample 9: + time = 36000 + flags = 1 + data = length 267, hash 7D567907 + sample 10: + time = 40000 + flags = 1 + data = length 267, hash 70A3C488 + sample 11: + time = 44000 + flags = 1 + data = length 267, hash 390DF07 + sample 12: + time = 48000 + flags = 1 + data = length 267, hash 3A2C2707 + sample 13: + time = 52000 + flags = 1 + data = length 267, hash B4476F07 + sample 14: + time = 56000 + flags = 1 + data = length 267, hash 52BCBA88 + sample 15: + time = 60000 + flags = 1 + data = length 267, hash B39D507 + sample 16: + time = 64000 + flags = 1 + data = length 267, hash 873EEF07 + sample 17: + time = 68000 + flags = 1 + data = length 267, hash D3DEE088 + sample 18: + time = 72000 + flags = 1 + data = length 267, hash D07F8307 + sample 19: + time = 76000 + flags = 1 + data = length 267, hash 5A366F07 + sample 20: + time = 80000 + flags = 1 + data = length 267, hash F9190688 + sample 21: + time = 84000 + flags = 1 + data = length 267, hash 69FD3107 + sample 22: + time = 88000 + flags = 1 + data = length 267, hash 2D2DEF07 + sample 23: + time = 92000 + flags = 1 + data = length 267, hash 226B2C88 + sample 24: + time = 96000 + flags = 1 + data = length 267, hash B7B2DF07 + sample 25: + time = 100000 + flags = 1 + data = length 267, hash 256F07 + sample 26: + time = 104000 + flags = 1 + data = length 267, hash AFD55288 + sample 27: + time = 108000 + flags = 1 + data = length 267, hash 8AAA5F07 + sample 28: + time = 112000 + flags = 1 + data = length 267, hash C0531D07 + sample 29: + time = 116000 + flags = 1 + data = length 267, hash 1577888 + sample 30: + time = 120000 + flags = 1 + data = length 267, hash 5DA1DF07 + sample 31: + time = 124000 + flags = 1 + data = length 267, hash F4B8CB07 + sample 32: + time = 128000 + flags = 1 + data = length 267, hash 76F19E88 + sample 33: + time = 132000 + flags = 1 + data = length 267, hash 30995F07 + sample 34: + time = 136000 + flags = 1 + data = length 267, hash 7D567907 + sample 35: + time = 140000 + flags = 1 + data = length 267, hash 70A3C488 + sample 36: + time = 144000 + flags = 1 + data = length 267, hash 390DF07 + sample 37: + time = 148000 + flags = 1 + data = length 267, hash 3A2C2707 + sample 38: + time = 152000 + flags = 1 + data = length 267, hash B4476F07 + sample 39: + time = 156000 + flags = 1 + data = length 267, hash 52BCBA88 + sample 40: + time = 160000 + flags = 1 + data = length 267, hash B39D507 + sample 41: + time = 164000 + flags = 1 + data = length 267, hash 873EEF07 + sample 42: + time = 168000 + flags = 1 + data = length 267, hash D3DEE088 + sample 43: + time = 172000 + flags = 1 + data = length 267, hash D07F8307 + sample 44: + time = 176000 + flags = 1 + data = length 267, hash 5A366F07 + sample 45: + time = 180000 + flags = 1 + data = length 267, hash F9190688 + sample 46: + time = 184000 + flags = 1 + data = length 267, hash 69FD3107 + sample 47: + time = 188000 + flags = 1 + data = length 267, hash 2D2DEF07 + sample 48: + time = 192000 + flags = 1 + data = length 267, hash 226B2C88 + sample 49: + time = 196000 + flags = 1 + data = length 267, hash B7B2DF07 + sample 50: + time = 200000 + flags = 1 + data = length 267, hash 256F07 + sample 51: + time = 204000 + flags = 1 + data = length 267, hash AFD55288 + sample 52: + time = 208000 + flags = 1 + data = length 267, hash 8AAA5F07 + sample 53: + time = 212000 + flags = 1 + data = length 267, hash C0531D07 + sample 54: + time = 216000 + flags = 1 + data = length 267, hash 1577888 + sample 55: + time = 220000 + flags = 1 + data = length 267, hash 5DA1DF07 + sample 56: + time = 224000 + flags = 1 + data = length 267, hash F4B8CB07 + sample 57: + time = 228000 + flags = 1 + data = length 267, hash 76F19E88 + sample 58: + time = 232000 + flags = 1 + data = length 267, hash 30995F07 + sample 59: + time = 236000 + flags = 1 + data = length 267, hash 7D567907 + sample 60: + time = 240000 + flags = 1 + data = length 267, hash 70A3C488 + sample 61: + time = 244000 + flags = 1 + data = length 267, hash 390DF07 + sample 62: + time = 248000 + flags = 1 + data = length 267, hash 3A2C2707 + sample 63: + time = 252000 + flags = 1 + data = length 267, hash B4476F07 + sample 64: + time = 256000 + flags = 1 + data = length 267, hash 52BCBA88 + sample 65: + time = 260000 + flags = 1 + data = length 267, hash B39D507 + sample 66: + time = 264000 + flags = 1 + data = length 267, hash 873EEF07 + sample 67: + time = 268000 + flags = 1 + data = length 267, hash D3DEE088 + sample 68: + time = 272000 + flags = 1 + data = length 267, hash D07F8307 + sample 69: + time = 276000 + flags = 1 + data = length 267, hash 5A366F07 + sample 70: + time = 280000 + flags = 1 + data = length 267, hash F9190688 + sample 71: + time = 284000 + flags = 1 + data = length 267, hash 69FD3107 + sample 72: + time = 288000 + flags = 1 + data = length 267, hash 2D2DEF07 + sample 73: + time = 292000 + flags = 1 + data = length 267, hash 226B2C88 + sample 74: + time = 296000 + flags = 1 + data = length 267, hash B7B2DF07 + sample 75: + time = 300000 + flags = 1 + data = length 267, hash 256F07 + sample 76: + time = 304000 + flags = 1 + data = length 267, hash AFD55288 + sample 77: + time = 308000 + flags = 1 + data = length 267, hash 8AAA5F07 + sample 78: + time = 312000 + flags = 1 + data = length 267, hash C0531D07 + sample 79: + time = 316000 + flags = 1 + data = length 267, hash 1577888 + sample 80: + time = 320000 + flags = 1 + data = length 267, hash 5DA1DF07 + sample 81: + time = 324000 + flags = 1 + data = length 267, hash F4B8CB07 + sample 82: + time = 328000 + flags = 1 + data = length 267, hash 76F19E88 + sample 83: + time = 332000 + flags = 1 + data = length 267, hash 30995F07 + sample 84: + time = 336000 + flags = 1 + data = length 267, hash 7D567907 + sample 85: + time = 340000 + flags = 1 + data = length 267, hash 70A3C488 + sample 86: + time = 344000 + flags = 1 + data = length 267, hash 390DF07 + sample 87: + time = 348000 + flags = 1 + data = length 267, hash 3A2C2707 + sample 88: + time = 352000 + flags = 1 + data = length 267, hash B4476F07 + sample 89: + time = 356000 + flags = 1 + data = length 267, hash 52BCBA88 + sample 90: + time = 360000 + flags = 1 + data = length 267, hash B39D507 + sample 91: + time = 364000 + flags = 1 + data = length 267, hash 873EEF07 + sample 92: + time = 368000 + flags = 1 + data = length 267, hash D3DEE088 + sample 93: + time = 372000 + flags = 1 + data = length 267, hash D07F8307 + sample 94: + time = 376000 + flags = 1 + data = length 267, hash 5A366F07 + sample 95: + time = 380000 + flags = 1 + data = length 267, hash F9190688 + sample 96: + time = 384000 + flags = 1 + data = length 267, hash 69FD3107 + sample 97: + time = 388000 + flags = 1 + data = length 267, hash 2D2DEF07 + sample 98: + time = 392000 + flags = 1 + data = length 267, hash 226B2C88 + sample 99: + time = 396000 + flags = 1 + data = length 267, hash B7B2DF07 + sample 100: + time = 400000 + flags = 1 + data = length 267, hash 256F07 + sample 101: + time = 404000 + flags = 1 + data = length 267, hash AFD55288 + sample 102: + time = 408000 + flags = 1 + data = length 267, hash 8AAA5F07 + sample 103: + time = 412000 + flags = 1 + data = length 267, hash C0531D07 + sample 104: + time = 416000 + flags = 1 + data = length 267, hash 1577888 + sample 105: + time = 420000 + flags = 1 + data = length 267, hash 5DA1DF07 + sample 106: + time = 424000 + flags = 1 + data = length 267, hash F4B8CB07 + sample 107: + time = 428000 + flags = 1 + data = length 267, hash 76F19E88 + sample 108: + time = 432000 + flags = 1 + data = length 267, hash 30995F07 + sample 109: + time = 436000 + flags = 1 + data = length 267, hash 7D567907 + sample 110: + time = 440000 + flags = 1 + data = length 267, hash 70A3C488 + sample 111: + time = 444000 + flags = 1 + data = length 267, hash 390DF07 + sample 112: + time = 448000 + flags = 1 + data = length 267, hash 3A2C2707 + sample 113: + time = 452000 + flags = 1 + data = length 267, hash B4476F07 + sample 114: + time = 456000 + flags = 1 + data = length 267, hash 52BCBA88 + sample 115: + time = 460000 + flags = 1 + data = length 267, hash B39D507 + sample 116: + time = 464000 + flags = 1 + data = length 267, hash 873EEF07 + sample 117: + time = 468000 + flags = 1 + data = length 267, hash D3DEE088 + sample 118: + time = 472000 + flags = 1 + data = length 267, hash D07F8307 + sample 119: + time = 476000 + flags = 1 + data = length 267, hash 5A366F07 + sample 120: + time = 480000 + flags = 1 + data = length 267, hash F9190688 + sample 121: + time = 484000 + flags = 1 + data = length 267, hash 69FD3107 + sample 122: + time = 488000 + flags = 1 + data = length 267, hash 2D2DEF07 + sample 123: + time = 492000 + flags = 1 + data = length 267, hash 226B2C88 + sample 124: + time = 496000 + flags = 1 + data = length 267, hash B7B2DF07 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.reading_within_gop_sample_dependencies.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.reading_within_gop_sample_dependencies.0.dump new file mode 100644 index 0000000000..d6e5768056 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.reading_within_gop_sample_dependencies.0.dump @@ -0,0 +1,343 @@ +seekMap: + isSeekable = true + duration = 1067733 + getPosition(0) = [[timeUs=66733, position=1325]] + getPosition(1) = [[timeUs=66733, position=1325]] + getPosition(533866) = [[timeUs=66733, position=1325]] + getPosition(1067733) = [[timeUs=66733, position=1325]] +numberOfTracks = 2 +track 0: + total output bytes = 85933 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.64001F + maxNumReorderSamples = 2 + width = 1080 + height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 + initializationData: + data = length 29, hash 4746B5D9 + data = length 10, hash 7A0D0F2B + sample 0: + time = 66733 + flags = 1 + data = length 38070, hash B58E1AEE + sample 1: + time = 200200 + flags = 0 + data = length 8340, hash 8AC449FF + sample 2: + time = 133466 + flags = 0 + data = length 1295, hash C0DA5090 + sample 3: + time = 100100 + flags = 67108864 + data = length 469, hash D6E0A200 + sample 4: + time = 166833 + flags = 67108864 + data = length 564, hash E5F56C5B + sample 5: + time = 333666 + flags = 0 + data = length 6075, hash 8756E49E + sample 6: + time = 266933 + flags = 0 + data = length 847, hash DCC2B618 + sample 7: + time = 233566 + flags = 67108864 + data = length 455, hash B9CCE047 + sample 8: + time = 300300 + flags = 67108864 + data = length 467, hash 69806D94 + sample 9: + time = 467133 + flags = 0 + data = length 4549, hash 3944F501 + sample 10: + time = 400400 + flags = 0 + data = length 1087, hash 491BF106 + sample 11: + time = 367033 + flags = 67108864 + data = length 380, hash 5FED016A + sample 12: + time = 433766 + flags = 67108864 + data = length 455, hash 8A0610 + sample 13: + time = 600600 + flags = 0 + data = length 5190, hash B9031D8 + sample 14: + time = 533866 + flags = 0 + data = length 1071, hash 684E7DC8 + sample 15: + time = 500500 + flags = 67108864 + data = length 653, hash 8494F326 + sample 16: + time = 567233 + flags = 67108864 + data = length 485, hash 2CCC85F4 + sample 17: + time = 734066 + flags = 0 + data = length 4884, hash D16B6A96 + sample 18: + time = 667333 + flags = 0 + data = length 997, hash 164FF210 + sample 19: + time = 633966 + flags = 67108864 + data = length 640, hash F664125B + sample 20: + time = 700700 + flags = 67108864 + data = length 491, hash B5930C7C + sample 21: + time = 867533 + flags = 0 + data = length 2989, hash 92CF4FCF + sample 22: + time = 800800 + flags = 0 + data = length 838, hash 294A3451 + sample 23: + time = 767433 + flags = 67108864 + data = length 544, hash FCCE2DE6 + sample 24: + time = 834166 + flags = 67108864 + data = length 329, hash A654FFA1 + sample 25: + time = 1001000 + flags = 0 + data = length 1517, hash 5F7EBF8B + sample 26: + time = 934266 + flags = 0 + data = length 803, hash 7A5C4C1D + sample 27: + time = 900900 + flags = 67108864 + data = length 415, hash B31BBC3B + sample 28: + time = 967633 + flags = 67108864 + data = length 415, hash 850DFEA3 + sample 29: + time = 1034366 + flags = 0 + data = length 619, hash AB5E56CA +track 1: + total output bytes = 18257 + sample count = 46 + format 0: + averageBitrate = 2147483647 + peakBitrate = 2147483647 + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + channelCount = 1 + sampleRate = 44100 + language = und + initializationData: + data = length 5, hash 2B7623A + sample 0: + time = 0 + flags = 1 + data = length 18, hash 96519432 + sample 1: + time = 23219 + flags = 1 + data = length 4, hash EE9DF + sample 2: + time = 46439 + flags = 1 + data = length 4, hash EEDBF + sample 3: + time = 69659 + flags = 1 + data = length 157, hash E2F078F4 + sample 4: + time = 92879 + flags = 1 + data = length 371, hash B9471F94 + sample 5: + time = 116099 + flags = 1 + data = length 373, hash 2AB265CB + sample 6: + time = 139319 + flags = 1 + data = length 402, hash 1295477C + sample 7: + time = 162539 + flags = 1 + data = length 455, hash 2D8146C8 + sample 8: + time = 185759 + flags = 1 + data = length 434, hash F2C5D287 + sample 9: + time = 208979 + flags = 1 + data = length 450, hash 84143FCD + sample 10: + time = 232199 + flags = 1 + data = length 429, hash EF769D50 + sample 11: + time = 255419 + flags = 1 + data = length 450, hash EC3DE692 + sample 12: + time = 278639 + flags = 1 + data = length 447, hash 3E519E13 + sample 13: + time = 301859 + flags = 1 + data = length 457, hash 1E4F23A0 + sample 14: + time = 325079 + flags = 1 + data = length 447, hash A439EA97 + sample 15: + time = 348299 + flags = 1 + data = length 456, hash 1E9034C6 + sample 16: + time = 371519 + flags = 1 + data = length 398, hash 99DB7345 + sample 17: + time = 394739 + flags = 1 + data = length 474, hash 3F05F10A + sample 18: + time = 417959 + flags = 1 + data = length 416, hash C105EE09 + sample 19: + time = 441179 + flags = 1 + data = length 454, hash 5FDBE458 + sample 20: + time = 464399 + flags = 1 + data = length 438, hash 41A93AC3 + sample 21: + time = 487619 + flags = 1 + data = length 443, hash 10FDA652 + sample 22: + time = 510839 + flags = 1 + data = length 412, hash 1F791E25 + sample 23: + time = 534058 + flags = 1 + data = length 482, hash A6D983D + sample 24: + time = 557278 + flags = 1 + data = length 386, hash BED7392F + sample 25: + time = 580498 + flags = 1 + data = length 463, hash 5309F8C9 + sample 26: + time = 603718 + flags = 1 + data = length 394, hash 21C7321F + sample 27: + time = 626938 + flags = 1 + data = length 489, hash 71B4730D + sample 28: + time = 650158 + flags = 1 + data = length 403, hash D9C6DE89 + sample 29: + time = 673378 + flags = 1 + data = length 447, hash 9B14B73B + sample 30: + time = 696598 + flags = 1 + data = length 439, hash 4760D35B + sample 31: + time = 719818 + flags = 1 + data = length 463, hash 1601F88D + sample 32: + time = 743038 + flags = 1 + data = length 423, hash D4AE6773 + sample 33: + time = 766258 + flags = 1 + data = length 497, hash A3C674D3 + sample 34: + time = 789478 + flags = 1 + data = length 419, hash D3734A1F + sample 35: + time = 812698 + flags = 1 + data = length 474, hash DFB41F9 + sample 36: + time = 835918 + flags = 1 + data = length 413, hash 53E7CB9F + sample 37: + time = 859138 + flags = 1 + data = length 445, hash D15B0E39 + sample 38: + time = 882358 + flags = 1 + data = length 453, hash 77ED81E4 + sample 39: + time = 905578 + flags = 1 + data = length 545, hash 3321AEB9 + sample 40: + time = 928798 + flags = 1 + data = length 317, hash F557D0E + sample 41: + time = 952018 + flags = 1 + data = length 537, hash ED58CF7B + sample 42: + time = 975238 + flags = 1 + data = length 458, hash 51CDAA10 + sample 43: + time = 998458 + flags = 1 + data = length 465, hash CBA1EFD7 + sample 44: + time = 1021678 + flags = 1 + data = length 446, hash D6735B8A + sample 45: + time = 1044897 + flags = 1 + data = length 10, hash A453EEBE +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.reading_within_gop_sample_dependencies.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.reading_within_gop_sample_dependencies.1.dump new file mode 100644 index 0000000000..de030671cf --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.reading_within_gop_sample_dependencies.1.dump @@ -0,0 +1,283 @@ +seekMap: + isSeekable = true + duration = 1067733 + getPosition(0) = [[timeUs=66733, position=1325]] + getPosition(1) = [[timeUs=66733, position=1325]] + getPosition(533866) = [[timeUs=66733, position=1325]] + getPosition(1067733) = [[timeUs=66733, position=1325]] +numberOfTracks = 2 +track 0: + total output bytes = 85933 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.64001F + maxNumReorderSamples = 2 + width = 1080 + height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 + initializationData: + data = length 29, hash 4746B5D9 + data = length 10, hash 7A0D0F2B + sample 0: + time = 66733 + flags = 1 + data = length 38070, hash B58E1AEE + sample 1: + time = 200200 + flags = 0 + data = length 8340, hash 8AC449FF + sample 2: + time = 133466 + flags = 0 + data = length 1295, hash C0DA5090 + sample 3: + time = 100100 + flags = 67108864 + data = length 469, hash D6E0A200 + sample 4: + time = 166833 + flags = 67108864 + data = length 564, hash E5F56C5B + sample 5: + time = 333666 + flags = 0 + data = length 6075, hash 8756E49E + sample 6: + time = 266933 + flags = 0 + data = length 847, hash DCC2B618 + sample 7: + time = 233566 + flags = 67108864 + data = length 455, hash B9CCE047 + sample 8: + time = 300300 + flags = 67108864 + data = length 467, hash 69806D94 + sample 9: + time = 467133 + flags = 0 + data = length 4549, hash 3944F501 + sample 10: + time = 400400 + flags = 0 + data = length 1087, hash 491BF106 + sample 11: + time = 367033 + flags = 67108864 + data = length 380, hash 5FED016A + sample 12: + time = 433766 + flags = 67108864 + data = length 455, hash 8A0610 + sample 13: + time = 600600 + flags = 0 + data = length 5190, hash B9031D8 + sample 14: + time = 533866 + flags = 0 + data = length 1071, hash 684E7DC8 + sample 15: + time = 500500 + flags = 67108864 + data = length 653, hash 8494F326 + sample 16: + time = 567233 + flags = 67108864 + data = length 485, hash 2CCC85F4 + sample 17: + time = 734066 + flags = 0 + data = length 4884, hash D16B6A96 + sample 18: + time = 667333 + flags = 0 + data = length 997, hash 164FF210 + sample 19: + time = 633966 + flags = 67108864 + data = length 640, hash F664125B + sample 20: + time = 700700 + flags = 67108864 + data = length 491, hash B5930C7C + sample 21: + time = 867533 + flags = 0 + data = length 2989, hash 92CF4FCF + sample 22: + time = 800800 + flags = 0 + data = length 838, hash 294A3451 + sample 23: + time = 767433 + flags = 67108864 + data = length 544, hash FCCE2DE6 + sample 24: + time = 834166 + flags = 67108864 + data = length 329, hash A654FFA1 + sample 25: + time = 1001000 + flags = 0 + data = length 1517, hash 5F7EBF8B + sample 26: + time = 934266 + flags = 0 + data = length 803, hash 7A5C4C1D + sample 27: + time = 900900 + flags = 67108864 + data = length 415, hash B31BBC3B + sample 28: + time = 967633 + flags = 67108864 + data = length 415, hash 850DFEA3 + sample 29: + time = 1034366 + flags = 0 + data = length 619, hash AB5E56CA +track 1: + total output bytes = 13359 + sample count = 31 + format 0: + averageBitrate = 2147483647 + peakBitrate = 2147483647 + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + channelCount = 1 + sampleRate = 44100 + language = und + initializationData: + data = length 5, hash 2B7623A + sample 0: + time = 348299 + flags = 1 + data = length 456, hash 1E9034C6 + sample 1: + time = 371519 + flags = 1 + data = length 398, hash 99DB7345 + sample 2: + time = 394739 + flags = 1 + data = length 474, hash 3F05F10A + sample 3: + time = 417959 + flags = 1 + data = length 416, hash C105EE09 + sample 4: + time = 441179 + flags = 1 + data = length 454, hash 5FDBE458 + sample 5: + time = 464399 + flags = 1 + data = length 438, hash 41A93AC3 + sample 6: + time = 487619 + flags = 1 + data = length 443, hash 10FDA652 + sample 7: + time = 510839 + flags = 1 + data = length 412, hash 1F791E25 + sample 8: + time = 534058 + flags = 1 + data = length 482, hash A6D983D + sample 9: + time = 557278 + flags = 1 + data = length 386, hash BED7392F + sample 10: + time = 580498 + flags = 1 + data = length 463, hash 5309F8C9 + sample 11: + time = 603718 + flags = 1 + data = length 394, hash 21C7321F + sample 12: + time = 626938 + flags = 1 + data = length 489, hash 71B4730D + sample 13: + time = 650158 + flags = 1 + data = length 403, hash D9C6DE89 + sample 14: + time = 673378 + flags = 1 + data = length 447, hash 9B14B73B + sample 15: + time = 696598 + flags = 1 + data = length 439, hash 4760D35B + sample 16: + time = 719818 + flags = 1 + data = length 463, hash 1601F88D + sample 17: + time = 743038 + flags = 1 + data = length 423, hash D4AE6773 + sample 18: + time = 766258 + flags = 1 + data = length 497, hash A3C674D3 + sample 19: + time = 789478 + flags = 1 + data = length 419, hash D3734A1F + sample 20: + time = 812698 + flags = 1 + data = length 474, hash DFB41F9 + sample 21: + time = 835918 + flags = 1 + data = length 413, hash 53E7CB9F + sample 22: + time = 859138 + flags = 1 + data = length 445, hash D15B0E39 + sample 23: + time = 882358 + flags = 1 + data = length 453, hash 77ED81E4 + sample 24: + time = 905578 + flags = 1 + data = length 545, hash 3321AEB9 + sample 25: + time = 928798 + flags = 1 + data = length 317, hash F557D0E + sample 26: + time = 952018 + flags = 1 + data = length 537, hash ED58CF7B + sample 27: + time = 975238 + flags = 1 + data = length 458, hash 51CDAA10 + sample 28: + time = 998458 + flags = 1 + data = length 465, hash CBA1EFD7 + sample 29: + time = 1021678 + flags = 1 + data = length 446, hash D6735B8A + sample 30: + time = 1044897 + flags = 1 + data = length 10, hash A453EEBE +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.reading_within_gop_sample_dependencies.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.reading_within_gop_sample_dependencies.2.dump new file mode 100644 index 0000000000..f55e9b9bf3 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.reading_within_gop_sample_dependencies.2.dump @@ -0,0 +1,223 @@ +seekMap: + isSeekable = true + duration = 1067733 + getPosition(0) = [[timeUs=66733, position=1325]] + getPosition(1) = [[timeUs=66733, position=1325]] + getPosition(533866) = [[timeUs=66733, position=1325]] + getPosition(1067733) = [[timeUs=66733, position=1325]] +numberOfTracks = 2 +track 0: + total output bytes = 85933 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.64001F + maxNumReorderSamples = 2 + width = 1080 + height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 + initializationData: + data = length 29, hash 4746B5D9 + data = length 10, hash 7A0D0F2B + sample 0: + time = 66733 + flags = 1 + data = length 38070, hash B58E1AEE + sample 1: + time = 200200 + flags = 0 + data = length 8340, hash 8AC449FF + sample 2: + time = 133466 + flags = 0 + data = length 1295, hash C0DA5090 + sample 3: + time = 100100 + flags = 67108864 + data = length 469, hash D6E0A200 + sample 4: + time = 166833 + flags = 67108864 + data = length 564, hash E5F56C5B + sample 5: + time = 333666 + flags = 0 + data = length 6075, hash 8756E49E + sample 6: + time = 266933 + flags = 0 + data = length 847, hash DCC2B618 + sample 7: + time = 233566 + flags = 67108864 + data = length 455, hash B9CCE047 + sample 8: + time = 300300 + flags = 67108864 + data = length 467, hash 69806D94 + sample 9: + time = 467133 + flags = 0 + data = length 4549, hash 3944F501 + sample 10: + time = 400400 + flags = 0 + data = length 1087, hash 491BF106 + sample 11: + time = 367033 + flags = 67108864 + data = length 380, hash 5FED016A + sample 12: + time = 433766 + flags = 67108864 + data = length 455, hash 8A0610 + sample 13: + time = 600600 + flags = 0 + data = length 5190, hash B9031D8 + sample 14: + time = 533866 + flags = 0 + data = length 1071, hash 684E7DC8 + sample 15: + time = 500500 + flags = 67108864 + data = length 653, hash 8494F326 + sample 16: + time = 567233 + flags = 67108864 + data = length 485, hash 2CCC85F4 + sample 17: + time = 734066 + flags = 0 + data = length 4884, hash D16B6A96 + sample 18: + time = 667333 + flags = 0 + data = length 997, hash 164FF210 + sample 19: + time = 633966 + flags = 67108864 + data = length 640, hash F664125B + sample 20: + time = 700700 + flags = 67108864 + data = length 491, hash B5930C7C + sample 21: + time = 867533 + flags = 0 + data = length 2989, hash 92CF4FCF + sample 22: + time = 800800 + flags = 0 + data = length 838, hash 294A3451 + sample 23: + time = 767433 + flags = 67108864 + data = length 544, hash FCCE2DE6 + sample 24: + time = 834166 + flags = 67108864 + data = length 329, hash A654FFA1 + sample 25: + time = 1001000 + flags = 0 + data = length 1517, hash 5F7EBF8B + sample 26: + time = 934266 + flags = 0 + data = length 803, hash 7A5C4C1D + sample 27: + time = 900900 + flags = 67108864 + data = length 415, hash B31BBC3B + sample 28: + time = 967633 + flags = 67108864 + data = length 415, hash 850DFEA3 + sample 29: + time = 1034366 + flags = 0 + data = length 619, hash AB5E56CA +track 1: + total output bytes = 6804 + sample count = 16 + format 0: + averageBitrate = 2147483647 + peakBitrate = 2147483647 + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + channelCount = 1 + sampleRate = 44100 + language = und + initializationData: + data = length 5, hash 2B7623A + sample 0: + time = 696598 + flags = 1 + data = length 439, hash 4760D35B + sample 1: + time = 719818 + flags = 1 + data = length 463, hash 1601F88D + sample 2: + time = 743038 + flags = 1 + data = length 423, hash D4AE6773 + sample 3: + time = 766258 + flags = 1 + data = length 497, hash A3C674D3 + sample 4: + time = 789478 + flags = 1 + data = length 419, hash D3734A1F + sample 5: + time = 812698 + flags = 1 + data = length 474, hash DFB41F9 + sample 6: + time = 835918 + flags = 1 + data = length 413, hash 53E7CB9F + sample 7: + time = 859138 + flags = 1 + data = length 445, hash D15B0E39 + sample 8: + time = 882358 + flags = 1 + data = length 453, hash 77ED81E4 + sample 9: + time = 905578 + flags = 1 + data = length 545, hash 3321AEB9 + sample 10: + time = 928798 + flags = 1 + data = length 317, hash F557D0E + sample 11: + time = 952018 + flags = 1 + data = length 537, hash ED58CF7B + sample 12: + time = 975238 + flags = 1 + data = length 458, hash 51CDAA10 + sample 13: + time = 998458 + flags = 1 + data = length 465, hash CBA1EFD7 + sample 14: + time = 1021678 + flags = 1 + data = length 446, hash D6735B8A + sample 15: + time = 1044897 + flags = 1 + data = length 10, hash A453EEBE +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.reading_within_gop_sample_dependencies.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.reading_within_gop_sample_dependencies.3.dump new file mode 100644 index 0000000000..7d9b45b2c7 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.reading_within_gop_sample_dependencies.3.dump @@ -0,0 +1,163 @@ +seekMap: + isSeekable = true + duration = 1067733 + getPosition(0) = [[timeUs=66733, position=1325]] + getPosition(1) = [[timeUs=66733, position=1325]] + getPosition(533866) = [[timeUs=66733, position=1325]] + getPosition(1067733) = [[timeUs=66733, position=1325]] +numberOfTracks = 2 +track 0: + total output bytes = 85933 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.64001F + maxNumReorderSamples = 2 + width = 1080 + height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 + initializationData: + data = length 29, hash 4746B5D9 + data = length 10, hash 7A0D0F2B + sample 0: + time = 66733 + flags = 1 + data = length 38070, hash B58E1AEE + sample 1: + time = 200200 + flags = 0 + data = length 8340, hash 8AC449FF + sample 2: + time = 133466 + flags = 0 + data = length 1295, hash C0DA5090 + sample 3: + time = 100100 + flags = 67108864 + data = length 469, hash D6E0A200 + sample 4: + time = 166833 + flags = 67108864 + data = length 564, hash E5F56C5B + sample 5: + time = 333666 + flags = 0 + data = length 6075, hash 8756E49E + sample 6: + time = 266933 + flags = 0 + data = length 847, hash DCC2B618 + sample 7: + time = 233566 + flags = 67108864 + data = length 455, hash B9CCE047 + sample 8: + time = 300300 + flags = 67108864 + data = length 467, hash 69806D94 + sample 9: + time = 467133 + flags = 0 + data = length 4549, hash 3944F501 + sample 10: + time = 400400 + flags = 0 + data = length 1087, hash 491BF106 + sample 11: + time = 367033 + flags = 67108864 + data = length 380, hash 5FED016A + sample 12: + time = 433766 + flags = 67108864 + data = length 455, hash 8A0610 + sample 13: + time = 600600 + flags = 0 + data = length 5190, hash B9031D8 + sample 14: + time = 533866 + flags = 0 + data = length 1071, hash 684E7DC8 + sample 15: + time = 500500 + flags = 67108864 + data = length 653, hash 8494F326 + sample 16: + time = 567233 + flags = 67108864 + data = length 485, hash 2CCC85F4 + sample 17: + time = 734066 + flags = 0 + data = length 4884, hash D16B6A96 + sample 18: + time = 667333 + flags = 0 + data = length 997, hash 164FF210 + sample 19: + time = 633966 + flags = 67108864 + data = length 640, hash F664125B + sample 20: + time = 700700 + flags = 67108864 + data = length 491, hash B5930C7C + sample 21: + time = 867533 + flags = 0 + data = length 2989, hash 92CF4FCF + sample 22: + time = 800800 + flags = 0 + data = length 838, hash 294A3451 + sample 23: + time = 767433 + flags = 67108864 + data = length 544, hash FCCE2DE6 + sample 24: + time = 834166 + flags = 67108864 + data = length 329, hash A654FFA1 + sample 25: + time = 1001000 + flags = 0 + data = length 1517, hash 5F7EBF8B + sample 26: + time = 934266 + flags = 0 + data = length 803, hash 7A5C4C1D + sample 27: + time = 900900 + flags = 67108864 + data = length 415, hash B31BBC3B + sample 28: + time = 967633 + flags = 67108864 + data = length 415, hash 850DFEA3 + sample 29: + time = 1034366 + flags = 0 + data = length 619, hash AB5E56CA +track 1: + total output bytes = 10 + sample count = 1 + format 0: + averageBitrate = 2147483647 + peakBitrate = 2147483647 + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + channelCount = 1 + sampleRate = 44100 + language = und + initializationData: + data = length 5, hash 2B7623A + sample 0: + time = 1044897 + flags = 1 + data = length 10, hash A453EEBE +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.reading_within_gop_sample_dependencies.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.reading_within_gop_sample_dependencies.unknown_length.dump new file mode 100644 index 0000000000..d6e5768056 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.reading_within_gop_sample_dependencies.unknown_length.dump @@ -0,0 +1,343 @@ +seekMap: + isSeekable = true + duration = 1067733 + getPosition(0) = [[timeUs=66733, position=1325]] + getPosition(1) = [[timeUs=66733, position=1325]] + getPosition(533866) = [[timeUs=66733, position=1325]] + getPosition(1067733) = [[timeUs=66733, position=1325]] +numberOfTracks = 2 +track 0: + total output bytes = 85933 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.64001F + maxNumReorderSamples = 2 + width = 1080 + height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 + initializationData: + data = length 29, hash 4746B5D9 + data = length 10, hash 7A0D0F2B + sample 0: + time = 66733 + flags = 1 + data = length 38070, hash B58E1AEE + sample 1: + time = 200200 + flags = 0 + data = length 8340, hash 8AC449FF + sample 2: + time = 133466 + flags = 0 + data = length 1295, hash C0DA5090 + sample 3: + time = 100100 + flags = 67108864 + data = length 469, hash D6E0A200 + sample 4: + time = 166833 + flags = 67108864 + data = length 564, hash E5F56C5B + sample 5: + time = 333666 + flags = 0 + data = length 6075, hash 8756E49E + sample 6: + time = 266933 + flags = 0 + data = length 847, hash DCC2B618 + sample 7: + time = 233566 + flags = 67108864 + data = length 455, hash B9CCE047 + sample 8: + time = 300300 + flags = 67108864 + data = length 467, hash 69806D94 + sample 9: + time = 467133 + flags = 0 + data = length 4549, hash 3944F501 + sample 10: + time = 400400 + flags = 0 + data = length 1087, hash 491BF106 + sample 11: + time = 367033 + flags = 67108864 + data = length 380, hash 5FED016A + sample 12: + time = 433766 + flags = 67108864 + data = length 455, hash 8A0610 + sample 13: + time = 600600 + flags = 0 + data = length 5190, hash B9031D8 + sample 14: + time = 533866 + flags = 0 + data = length 1071, hash 684E7DC8 + sample 15: + time = 500500 + flags = 67108864 + data = length 653, hash 8494F326 + sample 16: + time = 567233 + flags = 67108864 + data = length 485, hash 2CCC85F4 + sample 17: + time = 734066 + flags = 0 + data = length 4884, hash D16B6A96 + sample 18: + time = 667333 + flags = 0 + data = length 997, hash 164FF210 + sample 19: + time = 633966 + flags = 67108864 + data = length 640, hash F664125B + sample 20: + time = 700700 + flags = 67108864 + data = length 491, hash B5930C7C + sample 21: + time = 867533 + flags = 0 + data = length 2989, hash 92CF4FCF + sample 22: + time = 800800 + flags = 0 + data = length 838, hash 294A3451 + sample 23: + time = 767433 + flags = 67108864 + data = length 544, hash FCCE2DE6 + sample 24: + time = 834166 + flags = 67108864 + data = length 329, hash A654FFA1 + sample 25: + time = 1001000 + flags = 0 + data = length 1517, hash 5F7EBF8B + sample 26: + time = 934266 + flags = 0 + data = length 803, hash 7A5C4C1D + sample 27: + time = 900900 + flags = 67108864 + data = length 415, hash B31BBC3B + sample 28: + time = 967633 + flags = 67108864 + data = length 415, hash 850DFEA3 + sample 29: + time = 1034366 + flags = 0 + data = length 619, hash AB5E56CA +track 1: + total output bytes = 18257 + sample count = 46 + format 0: + averageBitrate = 2147483647 + peakBitrate = 2147483647 + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + channelCount = 1 + sampleRate = 44100 + language = und + initializationData: + data = length 5, hash 2B7623A + sample 0: + time = 0 + flags = 1 + data = length 18, hash 96519432 + sample 1: + time = 23219 + flags = 1 + data = length 4, hash EE9DF + sample 2: + time = 46439 + flags = 1 + data = length 4, hash EEDBF + sample 3: + time = 69659 + flags = 1 + data = length 157, hash E2F078F4 + sample 4: + time = 92879 + flags = 1 + data = length 371, hash B9471F94 + sample 5: + time = 116099 + flags = 1 + data = length 373, hash 2AB265CB + sample 6: + time = 139319 + flags = 1 + data = length 402, hash 1295477C + sample 7: + time = 162539 + flags = 1 + data = length 455, hash 2D8146C8 + sample 8: + time = 185759 + flags = 1 + data = length 434, hash F2C5D287 + sample 9: + time = 208979 + flags = 1 + data = length 450, hash 84143FCD + sample 10: + time = 232199 + flags = 1 + data = length 429, hash EF769D50 + sample 11: + time = 255419 + flags = 1 + data = length 450, hash EC3DE692 + sample 12: + time = 278639 + flags = 1 + data = length 447, hash 3E519E13 + sample 13: + time = 301859 + flags = 1 + data = length 457, hash 1E4F23A0 + sample 14: + time = 325079 + flags = 1 + data = length 447, hash A439EA97 + sample 15: + time = 348299 + flags = 1 + data = length 456, hash 1E9034C6 + sample 16: + time = 371519 + flags = 1 + data = length 398, hash 99DB7345 + sample 17: + time = 394739 + flags = 1 + data = length 474, hash 3F05F10A + sample 18: + time = 417959 + flags = 1 + data = length 416, hash C105EE09 + sample 19: + time = 441179 + flags = 1 + data = length 454, hash 5FDBE458 + sample 20: + time = 464399 + flags = 1 + data = length 438, hash 41A93AC3 + sample 21: + time = 487619 + flags = 1 + data = length 443, hash 10FDA652 + sample 22: + time = 510839 + flags = 1 + data = length 412, hash 1F791E25 + sample 23: + time = 534058 + flags = 1 + data = length 482, hash A6D983D + sample 24: + time = 557278 + flags = 1 + data = length 386, hash BED7392F + sample 25: + time = 580498 + flags = 1 + data = length 463, hash 5309F8C9 + sample 26: + time = 603718 + flags = 1 + data = length 394, hash 21C7321F + sample 27: + time = 626938 + flags = 1 + data = length 489, hash 71B4730D + sample 28: + time = 650158 + flags = 1 + data = length 403, hash D9C6DE89 + sample 29: + time = 673378 + flags = 1 + data = length 447, hash 9B14B73B + sample 30: + time = 696598 + flags = 1 + data = length 439, hash 4760D35B + sample 31: + time = 719818 + flags = 1 + data = length 463, hash 1601F88D + sample 32: + time = 743038 + flags = 1 + data = length 423, hash D4AE6773 + sample 33: + time = 766258 + flags = 1 + data = length 497, hash A3C674D3 + sample 34: + time = 789478 + flags = 1 + data = length 419, hash D3734A1F + sample 35: + time = 812698 + flags = 1 + data = length 474, hash DFB41F9 + sample 36: + time = 835918 + flags = 1 + data = length 413, hash 53E7CB9F + sample 37: + time = 859138 + flags = 1 + data = length 445, hash D15B0E39 + sample 38: + time = 882358 + flags = 1 + data = length 453, hash 77ED81E4 + sample 39: + time = 905578 + flags = 1 + data = length 545, hash 3321AEB9 + sample 40: + time = 928798 + flags = 1 + data = length 317, hash F557D0E + sample 41: + time = 952018 + flags = 1 + data = length 537, hash ED58CF7B + sample 42: + time = 975238 + flags = 1 + data = length 458, hash 51CDAA10 + sample 43: + time = 998458 + flags = 1 + data = length 465, hash CBA1EFD7 + sample 44: + time = 1021678 + flags = 1 + data = length 446, hash D6735B8A + sample 45: + time = 1044897 + flags = 1 + data = length 10, hash A453EEBE +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.reading_within_gop_sample_dependencies.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.reading_within_gop_sample_dependencies.0.dump new file mode 100644 index 0000000000..9fc225ebe9 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.reading_within_gop_sample_dependencies.0.dump @@ -0,0 +1,343 @@ +seekMap: + isSeekable = true + duration = 1067733 + getPosition(0) = [[timeUs=66733, position=1325]] + getPosition(1) = [[timeUs=66733, position=1325]] + getPosition(533866) = [[timeUs=66733, position=1325]] + getPosition(1067733) = [[timeUs=66733, position=1325]] +numberOfTracks = 2 +track 0: + total output bytes = 85933 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.64001F + maxNumReorderSamples = 2 + width = 1080 + height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 + initializationData: + data = length 29, hash 4746B5D9 + data = length 10, hash 7A0D0F2B + sample 0: + time = 66733 + flags = 1 + data = length 38070, hash B58E1AEE + sample 1: + time = 200200 + flags = 0 + data = length 8340, hash 8AC449FF + sample 2: + time = 133466 + flags = 0 + data = length 1295, hash C0DA5090 + sample 3: + time = 100100 + flags = 67108864 + data = length 469, hash D6E0A200 + sample 4: + time = 166833 + flags = 67108864 + data = length 564, hash E5F56C5B + sample 5: + time = 333666 + flags = 0 + data = length 6075, hash 8756E49E + sample 6: + time = 266933 + flags = 0 + data = length 847, hash DCC2B618 + sample 7: + time = 233566 + flags = 67108864 + data = length 455, hash B9CCE047 + sample 8: + time = 300300 + flags = 67108864 + data = length 467, hash 69806D94 + sample 9: + time = 467133 + flags = 0 + data = length 4549, hash 3944F501 + sample 10: + time = 400400 + flags = 0 + data = length 1087, hash 491BF106 + sample 11: + time = 367033 + flags = 67108864 + data = length 380, hash 5FED016A + sample 12: + time = 433766 + flags = 67108864 + data = length 455, hash 8A0610 + sample 13: + time = 600600 + flags = 0 + data = length 5190, hash B9031D8 + sample 14: + time = 533866 + flags = 0 + data = length 1071, hash 684E7DC8 + sample 15: + time = 500500 + flags = 67108864 + data = length 653, hash 8494F326 + sample 16: + time = 567233 + flags = 67108864 + data = length 485, hash 2CCC85F4 + sample 17: + time = 734066 + flags = 0 + data = length 4884, hash D16B6A96 + sample 18: + time = 667333 + flags = 0 + data = length 997, hash 164FF210 + sample 19: + time = 633966 + flags = 67108864 + data = length 640, hash F664125B + sample 20: + time = 700700 + flags = 67108864 + data = length 491, hash B5930C7C + sample 21: + time = 867533 + flags = 0 + data = length 2989, hash 92CF4FCF + sample 22: + time = 800800 + flags = 0 + data = length 838, hash 294A3451 + sample 23: + time = 767433 + flags = 67108864 + data = length 544, hash FCCE2DE6 + sample 24: + time = 834166 + flags = 67108864 + data = length 329, hash A654FFA1 + sample 25: + time = 1001000 + flags = 0 + data = length 1517, hash 5F7EBF8B + sample 26: + time = 934266 + flags = 0 + data = length 803, hash 7A5C4C1D + sample 27: + time = 900900 + flags = 67108864 + data = length 415, hash B31BBC3B + sample 28: + time = 967633 + flags = 67108864 + data = length 415, hash 850DFEA3 + sample 29: + time = 1034366 + flags = 0 + data = length 619, hash AB5E56CA +track 1: + total output bytes = 18257 + sample count = 46 + format 0: + averageBitrate = 136736 + peakBitrate = 145976 + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + channelCount = 1 + sampleRate = 44100 + language = und + initializationData: + data = length 5, hash 2B7623A + sample 0: + time = 0 + flags = 1 + data = length 18, hash 96519432 + sample 1: + time = 23219 + flags = 1 + data = length 4, hash EE9DF + sample 2: + time = 46439 + flags = 1 + data = length 4, hash EEDBF + sample 3: + time = 69659 + flags = 1 + data = length 157, hash E2F078F4 + sample 4: + time = 92879 + flags = 1 + data = length 371, hash B9471F94 + sample 5: + time = 116099 + flags = 1 + data = length 373, hash 2AB265CB + sample 6: + time = 139319 + flags = 1 + data = length 402, hash 1295477C + sample 7: + time = 162539 + flags = 1 + data = length 455, hash 2D8146C8 + sample 8: + time = 185759 + flags = 1 + data = length 434, hash F2C5D287 + sample 9: + time = 208979 + flags = 1 + data = length 450, hash 84143FCD + sample 10: + time = 232199 + flags = 1 + data = length 429, hash EF769D50 + sample 11: + time = 255419 + flags = 1 + data = length 450, hash EC3DE692 + sample 12: + time = 278639 + flags = 1 + data = length 447, hash 3E519E13 + sample 13: + time = 301859 + flags = 1 + data = length 457, hash 1E4F23A0 + sample 14: + time = 325079 + flags = 1 + data = length 447, hash A439EA97 + sample 15: + time = 348299 + flags = 1 + data = length 456, hash 1E9034C6 + sample 16: + time = 371519 + flags = 1 + data = length 398, hash 99DB7345 + sample 17: + time = 394739 + flags = 1 + data = length 474, hash 3F05F10A + sample 18: + time = 417959 + flags = 1 + data = length 416, hash C105EE09 + sample 19: + time = 441179 + flags = 1 + data = length 454, hash 5FDBE458 + sample 20: + time = 464399 + flags = 1 + data = length 438, hash 41A93AC3 + sample 21: + time = 487619 + flags = 1 + data = length 443, hash 10FDA652 + sample 22: + time = 510839 + flags = 1 + data = length 412, hash 1F791E25 + sample 23: + time = 534058 + flags = 1 + data = length 482, hash A6D983D + sample 24: + time = 557278 + flags = 1 + data = length 386, hash BED7392F + sample 25: + time = 580498 + flags = 1 + data = length 463, hash 5309F8C9 + sample 26: + time = 603718 + flags = 1 + data = length 394, hash 21C7321F + sample 27: + time = 626938 + flags = 1 + data = length 489, hash 71B4730D + sample 28: + time = 650158 + flags = 1 + data = length 403, hash D9C6DE89 + sample 29: + time = 673378 + flags = 1 + data = length 447, hash 9B14B73B + sample 30: + time = 696598 + flags = 1 + data = length 439, hash 4760D35B + sample 31: + time = 719818 + flags = 1 + data = length 463, hash 1601F88D + sample 32: + time = 743038 + flags = 1 + data = length 423, hash D4AE6773 + sample 33: + time = 766258 + flags = 1 + data = length 497, hash A3C674D3 + sample 34: + time = 789478 + flags = 1 + data = length 419, hash D3734A1F + sample 35: + time = 812698 + flags = 1 + data = length 474, hash DFB41F9 + sample 36: + time = 835918 + flags = 1 + data = length 413, hash 53E7CB9F + sample 37: + time = 859138 + flags = 1 + data = length 445, hash D15B0E39 + sample 38: + time = 882358 + flags = 1 + data = length 453, hash 77ED81E4 + sample 39: + time = 905578 + flags = 1 + data = length 545, hash 3321AEB9 + sample 40: + time = 928798 + flags = 1 + data = length 317, hash F557D0E + sample 41: + time = 952018 + flags = 1 + data = length 537, hash ED58CF7B + sample 42: + time = 975238 + flags = 1 + data = length 458, hash 51CDAA10 + sample 43: + time = 998458 + flags = 1 + data = length 465, hash CBA1EFD7 + sample 44: + time = 1021678 + flags = 1 + data = length 446, hash D6735B8A + sample 45: + time = 1044897 + flags = 1 + data = length 10, hash A453EEBE +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.reading_within_gop_sample_dependencies.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.reading_within_gop_sample_dependencies.1.dump new file mode 100644 index 0000000000..52cf1812db --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.reading_within_gop_sample_dependencies.1.dump @@ -0,0 +1,283 @@ +seekMap: + isSeekable = true + duration = 1067733 + getPosition(0) = [[timeUs=66733, position=1325]] + getPosition(1) = [[timeUs=66733, position=1325]] + getPosition(533866) = [[timeUs=66733, position=1325]] + getPosition(1067733) = [[timeUs=66733, position=1325]] +numberOfTracks = 2 +track 0: + total output bytes = 85933 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.64001F + maxNumReorderSamples = 2 + width = 1080 + height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 + initializationData: + data = length 29, hash 4746B5D9 + data = length 10, hash 7A0D0F2B + sample 0: + time = 66733 + flags = 1 + data = length 38070, hash B58E1AEE + sample 1: + time = 200200 + flags = 0 + data = length 8340, hash 8AC449FF + sample 2: + time = 133466 + flags = 0 + data = length 1295, hash C0DA5090 + sample 3: + time = 100100 + flags = 67108864 + data = length 469, hash D6E0A200 + sample 4: + time = 166833 + flags = 67108864 + data = length 564, hash E5F56C5B + sample 5: + time = 333666 + flags = 0 + data = length 6075, hash 8756E49E + sample 6: + time = 266933 + flags = 0 + data = length 847, hash DCC2B618 + sample 7: + time = 233566 + flags = 67108864 + data = length 455, hash B9CCE047 + sample 8: + time = 300300 + flags = 67108864 + data = length 467, hash 69806D94 + sample 9: + time = 467133 + flags = 0 + data = length 4549, hash 3944F501 + sample 10: + time = 400400 + flags = 0 + data = length 1087, hash 491BF106 + sample 11: + time = 367033 + flags = 67108864 + data = length 380, hash 5FED016A + sample 12: + time = 433766 + flags = 67108864 + data = length 455, hash 8A0610 + sample 13: + time = 600600 + flags = 0 + data = length 5190, hash B9031D8 + sample 14: + time = 533866 + flags = 0 + data = length 1071, hash 684E7DC8 + sample 15: + time = 500500 + flags = 67108864 + data = length 653, hash 8494F326 + sample 16: + time = 567233 + flags = 67108864 + data = length 485, hash 2CCC85F4 + sample 17: + time = 734066 + flags = 0 + data = length 4884, hash D16B6A96 + sample 18: + time = 667333 + flags = 0 + data = length 997, hash 164FF210 + sample 19: + time = 633966 + flags = 67108864 + data = length 640, hash F664125B + sample 20: + time = 700700 + flags = 67108864 + data = length 491, hash B5930C7C + sample 21: + time = 867533 + flags = 0 + data = length 2989, hash 92CF4FCF + sample 22: + time = 800800 + flags = 0 + data = length 838, hash 294A3451 + sample 23: + time = 767433 + flags = 67108864 + data = length 544, hash FCCE2DE6 + sample 24: + time = 834166 + flags = 67108864 + data = length 329, hash A654FFA1 + sample 25: + time = 1001000 + flags = 0 + data = length 1517, hash 5F7EBF8B + sample 26: + time = 934266 + flags = 0 + data = length 803, hash 7A5C4C1D + sample 27: + time = 900900 + flags = 67108864 + data = length 415, hash B31BBC3B + sample 28: + time = 967633 + flags = 67108864 + data = length 415, hash 850DFEA3 + sample 29: + time = 1034366 + flags = 0 + data = length 619, hash AB5E56CA +track 1: + total output bytes = 13359 + sample count = 31 + format 0: + averageBitrate = 136736 + peakBitrate = 145976 + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + channelCount = 1 + sampleRate = 44100 + language = und + initializationData: + data = length 5, hash 2B7623A + sample 0: + time = 348299 + flags = 1 + data = length 456, hash 1E9034C6 + sample 1: + time = 371519 + flags = 1 + data = length 398, hash 99DB7345 + sample 2: + time = 394739 + flags = 1 + data = length 474, hash 3F05F10A + sample 3: + time = 417959 + flags = 1 + data = length 416, hash C105EE09 + sample 4: + time = 441179 + flags = 1 + data = length 454, hash 5FDBE458 + sample 5: + time = 464399 + flags = 1 + data = length 438, hash 41A93AC3 + sample 6: + time = 487619 + flags = 1 + data = length 443, hash 10FDA652 + sample 7: + time = 510839 + flags = 1 + data = length 412, hash 1F791E25 + sample 8: + time = 534058 + flags = 1 + data = length 482, hash A6D983D + sample 9: + time = 557278 + flags = 1 + data = length 386, hash BED7392F + sample 10: + time = 580498 + flags = 1 + data = length 463, hash 5309F8C9 + sample 11: + time = 603718 + flags = 1 + data = length 394, hash 21C7321F + sample 12: + time = 626938 + flags = 1 + data = length 489, hash 71B4730D + sample 13: + time = 650158 + flags = 1 + data = length 403, hash D9C6DE89 + sample 14: + time = 673378 + flags = 1 + data = length 447, hash 9B14B73B + sample 15: + time = 696598 + flags = 1 + data = length 439, hash 4760D35B + sample 16: + time = 719818 + flags = 1 + data = length 463, hash 1601F88D + sample 17: + time = 743038 + flags = 1 + data = length 423, hash D4AE6773 + sample 18: + time = 766258 + flags = 1 + data = length 497, hash A3C674D3 + sample 19: + time = 789478 + flags = 1 + data = length 419, hash D3734A1F + sample 20: + time = 812698 + flags = 1 + data = length 474, hash DFB41F9 + sample 21: + time = 835918 + flags = 1 + data = length 413, hash 53E7CB9F + sample 22: + time = 859138 + flags = 1 + data = length 445, hash D15B0E39 + sample 23: + time = 882358 + flags = 1 + data = length 453, hash 77ED81E4 + sample 24: + time = 905578 + flags = 1 + data = length 545, hash 3321AEB9 + sample 25: + time = 928798 + flags = 1 + data = length 317, hash F557D0E + sample 26: + time = 952018 + flags = 1 + data = length 537, hash ED58CF7B + sample 27: + time = 975238 + flags = 1 + data = length 458, hash 51CDAA10 + sample 28: + time = 998458 + flags = 1 + data = length 465, hash CBA1EFD7 + sample 29: + time = 1021678 + flags = 1 + data = length 446, hash D6735B8A + sample 30: + time = 1044897 + flags = 1 + data = length 10, hash A453EEBE +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.reading_within_gop_sample_dependencies.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.reading_within_gop_sample_dependencies.2.dump new file mode 100644 index 0000000000..614a0d98fa --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.reading_within_gop_sample_dependencies.2.dump @@ -0,0 +1,223 @@ +seekMap: + isSeekable = true + duration = 1067733 + getPosition(0) = [[timeUs=66733, position=1325]] + getPosition(1) = [[timeUs=66733, position=1325]] + getPosition(533866) = [[timeUs=66733, position=1325]] + getPosition(1067733) = [[timeUs=66733, position=1325]] +numberOfTracks = 2 +track 0: + total output bytes = 85933 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.64001F + maxNumReorderSamples = 2 + width = 1080 + height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 + initializationData: + data = length 29, hash 4746B5D9 + data = length 10, hash 7A0D0F2B + sample 0: + time = 66733 + flags = 1 + data = length 38070, hash B58E1AEE + sample 1: + time = 200200 + flags = 0 + data = length 8340, hash 8AC449FF + sample 2: + time = 133466 + flags = 0 + data = length 1295, hash C0DA5090 + sample 3: + time = 100100 + flags = 67108864 + data = length 469, hash D6E0A200 + sample 4: + time = 166833 + flags = 67108864 + data = length 564, hash E5F56C5B + sample 5: + time = 333666 + flags = 0 + data = length 6075, hash 8756E49E + sample 6: + time = 266933 + flags = 0 + data = length 847, hash DCC2B618 + sample 7: + time = 233566 + flags = 67108864 + data = length 455, hash B9CCE047 + sample 8: + time = 300300 + flags = 67108864 + data = length 467, hash 69806D94 + sample 9: + time = 467133 + flags = 0 + data = length 4549, hash 3944F501 + sample 10: + time = 400400 + flags = 0 + data = length 1087, hash 491BF106 + sample 11: + time = 367033 + flags = 67108864 + data = length 380, hash 5FED016A + sample 12: + time = 433766 + flags = 67108864 + data = length 455, hash 8A0610 + sample 13: + time = 600600 + flags = 0 + data = length 5190, hash B9031D8 + sample 14: + time = 533866 + flags = 0 + data = length 1071, hash 684E7DC8 + sample 15: + time = 500500 + flags = 67108864 + data = length 653, hash 8494F326 + sample 16: + time = 567233 + flags = 67108864 + data = length 485, hash 2CCC85F4 + sample 17: + time = 734066 + flags = 0 + data = length 4884, hash D16B6A96 + sample 18: + time = 667333 + flags = 0 + data = length 997, hash 164FF210 + sample 19: + time = 633966 + flags = 67108864 + data = length 640, hash F664125B + sample 20: + time = 700700 + flags = 67108864 + data = length 491, hash B5930C7C + sample 21: + time = 867533 + flags = 0 + data = length 2989, hash 92CF4FCF + sample 22: + time = 800800 + flags = 0 + data = length 838, hash 294A3451 + sample 23: + time = 767433 + flags = 67108864 + data = length 544, hash FCCE2DE6 + sample 24: + time = 834166 + flags = 67108864 + data = length 329, hash A654FFA1 + sample 25: + time = 1001000 + flags = 0 + data = length 1517, hash 5F7EBF8B + sample 26: + time = 934266 + flags = 0 + data = length 803, hash 7A5C4C1D + sample 27: + time = 900900 + flags = 67108864 + data = length 415, hash B31BBC3B + sample 28: + time = 967633 + flags = 67108864 + data = length 415, hash 850DFEA3 + sample 29: + time = 1034366 + flags = 0 + data = length 619, hash AB5E56CA +track 1: + total output bytes = 6804 + sample count = 16 + format 0: + averageBitrate = 136736 + peakBitrate = 145976 + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + channelCount = 1 + sampleRate = 44100 + language = und + initializationData: + data = length 5, hash 2B7623A + sample 0: + time = 696598 + flags = 1 + data = length 439, hash 4760D35B + sample 1: + time = 719818 + flags = 1 + data = length 463, hash 1601F88D + sample 2: + time = 743038 + flags = 1 + data = length 423, hash D4AE6773 + sample 3: + time = 766258 + flags = 1 + data = length 497, hash A3C674D3 + sample 4: + time = 789478 + flags = 1 + data = length 419, hash D3734A1F + sample 5: + time = 812698 + flags = 1 + data = length 474, hash DFB41F9 + sample 6: + time = 835918 + flags = 1 + data = length 413, hash 53E7CB9F + sample 7: + time = 859138 + flags = 1 + data = length 445, hash D15B0E39 + sample 8: + time = 882358 + flags = 1 + data = length 453, hash 77ED81E4 + sample 9: + time = 905578 + flags = 1 + data = length 545, hash 3321AEB9 + sample 10: + time = 928798 + flags = 1 + data = length 317, hash F557D0E + sample 11: + time = 952018 + flags = 1 + data = length 537, hash ED58CF7B + sample 12: + time = 975238 + flags = 1 + data = length 458, hash 51CDAA10 + sample 13: + time = 998458 + flags = 1 + data = length 465, hash CBA1EFD7 + sample 14: + time = 1021678 + flags = 1 + data = length 446, hash D6735B8A + sample 15: + time = 1044897 + flags = 1 + data = length 10, hash A453EEBE +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.reading_within_gop_sample_dependencies.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.reading_within_gop_sample_dependencies.3.dump new file mode 100644 index 0000000000..f466b98325 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.reading_within_gop_sample_dependencies.3.dump @@ -0,0 +1,163 @@ +seekMap: + isSeekable = true + duration = 1067733 + getPosition(0) = [[timeUs=66733, position=1325]] + getPosition(1) = [[timeUs=66733, position=1325]] + getPosition(533866) = [[timeUs=66733, position=1325]] + getPosition(1067733) = [[timeUs=66733, position=1325]] +numberOfTracks = 2 +track 0: + total output bytes = 85933 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.64001F + maxNumReorderSamples = 2 + width = 1080 + height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 + initializationData: + data = length 29, hash 4746B5D9 + data = length 10, hash 7A0D0F2B + sample 0: + time = 66733 + flags = 1 + data = length 38070, hash B58E1AEE + sample 1: + time = 200200 + flags = 0 + data = length 8340, hash 8AC449FF + sample 2: + time = 133466 + flags = 0 + data = length 1295, hash C0DA5090 + sample 3: + time = 100100 + flags = 67108864 + data = length 469, hash D6E0A200 + sample 4: + time = 166833 + flags = 67108864 + data = length 564, hash E5F56C5B + sample 5: + time = 333666 + flags = 0 + data = length 6075, hash 8756E49E + sample 6: + time = 266933 + flags = 0 + data = length 847, hash DCC2B618 + sample 7: + time = 233566 + flags = 67108864 + data = length 455, hash B9CCE047 + sample 8: + time = 300300 + flags = 67108864 + data = length 467, hash 69806D94 + sample 9: + time = 467133 + flags = 0 + data = length 4549, hash 3944F501 + sample 10: + time = 400400 + flags = 0 + data = length 1087, hash 491BF106 + sample 11: + time = 367033 + flags = 67108864 + data = length 380, hash 5FED016A + sample 12: + time = 433766 + flags = 67108864 + data = length 455, hash 8A0610 + sample 13: + time = 600600 + flags = 0 + data = length 5190, hash B9031D8 + sample 14: + time = 533866 + flags = 0 + data = length 1071, hash 684E7DC8 + sample 15: + time = 500500 + flags = 67108864 + data = length 653, hash 8494F326 + sample 16: + time = 567233 + flags = 67108864 + data = length 485, hash 2CCC85F4 + sample 17: + time = 734066 + flags = 0 + data = length 4884, hash D16B6A96 + sample 18: + time = 667333 + flags = 0 + data = length 997, hash 164FF210 + sample 19: + time = 633966 + flags = 67108864 + data = length 640, hash F664125B + sample 20: + time = 700700 + flags = 67108864 + data = length 491, hash B5930C7C + sample 21: + time = 867533 + flags = 0 + data = length 2989, hash 92CF4FCF + sample 22: + time = 800800 + flags = 0 + data = length 838, hash 294A3451 + sample 23: + time = 767433 + flags = 67108864 + data = length 544, hash FCCE2DE6 + sample 24: + time = 834166 + flags = 67108864 + data = length 329, hash A654FFA1 + sample 25: + time = 1001000 + flags = 0 + data = length 1517, hash 5F7EBF8B + sample 26: + time = 934266 + flags = 0 + data = length 803, hash 7A5C4C1D + sample 27: + time = 900900 + flags = 67108864 + data = length 415, hash B31BBC3B + sample 28: + time = 967633 + flags = 67108864 + data = length 415, hash 850DFEA3 + sample 29: + time = 1034366 + flags = 0 + data = length 619, hash AB5E56CA +track 1: + total output bytes = 10 + sample count = 1 + format 0: + averageBitrate = 136736 + peakBitrate = 145976 + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + channelCount = 1 + sampleRate = 44100 + language = und + initializationData: + data = length 5, hash 2B7623A + sample 0: + time = 1044897 + flags = 1 + data = length 10, hash A453EEBE +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.reading_within_gop_sample_dependencies.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.reading_within_gop_sample_dependencies.unknown_length.dump new file mode 100644 index 0000000000..9fc225ebe9 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.reading_within_gop_sample_dependencies.unknown_length.dump @@ -0,0 +1,343 @@ +seekMap: + isSeekable = true + duration = 1067733 + getPosition(0) = [[timeUs=66733, position=1325]] + getPosition(1) = [[timeUs=66733, position=1325]] + getPosition(533866) = [[timeUs=66733, position=1325]] + getPosition(1067733) = [[timeUs=66733, position=1325]] +numberOfTracks = 2 +track 0: + total output bytes = 85933 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.64001F + maxNumReorderSamples = 2 + width = 1080 + height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 + initializationData: + data = length 29, hash 4746B5D9 + data = length 10, hash 7A0D0F2B + sample 0: + time = 66733 + flags = 1 + data = length 38070, hash B58E1AEE + sample 1: + time = 200200 + flags = 0 + data = length 8340, hash 8AC449FF + sample 2: + time = 133466 + flags = 0 + data = length 1295, hash C0DA5090 + sample 3: + time = 100100 + flags = 67108864 + data = length 469, hash D6E0A200 + sample 4: + time = 166833 + flags = 67108864 + data = length 564, hash E5F56C5B + sample 5: + time = 333666 + flags = 0 + data = length 6075, hash 8756E49E + sample 6: + time = 266933 + flags = 0 + data = length 847, hash DCC2B618 + sample 7: + time = 233566 + flags = 67108864 + data = length 455, hash B9CCE047 + sample 8: + time = 300300 + flags = 67108864 + data = length 467, hash 69806D94 + sample 9: + time = 467133 + flags = 0 + data = length 4549, hash 3944F501 + sample 10: + time = 400400 + flags = 0 + data = length 1087, hash 491BF106 + sample 11: + time = 367033 + flags = 67108864 + data = length 380, hash 5FED016A + sample 12: + time = 433766 + flags = 67108864 + data = length 455, hash 8A0610 + sample 13: + time = 600600 + flags = 0 + data = length 5190, hash B9031D8 + sample 14: + time = 533866 + flags = 0 + data = length 1071, hash 684E7DC8 + sample 15: + time = 500500 + flags = 67108864 + data = length 653, hash 8494F326 + sample 16: + time = 567233 + flags = 67108864 + data = length 485, hash 2CCC85F4 + sample 17: + time = 734066 + flags = 0 + data = length 4884, hash D16B6A96 + sample 18: + time = 667333 + flags = 0 + data = length 997, hash 164FF210 + sample 19: + time = 633966 + flags = 67108864 + data = length 640, hash F664125B + sample 20: + time = 700700 + flags = 67108864 + data = length 491, hash B5930C7C + sample 21: + time = 867533 + flags = 0 + data = length 2989, hash 92CF4FCF + sample 22: + time = 800800 + flags = 0 + data = length 838, hash 294A3451 + sample 23: + time = 767433 + flags = 67108864 + data = length 544, hash FCCE2DE6 + sample 24: + time = 834166 + flags = 67108864 + data = length 329, hash A654FFA1 + sample 25: + time = 1001000 + flags = 0 + data = length 1517, hash 5F7EBF8B + sample 26: + time = 934266 + flags = 0 + data = length 803, hash 7A5C4C1D + sample 27: + time = 900900 + flags = 67108864 + data = length 415, hash B31BBC3B + sample 28: + time = 967633 + flags = 67108864 + data = length 415, hash 850DFEA3 + sample 29: + time = 1034366 + flags = 0 + data = length 619, hash AB5E56CA +track 1: + total output bytes = 18257 + sample count = 46 + format 0: + averageBitrate = 136736 + peakBitrate = 145976 + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + channelCount = 1 + sampleRate = 44100 + language = und + initializationData: + data = length 5, hash 2B7623A + sample 0: + time = 0 + flags = 1 + data = length 18, hash 96519432 + sample 1: + time = 23219 + flags = 1 + data = length 4, hash EE9DF + sample 2: + time = 46439 + flags = 1 + data = length 4, hash EEDBF + sample 3: + time = 69659 + flags = 1 + data = length 157, hash E2F078F4 + sample 4: + time = 92879 + flags = 1 + data = length 371, hash B9471F94 + sample 5: + time = 116099 + flags = 1 + data = length 373, hash 2AB265CB + sample 6: + time = 139319 + flags = 1 + data = length 402, hash 1295477C + sample 7: + time = 162539 + flags = 1 + data = length 455, hash 2D8146C8 + sample 8: + time = 185759 + flags = 1 + data = length 434, hash F2C5D287 + sample 9: + time = 208979 + flags = 1 + data = length 450, hash 84143FCD + sample 10: + time = 232199 + flags = 1 + data = length 429, hash EF769D50 + sample 11: + time = 255419 + flags = 1 + data = length 450, hash EC3DE692 + sample 12: + time = 278639 + flags = 1 + data = length 447, hash 3E519E13 + sample 13: + time = 301859 + flags = 1 + data = length 457, hash 1E4F23A0 + sample 14: + time = 325079 + flags = 1 + data = length 447, hash A439EA97 + sample 15: + time = 348299 + flags = 1 + data = length 456, hash 1E9034C6 + sample 16: + time = 371519 + flags = 1 + data = length 398, hash 99DB7345 + sample 17: + time = 394739 + flags = 1 + data = length 474, hash 3F05F10A + sample 18: + time = 417959 + flags = 1 + data = length 416, hash C105EE09 + sample 19: + time = 441179 + flags = 1 + data = length 454, hash 5FDBE458 + sample 20: + time = 464399 + flags = 1 + data = length 438, hash 41A93AC3 + sample 21: + time = 487619 + flags = 1 + data = length 443, hash 10FDA652 + sample 22: + time = 510839 + flags = 1 + data = length 412, hash 1F791E25 + sample 23: + time = 534058 + flags = 1 + data = length 482, hash A6D983D + sample 24: + time = 557278 + flags = 1 + data = length 386, hash BED7392F + sample 25: + time = 580498 + flags = 1 + data = length 463, hash 5309F8C9 + sample 26: + time = 603718 + flags = 1 + data = length 394, hash 21C7321F + sample 27: + time = 626938 + flags = 1 + data = length 489, hash 71B4730D + sample 28: + time = 650158 + flags = 1 + data = length 403, hash D9C6DE89 + sample 29: + time = 673378 + flags = 1 + data = length 447, hash 9B14B73B + sample 30: + time = 696598 + flags = 1 + data = length 439, hash 4760D35B + sample 31: + time = 719818 + flags = 1 + data = length 463, hash 1601F88D + sample 32: + time = 743038 + flags = 1 + data = length 423, hash D4AE6773 + sample 33: + time = 766258 + flags = 1 + data = length 497, hash A3C674D3 + sample 34: + time = 789478 + flags = 1 + data = length 419, hash D3734A1F + sample 35: + time = 812698 + flags = 1 + data = length 474, hash DFB41F9 + sample 36: + time = 835918 + flags = 1 + data = length 413, hash 53E7CB9F + sample 37: + time = 859138 + flags = 1 + data = length 445, hash D15B0E39 + sample 38: + time = 882358 + flags = 1 + data = length 453, hash 77ED81E4 + sample 39: + time = 905578 + flags = 1 + data = length 545, hash 3321AEB9 + sample 40: + time = 928798 + flags = 1 + data = length 317, hash F557D0E + sample 41: + time = 952018 + flags = 1 + data = length 537, hash ED58CF7B + sample 42: + time = 975238 + flags = 1 + data = length 458, hash 51CDAA10 + sample 43: + time = 998458 + flags = 1 + data = length 465, hash CBA1EFD7 + sample 44: + time = 1021678 + flags = 1 + data = length 446, hash D6735B8A + sample 45: + time = 1044897 + flags = 1 + data = length 10, hash A453EEBE +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_sei.mp4.reading_within_gop_sample_dependencies.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_sei.mp4.reading_within_gop_sample_dependencies.0.dump new file mode 100644 index 0000000000..6f243807a0 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_sei.mp4.reading_within_gop_sample_dependencies.0.dump @@ -0,0 +1,344 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=1244]] +numberOfTracks = 3 +track 0: + total output bytes = 85933 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.64001F + maxNumReorderSamples = 2 + width = 1080 + height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 + initializationData: + data = length 29, hash 4746B5D9 + data = length 10, hash 7A0D0F2B + sample 0: + time = 66733 + flags = 1 + data = length 38070, hash B58E1AEE + sample 1: + time = 200200 + flags = 0 + data = length 8340, hash 8AC449FF + sample 2: + time = 133466 + flags = 0 + data = length 1295, hash C0DA5090 + sample 3: + time = 100100 + flags = 67108864 + data = length 469, hash D6E0A200 + sample 4: + time = 166833 + flags = 67108864 + data = length 564, hash E5F56C5B + sample 5: + time = 333666 + flags = 0 + data = length 6075, hash 8756E49E + sample 6: + time = 266933 + flags = 0 + data = length 847, hash DCC2B618 + sample 7: + time = 233566 + flags = 67108864 + data = length 455, hash B9CCE047 + sample 8: + time = 300300 + flags = 67108864 + data = length 467, hash 69806D94 + sample 9: + time = 467133 + flags = 0 + data = length 4549, hash 3944F501 + sample 10: + time = 400400 + flags = 0 + data = length 1087, hash 491BF106 + sample 11: + time = 367033 + flags = 67108864 + data = length 380, hash 5FED016A + sample 12: + time = 433766 + flags = 67108864 + data = length 455, hash 8A0610 + sample 13: + time = 600600 + flags = 0 + data = length 5190, hash B9031D8 + sample 14: + time = 533866 + flags = 0 + data = length 1071, hash 684E7DC8 + sample 15: + time = 500500 + flags = 67108864 + data = length 653, hash 8494F326 + sample 16: + time = 567233 + flags = 67108864 + data = length 485, hash 2CCC85F4 + sample 17: + time = 734066 + flags = 0 + data = length 4884, hash D16B6A96 + sample 18: + time = 667333 + flags = 0 + data = length 997, hash 164FF210 + sample 19: + time = 633966 + flags = 67108864 + data = length 640, hash F664125B + sample 20: + time = 700700 + flags = 67108864 + data = length 491, hash B5930C7C + sample 21: + time = 867533 + flags = 0 + data = length 2989, hash 92CF4FCF + sample 22: + time = 800800 + flags = 0 + data = length 838, hash 294A3451 + sample 23: + time = 767433 + flags = 67108864 + data = length 544, hash FCCE2DE6 + sample 24: + time = 834166 + flags = 67108864 + data = length 329, hash A654FFA1 + sample 25: + time = 1001000 + flags = 0 + data = length 1517, hash 5F7EBF8B + sample 26: + time = 934266 + flags = 0 + data = length 803, hash 7A5C4C1D + sample 27: + time = 900900 + flags = 67108864 + data = length 415, hash B31BBC3B + sample 28: + time = 967633 + flags = 67108864 + data = length 415, hash 850DFEA3 + sample 29: + time = 1034366 + flags = 0 + data = length 619, hash AB5E56CA +track 1: + total output bytes = 18257 + sample count = 46 + format 0: + peakBitrate = 200000 + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + channelCount = 1 + sampleRate = 44100 + language = und + initializationData: + data = length 5, hash 2B7623A + sample 0: + time = 0 + flags = 1 + data = length 18, hash 96519432 + sample 1: + time = 23219 + flags = 1 + data = length 4, hash EE9DF + sample 2: + time = 46439 + flags = 1 + data = length 4, hash EEDBF + sample 3: + time = 69659 + flags = 1 + data = length 157, hash E2F078F4 + sample 4: + time = 92879 + flags = 1 + data = length 371, hash B9471F94 + sample 5: + time = 116099 + flags = 1 + data = length 373, hash 2AB265CB + sample 6: + time = 139319 + flags = 1 + data = length 402, hash 1295477C + sample 7: + time = 162539 + flags = 1 + data = length 455, hash 2D8146C8 + sample 8: + time = 185759 + flags = 1 + data = length 434, hash F2C5D287 + sample 9: + time = 208979 + flags = 1 + data = length 450, hash 84143FCD + sample 10: + time = 232199 + flags = 1 + data = length 429, hash EF769D50 + sample 11: + time = 255419 + flags = 1 + data = length 450, hash EC3DE692 + sample 12: + time = 278639 + flags = 1 + data = length 447, hash 3E519E13 + sample 13: + time = 301859 + flags = 1 + data = length 457, hash 1E4F23A0 + sample 14: + time = 325079 + flags = 1 + data = length 447, hash A439EA97 + sample 15: + time = 348299 + flags = 1 + data = length 456, hash 1E9034C6 + sample 16: + time = 371519 + flags = 1 + data = length 398, hash 99DB7345 + sample 17: + time = 394739 + flags = 1 + data = length 474, hash 3F05F10A + sample 18: + time = 417959 + flags = 1 + data = length 416, hash C105EE09 + sample 19: + time = 441179 + flags = 1 + data = length 454, hash 5FDBE458 + sample 20: + time = 464399 + flags = 1 + data = length 438, hash 41A93AC3 + sample 21: + time = 487619 + flags = 1 + data = length 443, hash 10FDA652 + sample 22: + time = 510839 + flags = 1 + data = length 412, hash 1F791E25 + sample 23: + time = 534058 + flags = 1 + data = length 482, hash A6D983D + sample 24: + time = 557278 + flags = 1 + data = length 386, hash BED7392F + sample 25: + time = 580498 + flags = 1 + data = length 463, hash 5309F8C9 + sample 26: + time = 603718 + flags = 1 + data = length 394, hash 21C7321F + sample 27: + time = 626938 + flags = 1 + data = length 489, hash 71B4730D + sample 28: + time = 650158 + flags = 1 + data = length 403, hash D9C6DE89 + sample 29: + time = 673378 + flags = 1 + data = length 447, hash 9B14B73B + sample 30: + time = 696598 + flags = 1 + data = length 439, hash 4760D35B + sample 31: + time = 719818 + flags = 1 + data = length 463, hash 1601F88D + sample 32: + time = 743038 + flags = 1 + data = length 423, hash D4AE6773 + sample 33: + time = 766258 + flags = 1 + data = length 497, hash A3C674D3 + sample 34: + time = 789478 + flags = 1 + data = length 419, hash D3734A1F + sample 35: + time = 812698 + flags = 1 + data = length 474, hash DFB41F9 + sample 36: + time = 835918 + flags = 1 + data = length 413, hash 53E7CB9F + sample 37: + time = 859138 + flags = 1 + data = length 445, hash D15B0E39 + sample 38: + time = 882358 + flags = 1 + data = length 453, hash 77ED81E4 + sample 39: + time = 905578 + flags = 1 + data = length 545, hash 3321AEB9 + sample 40: + time = 928798 + flags = 1 + data = length 317, hash F557D0E + sample 41: + time = 952018 + flags = 1 + data = length 537, hash ED58CF7B + sample 42: + time = 975238 + flags = 1 + data = length 458, hash 51CDAA10 + sample 43: + time = 998458 + flags = 1 + data = length 465, hash CBA1EFD7 + sample 44: + time = 1021678 + flags = 1 + data = length 446, hash D6735B8A + sample 45: + time = 1044897 + flags = 1 + data = length 10, hash A453EEBE +track 100: + total output bytes = 0 + sample count = 0 + format 0: + sampleMimeType = application/cea-608 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_sei.mp4.reading_within_gop_sample_dependencies.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_sei.mp4.reading_within_gop_sample_dependencies.unknown_length.dump new file mode 100644 index 0000000000..6f243807a0 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_sei.mp4.reading_within_gop_sample_dependencies.unknown_length.dump @@ -0,0 +1,344 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=1244]] +numberOfTracks = 3 +track 0: + total output bytes = 85933 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.64001F + maxNumReorderSamples = 2 + width = 1080 + height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 + initializationData: + data = length 29, hash 4746B5D9 + data = length 10, hash 7A0D0F2B + sample 0: + time = 66733 + flags = 1 + data = length 38070, hash B58E1AEE + sample 1: + time = 200200 + flags = 0 + data = length 8340, hash 8AC449FF + sample 2: + time = 133466 + flags = 0 + data = length 1295, hash C0DA5090 + sample 3: + time = 100100 + flags = 67108864 + data = length 469, hash D6E0A200 + sample 4: + time = 166833 + flags = 67108864 + data = length 564, hash E5F56C5B + sample 5: + time = 333666 + flags = 0 + data = length 6075, hash 8756E49E + sample 6: + time = 266933 + flags = 0 + data = length 847, hash DCC2B618 + sample 7: + time = 233566 + flags = 67108864 + data = length 455, hash B9CCE047 + sample 8: + time = 300300 + flags = 67108864 + data = length 467, hash 69806D94 + sample 9: + time = 467133 + flags = 0 + data = length 4549, hash 3944F501 + sample 10: + time = 400400 + flags = 0 + data = length 1087, hash 491BF106 + sample 11: + time = 367033 + flags = 67108864 + data = length 380, hash 5FED016A + sample 12: + time = 433766 + flags = 67108864 + data = length 455, hash 8A0610 + sample 13: + time = 600600 + flags = 0 + data = length 5190, hash B9031D8 + sample 14: + time = 533866 + flags = 0 + data = length 1071, hash 684E7DC8 + sample 15: + time = 500500 + flags = 67108864 + data = length 653, hash 8494F326 + sample 16: + time = 567233 + flags = 67108864 + data = length 485, hash 2CCC85F4 + sample 17: + time = 734066 + flags = 0 + data = length 4884, hash D16B6A96 + sample 18: + time = 667333 + flags = 0 + data = length 997, hash 164FF210 + sample 19: + time = 633966 + flags = 67108864 + data = length 640, hash F664125B + sample 20: + time = 700700 + flags = 67108864 + data = length 491, hash B5930C7C + sample 21: + time = 867533 + flags = 0 + data = length 2989, hash 92CF4FCF + sample 22: + time = 800800 + flags = 0 + data = length 838, hash 294A3451 + sample 23: + time = 767433 + flags = 67108864 + data = length 544, hash FCCE2DE6 + sample 24: + time = 834166 + flags = 67108864 + data = length 329, hash A654FFA1 + sample 25: + time = 1001000 + flags = 0 + data = length 1517, hash 5F7EBF8B + sample 26: + time = 934266 + flags = 0 + data = length 803, hash 7A5C4C1D + sample 27: + time = 900900 + flags = 67108864 + data = length 415, hash B31BBC3B + sample 28: + time = 967633 + flags = 67108864 + data = length 415, hash 850DFEA3 + sample 29: + time = 1034366 + flags = 0 + data = length 619, hash AB5E56CA +track 1: + total output bytes = 18257 + sample count = 46 + format 0: + peakBitrate = 200000 + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + channelCount = 1 + sampleRate = 44100 + language = und + initializationData: + data = length 5, hash 2B7623A + sample 0: + time = 0 + flags = 1 + data = length 18, hash 96519432 + sample 1: + time = 23219 + flags = 1 + data = length 4, hash EE9DF + sample 2: + time = 46439 + flags = 1 + data = length 4, hash EEDBF + sample 3: + time = 69659 + flags = 1 + data = length 157, hash E2F078F4 + sample 4: + time = 92879 + flags = 1 + data = length 371, hash B9471F94 + sample 5: + time = 116099 + flags = 1 + data = length 373, hash 2AB265CB + sample 6: + time = 139319 + flags = 1 + data = length 402, hash 1295477C + sample 7: + time = 162539 + flags = 1 + data = length 455, hash 2D8146C8 + sample 8: + time = 185759 + flags = 1 + data = length 434, hash F2C5D287 + sample 9: + time = 208979 + flags = 1 + data = length 450, hash 84143FCD + sample 10: + time = 232199 + flags = 1 + data = length 429, hash EF769D50 + sample 11: + time = 255419 + flags = 1 + data = length 450, hash EC3DE692 + sample 12: + time = 278639 + flags = 1 + data = length 447, hash 3E519E13 + sample 13: + time = 301859 + flags = 1 + data = length 457, hash 1E4F23A0 + sample 14: + time = 325079 + flags = 1 + data = length 447, hash A439EA97 + sample 15: + time = 348299 + flags = 1 + data = length 456, hash 1E9034C6 + sample 16: + time = 371519 + flags = 1 + data = length 398, hash 99DB7345 + sample 17: + time = 394739 + flags = 1 + data = length 474, hash 3F05F10A + sample 18: + time = 417959 + flags = 1 + data = length 416, hash C105EE09 + sample 19: + time = 441179 + flags = 1 + data = length 454, hash 5FDBE458 + sample 20: + time = 464399 + flags = 1 + data = length 438, hash 41A93AC3 + sample 21: + time = 487619 + flags = 1 + data = length 443, hash 10FDA652 + sample 22: + time = 510839 + flags = 1 + data = length 412, hash 1F791E25 + sample 23: + time = 534058 + flags = 1 + data = length 482, hash A6D983D + sample 24: + time = 557278 + flags = 1 + data = length 386, hash BED7392F + sample 25: + time = 580498 + flags = 1 + data = length 463, hash 5309F8C9 + sample 26: + time = 603718 + flags = 1 + data = length 394, hash 21C7321F + sample 27: + time = 626938 + flags = 1 + data = length 489, hash 71B4730D + sample 28: + time = 650158 + flags = 1 + data = length 403, hash D9C6DE89 + sample 29: + time = 673378 + flags = 1 + data = length 447, hash 9B14B73B + sample 30: + time = 696598 + flags = 1 + data = length 439, hash 4760D35B + sample 31: + time = 719818 + flags = 1 + data = length 463, hash 1601F88D + sample 32: + time = 743038 + flags = 1 + data = length 423, hash D4AE6773 + sample 33: + time = 766258 + flags = 1 + data = length 497, hash A3C674D3 + sample 34: + time = 789478 + flags = 1 + data = length 419, hash D3734A1F + sample 35: + time = 812698 + flags = 1 + data = length 474, hash DFB41F9 + sample 36: + time = 835918 + flags = 1 + data = length 413, hash 53E7CB9F + sample 37: + time = 859138 + flags = 1 + data = length 445, hash D15B0E39 + sample 38: + time = 882358 + flags = 1 + data = length 453, hash 77ED81E4 + sample 39: + time = 905578 + flags = 1 + data = length 545, hash 3321AEB9 + sample 40: + time = 928798 + flags = 1 + data = length 317, hash F557D0E + sample 41: + time = 952018 + flags = 1 + data = length 537, hash ED58CF7B + sample 42: + time = 975238 + flags = 1 + data = length 458, hash 51CDAA10 + sample 43: + time = 998458 + flags = 1 + data = length 465, hash CBA1EFD7 + sample 44: + time = 1021678 + flags = 1 + data = length 446, hash D6735B8A + sample 45: + time = 1044897 + flags = 1 + data = length 10, hash A453EEBE +track 100: + total output bytes = 0 + sample count = 0 + format 0: + sampleMimeType = application/cea-608 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_cicp1_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_cicp1_fragmented.mp4.reading_within_gop_sample_dependencies.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.reading_within_gop_sample_dependencies.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.reading_within_gop_sample_dependencies.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_cicp1_fragmented.mp4.reading_within_gop_sample_dependencies.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.reading_within_gop_sample_dependencies.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_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_configchange_fragmented.mp4.reading_within_gop_sample_dependencies.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.reading_within_gop_sample_dependencies.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.reading_within_gop_sample_dependencies.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_bl_configchange_fragmented.mp4.reading_within_gop_sample_dependencies.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.reading_within_gop_sample_dependencies.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_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_cicp1_fragmented.mp4.reading_within_gop_sample_dependencies.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.reading_within_gop_sample_dependencies.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.reading_within_gop_sample_dependencies.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_cicp1_fragmented.mp4.reading_within_gop_sample_dependencies.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.reading_within_gop_sample_dependencies.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_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_configchange_fragmented.mp4.reading_within_gop_sample_dependencies.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.reading_within_gop_sample_dependencies.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.reading_within_gop_sample_dependencies.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mhm1_lcbl_configchange_fragmented.mp4.reading_within_gop_sample_dependencies.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.reading_within_gop_sample_dependencies.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_opus_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump new file mode 100644 index 0000000000..4f1fb74586 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump @@ -0,0 +1,1019 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=564]] +numberOfTracks = 1 +track 0: + total output bytes = 81637 + sample count = 250 + format 0: + id = 1 + sampleMimeType = audio/opus + channelCount = 2 + sampleRate = 16000 + language =  + initializationData: + data = length 19, hash 4034F23B + data = length 8, hash 94446F01 + data = length 8, hash 79C07075 + sample 0: + time = 0 + flags = 1 + data = length 326, hash ECC9FF90 + sample 1: + time = 10000 + flags = 1 + data = length 326, hash B041EAAC + sample 2: + time = 20000 + flags = 1 + data = length 326, hash 3DBE1591 + sample 3: + time = 30000 + flags = 1 + data = length 326, hash CE60149B + sample 4: + time = 40000 + flags = 1 + data = length 326, hash 6F04DA9 + sample 5: + time = 50000 + flags = 1 + data = length 326, hash 4E221218 + sample 6: + time = 60000 + flags = 1 + data = length 326, hash 659C80D8 + sample 7: + time = 70000 + flags = 1 + data = length 326, hash E27BB70F + sample 8: + time = 80000 + flags = 1 + data = length 326, hash 3ACDE8E7 + sample 9: + time = 90000 + flags = 1 + data = length 326, hash 1FFB9BDA + sample 10: + time = 100000 + flags = 1 + data = length 326, hash 133E65A0 + sample 11: + time = 110000 + flags = 1 + data = length 326, hash 4216F22F + sample 12: + time = 120000 + flags = 1 + data = length 326, hash 9142C06 + sample 13: + time = 130000 + flags = 1 + data = length 326, hash DF393C06 + sample 14: + time = 140000 + flags = 1 + data = length 326, hash E062DBFA + sample 15: + time = 150000 + flags = 1 + data = length 326, hash 5342554C + sample 16: + time = 160000 + flags = 1 + data = length 326, hash 7FE3D513 + sample 17: + time = 170000 + flags = 1 + data = length 326, hash A4961659 + sample 18: + time = 180000 + flags = 1 + data = length 326, hash 1ADC8A22 + sample 19: + time = 190000 + flags = 1 + data = length 326, hash 687C8DD5 + sample 20: + time = 200000 + flags = 1 + data = length 326, hash B29283 + sample 21: + time = 210000 + flags = 1 + data = length 326, hash 4D5CFDF4 + sample 22: + time = 220000 + flags = 1 + data = length 326, hash D95E1184 + sample 23: + time = 230000 + flags = 1 + data = length 326, hash 5FEDC88C + sample 24: + time = 240000 + flags = 1 + data = length 326, hash 33FAB6DC + sample 25: + time = 250000 + flags = 1 + data = length 326, hash CEAA63EC + sample 26: + time = 260000 + flags = 1 + data = length 326, hash E02FF364 + sample 27: + time = 270000 + flags = 1 + data = length 326, hash E6E2E53F + sample 28: + time = 280000 + flags = 1 + data = length 326, hash 35154DBF + sample 29: + time = 290000 + flags = 1 + data = length 326, hash 595B194B + sample 30: + time = 300000 + flags = 1 + data = length 326, hash ADD13EB0 + sample 31: + time = 310000 + flags = 1 + data = length 326, hash A3B2C3CF + sample 32: + time = 320000 + flags = 1 + data = length 326, hash A93847A3 + sample 33: + time = 330000 + flags = 1 + data = length 326, hash F0E150D9 + sample 34: + time = 340000 + flags = 1 + data = length 326, hash EB671D2B + sample 35: + time = 350000 + flags = 1 + data = length 326, hash A6D5875 + sample 36: + time = 360000 + flags = 1 + data = length 326, hash A417F89D + sample 37: + time = 370000 + flags = 1 + data = length 326, hash BFDE9CD6 + sample 38: + time = 380000 + flags = 1 + data = length 326, hash D6C5E0D9 + sample 39: + time = 390000 + flags = 1 + data = length 326, hash 80BB14DB + sample 40: + time = 400000 + flags = 1 + data = length 326, hash 2E79E0D5 + sample 41: + time = 410000 + flags = 1 + data = length 326, hash 8964BAB4 + sample 42: + time = 420000 + flags = 1 + data = length 326, hash 4F439BE4 + sample 43: + time = 430000 + flags = 1 + data = length 326, hash 92DBC089 + sample 44: + time = 440000 + flags = 1 + data = length 326, hash 73614C9 + sample 45: + time = 450000 + flags = 1 + data = length 326, hash 908631AA + sample 46: + time = 460000 + flags = 1 + data = length 326, hash ED49A6D4 + sample 47: + time = 470000 + flags = 1 + data = length 326, hash B70E3393 + sample 48: + time = 480000 + flags = 1 + data = length 326, hash 7D392160 + sample 49: + time = 490000 + flags = 1 + data = length 326, hash 77957DEE + sample 50: + time = 500000 + flags = 1 + data = length 326, hash 42582970 + sample 51: + time = 510000 + flags = 1 + data = length 326, hash BEEEECBE + sample 52: + time = 520000 + flags = 1 + data = length 326, hash 43BD23B8 + sample 53: + time = 530000 + flags = 1 + data = length 326, hash A72E6AE9 + sample 54: + time = 540000 + flags = 1 + data = length 326, hash 71A5E822 + sample 55: + time = 550000 + flags = 1 + data = length 326, hash F0FCFB9E + sample 56: + time = 560000 + flags = 1 + data = length 326, hash 955628EC + sample 57: + time = 570000 + flags = 1 + data = length 326, hash 29EC8061 + sample 58: + time = 580000 + flags = 1 + data = length 326, hash F4010F62 + sample 59: + time = 590000 + flags = 1 + data = length 326, hash A0A3E80F + sample 60: + time = 600000 + flags = 1 + data = length 326, hash 87DB9495 + sample 61: + time = 610000 + flags = 1 + data = length 326, hash 51012496 + sample 62: + time = 620000 + flags = 1 + data = length 326, hash 8C8A5E6E + sample 63: + time = 630000 + flags = 1 + data = length 326, hash 61ECD20B + sample 64: + time = 640000 + flags = 1 + data = length 326, hash C8C6E306 + sample 65: + time = 650000 + flags = 1 + data = length 327, hash A964C1EB + sample 66: + time = 660000 + flags = 1 + data = length 325, hash 752AE0E6 + sample 67: + time = 670000 + flags = 1 + data = length 326, hash A823251B + sample 68: + time = 680000 + flags = 1 + data = length 326, hash 397840E0 + sample 69: + time = 690000 + flags = 1 + data = length 326, hash 5913B4DA + sample 70: + time = 700000 + flags = 1 + data = length 326, hash BC5046E3 + sample 71: + time = 710000 + flags = 1 + data = length 326, hash 77F42650 + sample 72: + time = 720000 + flags = 1 + data = length 326, hash 2AF70D91 + sample 73: + time = 730000 + flags = 1 + data = length 326, hash 7E736444 + sample 74: + time = 740000 + flags = 1 + data = length 326, hash 74DE6BFC + sample 75: + time = 750000 + flags = 1 + data = length 326, hash C8D036DD + sample 76: + time = 760000 + flags = 1 + data = length 326, hash 85E61A08 + sample 77: + time = 770000 + flags = 1 + data = length 326, hash 83C08838 + sample 78: + time = 780000 + flags = 1 + data = length 326, hash 8C1F745A + sample 79: + time = 790000 + flags = 1 + data = length 326, hash 53097623 + sample 80: + time = 800000 + flags = 1 + data = length 326, hash 5072DCD5 + sample 81: + time = 810000 + flags = 1 + data = length 326, hash 865B8C61 + sample 82: + time = 820000 + flags = 1 + data = length 326, hash C1D25AE1 + sample 83: + time = 830000 + flags = 1 + data = length 326, hash DE2FA734 + sample 84: + time = 840000 + flags = 1 + data = length 326, hash 134D37F4 + sample 85: + time = 850000 + flags = 1 + data = length 326, hash BBAFEE2F + sample 86: + time = 860000 + flags = 1 + data = length 326, hash 44166A38 + sample 87: + time = 870000 + flags = 1 + data = length 326, hash CE3592C0 + sample 88: + time = 880000 + flags = 1 + data = length 326, hash 2F8BCB1B + sample 89: + time = 890000 + flags = 1 + data = length 326, hash 6EB0EE92 + sample 90: + time = 900000 + flags = 1 + data = length 326, hash 26193E23 + sample 91: + time = 910000 + flags = 1 + data = length 326, hash D9CC82FC + sample 92: + time = 920000 + flags = 1 + data = length 326, hash 72A71B6 + sample 93: + time = 930000 + flags = 1 + data = length 326, hash 36D24EDA + sample 94: + time = 940000 + flags = 1 + data = length 326, hash 8CD8720A + sample 95: + time = 950000 + flags = 1 + data = length 326, hash 796DFD09 + sample 96: + time = 960000 + flags = 1 + data = length 326, hash 2B300470 + sample 97: + time = 970000 + flags = 1 + data = length 326, hash 5C224F72 + sample 98: + time = 980000 + flags = 1 + data = length 326, hash DFCD788E + sample 99: + time = 990000 + flags = 1 + data = length 326, hash AD0EE96B + sample 100: + time = 1000000 + flags = 1 + data = length 336, hash 812F4581 + sample 101: + time = 1010000 + flags = 1 + data = length 339, hash 7B767693 + sample 102: + time = 1020000 + flags = 1 + data = length 335, hash 4D8D2DEA + sample 103: + time = 1030000 + flags = 1 + data = length 319, hash D6E65FC3 + sample 104: + time = 1040000 + flags = 1 + data = length 337, hash 7EDAC403 + sample 105: + time = 1050000 + flags = 1 + data = length 341, hash 9D6A1808 + sample 106: + time = 1060000 + flags = 1 + data = length 321, hash C592CA8E + sample 107: + time = 1070000 + flags = 1 + data = length 315, hash 6F70ED6D + sample 108: + time = 1080000 + flags = 1 + data = length 303, hash 84BF23D4 + sample 109: + time = 1090000 + flags = 1 + data = length 314, hash 6FF921D2 + sample 110: + time = 1100000 + flags = 1 + data = length 326, hash C5CDBC78 + sample 111: + time = 1110000 + flags = 1 + data = length 326, hash C1DC417A + sample 112: + time = 1120000 + flags = 1 + data = length 326, hash 1C12B6D8 + sample 113: + time = 1130000 + flags = 1 + data = length 326, hash A7A8F4EF + sample 114: + time = 1140000 + flags = 1 + data = length 326, hash 46AF466 + sample 115: + time = 1150000 + flags = 1 + data = length 326, hash 7DC33E91 + sample 116: + time = 1160000 + flags = 1 + data = length 326, hash 14FD7EE3 + sample 117: + time = 1170000 + flags = 1 + data = length 343, hash C81AA63 + sample 118: + time = 1180000 + flags = 1 + data = length 337, hash 10348132 + sample 119: + time = 1190000 + flags = 1 + data = length 324, hash 5039A7BF + sample 120: + time = 1200000 + flags = 1 + data = length 335, hash 7C13047E + sample 121: + time = 1210000 + flags = 1 + data = length 324, hash 86784B79 + sample 122: + time = 1220000 + flags = 1 + data = length 358, hash 2F2E80E4 + sample 123: + time = 1230000 + flags = 1 + data = length 345, hash B18584BD + sample 124: + time = 1240000 + flags = 1 + data = length 330, hash C817AA1A + sample 125: + time = 1250000 + flags = 1 + data = length 321, hash 4B1B165A + sample 126: + time = 1260000 + flags = 1 + data = length 336, hash 412253B8 + sample 127: + time = 1270000 + flags = 1 + data = length 332, hash FD1EAC64 + sample 128: + time = 1280000 + flags = 1 + data = length 334, hash 9E814A17 + sample 129: + time = 1290000 + flags = 1 + data = length 321, hash 6A723041 + sample 130: + time = 1300000 + flags = 1 + data = length 333, hash AF5E2A13 + sample 131: + time = 1310000 + flags = 1 + data = length 332, hash C8DC1D61 + sample 132: + time = 1320000 + flags = 1 + data = length 345, hash 269EDF4 + sample 133: + time = 1330000 + flags = 1 + data = length 355, hash 14625CB5 + sample 134: + time = 1340000 + flags = 1 + data = length 342, hash 6F45840D + sample 135: + time = 1350000 + flags = 1 + data = length 341, hash 72AEBC16 + sample 136: + time = 1360000 + flags = 1 + data = length 317, hash 9F7FEC24 + sample 137: + time = 1370000 + flags = 1 + data = length 349, hash 7CD57187 + sample 138: + time = 1380000 + flags = 1 + data = length 345, hash 9CDC475E + sample 139: + time = 1390000 + flags = 1 + data = length 348, hash B73A1C36 + sample 140: + time = 1400000 + flags = 1 + data = length 358, hash 37D19B + sample 141: + time = 1410000 + flags = 1 + data = length 350, hash 2238BB83 + sample 142: + time = 1420000 + flags = 1 + data = length 334, hash 350DF51D + sample 143: + time = 1430000 + flags = 1 + data = length 338, hash 60CE5942 + sample 144: + time = 1440000 + flags = 1 + data = length 317, hash 2DCBBC2F + sample 145: + time = 1450000 + flags = 1 + data = length 307, hash C67D43FB + sample 146: + time = 1460000 + flags = 1 + data = length 343, hash 807EBA32 + sample 147: + time = 1470000 + flags = 1 + data = length 337, hash AD9764BE + sample 148: + time = 1480000 + flags = 1 + data = length 326, hash 5BBF2D25 + sample 149: + time = 1490000 + flags = 1 + data = length 326, hash 2F0186AA + sample 150: + time = 1500000 + flags = 1 + data = length 326, hash 8550A008 + sample 151: + time = 1510000 + flags = 1 + data = length 326, hash 548FBE7A + sample 152: + time = 1520000 + flags = 1 + data = length 326, hash 587D19C2 + sample 153: + time = 1530000 + flags = 1 + data = length 326, hash BE3157BA + sample 154: + time = 1540000 + flags = 1 + data = length 326, hash CE358311 + sample 155: + time = 1550000 + flags = 1 + data = length 326, hash 9F63610C + sample 156: + time = 1560000 + flags = 1 + data = length 326, hash 166C76E3 + sample 157: + time = 1570000 + flags = 1 + data = length 324, hash DD8830DB + sample 158: + time = 1580000 + flags = 1 + data = length 328, hash 95BFDBE + sample 159: + time = 1590000 + flags = 1 + data = length 326, hash 859713E2 + sample 160: + time = 1600000 + flags = 1 + data = length 326, hash A1D14AE4 + sample 161: + time = 1610000 + flags = 1 + data = length 326, hash 3AD13AFC + sample 162: + time = 1620000 + flags = 1 + data = length 326, hash 3EACF164 + sample 163: + time = 1630000 + flags = 1 + data = length 326, hash CF42F132 + sample 164: + time = 1640000 + flags = 1 + data = length 326, hash A1CBE4F2 + sample 165: + time = 1650000 + flags = 1 + data = length 326, hash D4EEE23E + sample 166: + time = 1660000 + flags = 1 + data = length 326, hash 6CF8758E + sample 167: + time = 1670000 + flags = 1 + data = length 326, hash DE1AECC0 + sample 168: + time = 1680000 + flags = 1 + data = length 326, hash B41D28EC + sample 169: + time = 1690000 + flags = 1 + data = length 326, hash F67E91D9 + sample 170: + time = 1700000 + flags = 1 + data = length 326, hash 7EE6CFF4 + sample 171: + time = 1710000 + flags = 1 + data = length 326, hash D349B8F7 + sample 172: + time = 1720000 + flags = 1 + data = length 326, hash 996EAE7 + sample 173: + time = 1730000 + flags = 1 + data = length 326, hash BB666B7B + sample 174: + time = 1740000 + flags = 1 + data = length 326, hash DC59B61F + sample 175: + time = 1750000 + flags = 1 + data = length 326, hash ED75555F + sample 176: + time = 1760000 + flags = 1 + data = length 326, hash E934CD31 + sample 177: + time = 1770000 + flags = 1 + data = length 326, hash C4A0F88D + sample 178: + time = 1780000 + flags = 1 + data = length 326, hash EF60D35 + sample 179: + time = 1790000 + flags = 1 + data = length 326, hash 89D0C6FD + sample 180: + time = 1800000 + flags = 1 + data = length 326, hash A8065459 + sample 181: + time = 1810000 + flags = 1 + data = length 319, hash DA5BE3EB + sample 182: + time = 1820000 + flags = 1 + data = length 301, hash 781565E7 + sample 183: + time = 1830000 + flags = 1 + data = length 324, hash 453B347D + sample 184: + time = 1840000 + flags = 1 + data = length 344, hash AEFF20B2 + sample 185: + time = 1850000 + flags = 1 + data = length 342, hash 98E8532B + sample 186: + time = 1860000 + flags = 1 + data = length 326, hash 56CD6CC3 + sample 187: + time = 1870000 + flags = 1 + data = length 299, hash 8966DB + sample 188: + time = 1880000 + flags = 1 + data = length 295, hash 398A2974 + sample 189: + time = 1890000 + flags = 1 + data = length 320, hash 3312D070 + sample 190: + time = 1900000 + flags = 1 + data = length 338, hash BBCD81BA + sample 191: + time = 1910000 + flags = 1 + data = length 336, hash E0C58ECC + sample 192: + time = 1920000 + flags = 1 + data = length 325, hash AEF16A96 + sample 193: + time = 1930000 + flags = 1 + data = length 350, hash 4C509E69 + sample 194: + time = 1940000 + flags = 1 + data = length 344, hash DC402A4 + sample 195: + time = 1950000 + flags = 1 + data = length 327, hash 1318C437 + sample 196: + time = 1960000 + flags = 1 + data = length 316, hash A36FB835 + sample 197: + time = 1970000 + flags = 1 + data = length 330, hash E2EFF591 + sample 198: + time = 1980000 + flags = 1 + data = length 312, hash F67E05AF + sample 199: + time = 1990000 + flags = 1 + data = length 332, hash 93136C32 + sample 200: + time = 2000000 + flags = 1 + data = length 340, hash 4AA7608A + sample 201: + time = 2010000 + flags = 1 + data = length 326, hash D3A44734 + sample 202: + time = 2020000 + flags = 1 + data = length 323, hash 61A8A104 + sample 203: + time = 2030000 + flags = 1 + data = length 317, hash 3C1D786D + sample 204: + time = 2040000 + flags = 1 + data = length 310, hash F5322F60 + sample 205: + time = 2050000 + flags = 1 + data = length 320, hash 442CD2EC + sample 206: + time = 2060000 + flags = 1 + data = length 326, hash 76E93566 + sample 207: + time = 2070000 + flags = 1 + data = length 360, hash F9977B24 + sample 208: + time = 2080000 + flags = 1 + data = length 326, hash 1881F6EF + sample 209: + time = 2090000 + flags = 1 + data = length 326, hash D75687AB + sample 210: + time = 2100000 + flags = 1 + data = length 315, hash 533A1DA7 + sample 211: + time = 2110000 + flags = 1 + data = length 304, hash 38E382E7 + sample 212: + time = 2120000 + flags = 1 + data = length 328, hash 4C675814 + sample 213: + time = 2130000 + flags = 1 + data = length 312, hash 1E1BDC5C + sample 214: + time = 2140000 + flags = 1 + data = length 298, hash C7456FFC + sample 215: + time = 2150000 + flags = 1 + data = length 293, hash 84FD8E23 + sample 216: + time = 2160000 + flags = 1 + data = length 312, hash 4FC32BF6 + sample 217: + time = 2170000 + flags = 1 + data = length 303, hash 908B7478 + sample 218: + time = 2180000 + flags = 1 + data = length 316, hash 704860D + sample 219: + time = 2190000 + flags = 1 + data = length 328, hash B62E6465 + sample 220: + time = 2200000 + flags = 1 + data = length 330, hash 5B6B17AE + sample 221: + time = 2210000 + flags = 1 + data = length 326, hash 87514738 + sample 222: + time = 2220000 + flags = 1 + data = length 325, hash B0D3AA65 + sample 223: + time = 2230000 + flags = 1 + data = length 344, hash D70C0C14 + sample 224: + time = 2240000 + flags = 1 + data = length 359, hash E2416115 + sample 225: + time = 2250000 + flags = 1 + data = length 353, hash 359E8F1D + sample 226: + time = 2260000 + flags = 1 + data = length 351, hash 89FFD6C8 + sample 227: + time = 2270000 + flags = 1 + data = length 346, hash 6F4E6C8B + sample 228: + time = 2280000 + flags = 1 + data = length 341, hash 3DB3864B + sample 229: + time = 2290000 + flags = 1 + data = length 336, hash 82AEE005 + sample 230: + time = 2300000 + flags = 1 + data = length 326, hash 8115A41A + sample 231: + time = 2310000 + flags = 1 + data = length 326, hash D7675B30 + sample 232: + time = 2320000 + flags = 1 + data = length 326, hash 529C1134 + sample 233: + time = 2330000 + flags = 1 + data = length 326, hash 30E917D7 + sample 234: + time = 2340000 + flags = 1 + data = length 326, hash A0C5BBB5 + sample 235: + time = 2350000 + flags = 1 + data = length 325, hash A1703C7F + sample 236: + time = 2360000 + flags = 1 + data = length 315, hash 443DC04E + sample 237: + time = 2370000 + flags = 1 + data = length 320, hash 3975FFC4 + sample 238: + time = 2380000 + flags = 1 + data = length 324, hash 4F5CFD58 + sample 239: + time = 2390000 + flags = 1 + data = length 321, hash BF9A6611 + sample 240: + time = 2400000 + flags = 1 + data = length 330, hash B238370E + sample 241: + time = 2410000 + flags = 1 + data = length 321, hash 98A77876 + sample 242: + time = 2420000 + flags = 1 + data = length 312, hash 3E6ACD6C + sample 243: + time = 2430000 + flags = 1 + data = length 318, hash FA97020A + sample 244: + time = 2440000 + flags = 1 + data = length 311, hash 8A101DFA + sample 245: + time = 2450000 + flags = 1 + data = length 310, hash C892E017 + sample 246: + time = 2460000 + flags = 1 + data = length 306, hash C088A2D3 + sample 247: + time = 2470000 + flags = 1 + data = length 292, hash 9C2757C6 + sample 248: + time = 2480000 + flags = 1 + data = length 291, hash 656B9B94 + sample 249: + time = 2490000 + flags = 1 + data = length 306, hash 18C812 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump new file mode 100644 index 0000000000..4f1fb74586 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_opus_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump @@ -0,0 +1,1019 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=564]] +numberOfTracks = 1 +track 0: + total output bytes = 81637 + sample count = 250 + format 0: + id = 1 + sampleMimeType = audio/opus + channelCount = 2 + sampleRate = 16000 + language =  + initializationData: + data = length 19, hash 4034F23B + data = length 8, hash 94446F01 + data = length 8, hash 79C07075 + sample 0: + time = 0 + flags = 1 + data = length 326, hash ECC9FF90 + sample 1: + time = 10000 + flags = 1 + data = length 326, hash B041EAAC + sample 2: + time = 20000 + flags = 1 + data = length 326, hash 3DBE1591 + sample 3: + time = 30000 + flags = 1 + data = length 326, hash CE60149B + sample 4: + time = 40000 + flags = 1 + data = length 326, hash 6F04DA9 + sample 5: + time = 50000 + flags = 1 + data = length 326, hash 4E221218 + sample 6: + time = 60000 + flags = 1 + data = length 326, hash 659C80D8 + sample 7: + time = 70000 + flags = 1 + data = length 326, hash E27BB70F + sample 8: + time = 80000 + flags = 1 + data = length 326, hash 3ACDE8E7 + sample 9: + time = 90000 + flags = 1 + data = length 326, hash 1FFB9BDA + sample 10: + time = 100000 + flags = 1 + data = length 326, hash 133E65A0 + sample 11: + time = 110000 + flags = 1 + data = length 326, hash 4216F22F + sample 12: + time = 120000 + flags = 1 + data = length 326, hash 9142C06 + sample 13: + time = 130000 + flags = 1 + data = length 326, hash DF393C06 + sample 14: + time = 140000 + flags = 1 + data = length 326, hash E062DBFA + sample 15: + time = 150000 + flags = 1 + data = length 326, hash 5342554C + sample 16: + time = 160000 + flags = 1 + data = length 326, hash 7FE3D513 + sample 17: + time = 170000 + flags = 1 + data = length 326, hash A4961659 + sample 18: + time = 180000 + flags = 1 + data = length 326, hash 1ADC8A22 + sample 19: + time = 190000 + flags = 1 + data = length 326, hash 687C8DD5 + sample 20: + time = 200000 + flags = 1 + data = length 326, hash B29283 + sample 21: + time = 210000 + flags = 1 + data = length 326, hash 4D5CFDF4 + sample 22: + time = 220000 + flags = 1 + data = length 326, hash D95E1184 + sample 23: + time = 230000 + flags = 1 + data = length 326, hash 5FEDC88C + sample 24: + time = 240000 + flags = 1 + data = length 326, hash 33FAB6DC + sample 25: + time = 250000 + flags = 1 + data = length 326, hash CEAA63EC + sample 26: + time = 260000 + flags = 1 + data = length 326, hash E02FF364 + sample 27: + time = 270000 + flags = 1 + data = length 326, hash E6E2E53F + sample 28: + time = 280000 + flags = 1 + data = length 326, hash 35154DBF + sample 29: + time = 290000 + flags = 1 + data = length 326, hash 595B194B + sample 30: + time = 300000 + flags = 1 + data = length 326, hash ADD13EB0 + sample 31: + time = 310000 + flags = 1 + data = length 326, hash A3B2C3CF + sample 32: + time = 320000 + flags = 1 + data = length 326, hash A93847A3 + sample 33: + time = 330000 + flags = 1 + data = length 326, hash F0E150D9 + sample 34: + time = 340000 + flags = 1 + data = length 326, hash EB671D2B + sample 35: + time = 350000 + flags = 1 + data = length 326, hash A6D5875 + sample 36: + time = 360000 + flags = 1 + data = length 326, hash A417F89D + sample 37: + time = 370000 + flags = 1 + data = length 326, hash BFDE9CD6 + sample 38: + time = 380000 + flags = 1 + data = length 326, hash D6C5E0D9 + sample 39: + time = 390000 + flags = 1 + data = length 326, hash 80BB14DB + sample 40: + time = 400000 + flags = 1 + data = length 326, hash 2E79E0D5 + sample 41: + time = 410000 + flags = 1 + data = length 326, hash 8964BAB4 + sample 42: + time = 420000 + flags = 1 + data = length 326, hash 4F439BE4 + sample 43: + time = 430000 + flags = 1 + data = length 326, hash 92DBC089 + sample 44: + time = 440000 + flags = 1 + data = length 326, hash 73614C9 + sample 45: + time = 450000 + flags = 1 + data = length 326, hash 908631AA + sample 46: + time = 460000 + flags = 1 + data = length 326, hash ED49A6D4 + sample 47: + time = 470000 + flags = 1 + data = length 326, hash B70E3393 + sample 48: + time = 480000 + flags = 1 + data = length 326, hash 7D392160 + sample 49: + time = 490000 + flags = 1 + data = length 326, hash 77957DEE + sample 50: + time = 500000 + flags = 1 + data = length 326, hash 42582970 + sample 51: + time = 510000 + flags = 1 + data = length 326, hash BEEEECBE + sample 52: + time = 520000 + flags = 1 + data = length 326, hash 43BD23B8 + sample 53: + time = 530000 + flags = 1 + data = length 326, hash A72E6AE9 + sample 54: + time = 540000 + flags = 1 + data = length 326, hash 71A5E822 + sample 55: + time = 550000 + flags = 1 + data = length 326, hash F0FCFB9E + sample 56: + time = 560000 + flags = 1 + data = length 326, hash 955628EC + sample 57: + time = 570000 + flags = 1 + data = length 326, hash 29EC8061 + sample 58: + time = 580000 + flags = 1 + data = length 326, hash F4010F62 + sample 59: + time = 590000 + flags = 1 + data = length 326, hash A0A3E80F + sample 60: + time = 600000 + flags = 1 + data = length 326, hash 87DB9495 + sample 61: + time = 610000 + flags = 1 + data = length 326, hash 51012496 + sample 62: + time = 620000 + flags = 1 + data = length 326, hash 8C8A5E6E + sample 63: + time = 630000 + flags = 1 + data = length 326, hash 61ECD20B + sample 64: + time = 640000 + flags = 1 + data = length 326, hash C8C6E306 + sample 65: + time = 650000 + flags = 1 + data = length 327, hash A964C1EB + sample 66: + time = 660000 + flags = 1 + data = length 325, hash 752AE0E6 + sample 67: + time = 670000 + flags = 1 + data = length 326, hash A823251B + sample 68: + time = 680000 + flags = 1 + data = length 326, hash 397840E0 + sample 69: + time = 690000 + flags = 1 + data = length 326, hash 5913B4DA + sample 70: + time = 700000 + flags = 1 + data = length 326, hash BC5046E3 + sample 71: + time = 710000 + flags = 1 + data = length 326, hash 77F42650 + sample 72: + time = 720000 + flags = 1 + data = length 326, hash 2AF70D91 + sample 73: + time = 730000 + flags = 1 + data = length 326, hash 7E736444 + sample 74: + time = 740000 + flags = 1 + data = length 326, hash 74DE6BFC + sample 75: + time = 750000 + flags = 1 + data = length 326, hash C8D036DD + sample 76: + time = 760000 + flags = 1 + data = length 326, hash 85E61A08 + sample 77: + time = 770000 + flags = 1 + data = length 326, hash 83C08838 + sample 78: + time = 780000 + flags = 1 + data = length 326, hash 8C1F745A + sample 79: + time = 790000 + flags = 1 + data = length 326, hash 53097623 + sample 80: + time = 800000 + flags = 1 + data = length 326, hash 5072DCD5 + sample 81: + time = 810000 + flags = 1 + data = length 326, hash 865B8C61 + sample 82: + time = 820000 + flags = 1 + data = length 326, hash C1D25AE1 + sample 83: + time = 830000 + flags = 1 + data = length 326, hash DE2FA734 + sample 84: + time = 840000 + flags = 1 + data = length 326, hash 134D37F4 + sample 85: + time = 850000 + flags = 1 + data = length 326, hash BBAFEE2F + sample 86: + time = 860000 + flags = 1 + data = length 326, hash 44166A38 + sample 87: + time = 870000 + flags = 1 + data = length 326, hash CE3592C0 + sample 88: + time = 880000 + flags = 1 + data = length 326, hash 2F8BCB1B + sample 89: + time = 890000 + flags = 1 + data = length 326, hash 6EB0EE92 + sample 90: + time = 900000 + flags = 1 + data = length 326, hash 26193E23 + sample 91: + time = 910000 + flags = 1 + data = length 326, hash D9CC82FC + sample 92: + time = 920000 + flags = 1 + data = length 326, hash 72A71B6 + sample 93: + time = 930000 + flags = 1 + data = length 326, hash 36D24EDA + sample 94: + time = 940000 + flags = 1 + data = length 326, hash 8CD8720A + sample 95: + time = 950000 + flags = 1 + data = length 326, hash 796DFD09 + sample 96: + time = 960000 + flags = 1 + data = length 326, hash 2B300470 + sample 97: + time = 970000 + flags = 1 + data = length 326, hash 5C224F72 + sample 98: + time = 980000 + flags = 1 + data = length 326, hash DFCD788E + sample 99: + time = 990000 + flags = 1 + data = length 326, hash AD0EE96B + sample 100: + time = 1000000 + flags = 1 + data = length 336, hash 812F4581 + sample 101: + time = 1010000 + flags = 1 + data = length 339, hash 7B767693 + sample 102: + time = 1020000 + flags = 1 + data = length 335, hash 4D8D2DEA + sample 103: + time = 1030000 + flags = 1 + data = length 319, hash D6E65FC3 + sample 104: + time = 1040000 + flags = 1 + data = length 337, hash 7EDAC403 + sample 105: + time = 1050000 + flags = 1 + data = length 341, hash 9D6A1808 + sample 106: + time = 1060000 + flags = 1 + data = length 321, hash C592CA8E + sample 107: + time = 1070000 + flags = 1 + data = length 315, hash 6F70ED6D + sample 108: + time = 1080000 + flags = 1 + data = length 303, hash 84BF23D4 + sample 109: + time = 1090000 + flags = 1 + data = length 314, hash 6FF921D2 + sample 110: + time = 1100000 + flags = 1 + data = length 326, hash C5CDBC78 + sample 111: + time = 1110000 + flags = 1 + data = length 326, hash C1DC417A + sample 112: + time = 1120000 + flags = 1 + data = length 326, hash 1C12B6D8 + sample 113: + time = 1130000 + flags = 1 + data = length 326, hash A7A8F4EF + sample 114: + time = 1140000 + flags = 1 + data = length 326, hash 46AF466 + sample 115: + time = 1150000 + flags = 1 + data = length 326, hash 7DC33E91 + sample 116: + time = 1160000 + flags = 1 + data = length 326, hash 14FD7EE3 + sample 117: + time = 1170000 + flags = 1 + data = length 343, hash C81AA63 + sample 118: + time = 1180000 + flags = 1 + data = length 337, hash 10348132 + sample 119: + time = 1190000 + flags = 1 + data = length 324, hash 5039A7BF + sample 120: + time = 1200000 + flags = 1 + data = length 335, hash 7C13047E + sample 121: + time = 1210000 + flags = 1 + data = length 324, hash 86784B79 + sample 122: + time = 1220000 + flags = 1 + data = length 358, hash 2F2E80E4 + sample 123: + time = 1230000 + flags = 1 + data = length 345, hash B18584BD + sample 124: + time = 1240000 + flags = 1 + data = length 330, hash C817AA1A + sample 125: + time = 1250000 + flags = 1 + data = length 321, hash 4B1B165A + sample 126: + time = 1260000 + flags = 1 + data = length 336, hash 412253B8 + sample 127: + time = 1270000 + flags = 1 + data = length 332, hash FD1EAC64 + sample 128: + time = 1280000 + flags = 1 + data = length 334, hash 9E814A17 + sample 129: + time = 1290000 + flags = 1 + data = length 321, hash 6A723041 + sample 130: + time = 1300000 + flags = 1 + data = length 333, hash AF5E2A13 + sample 131: + time = 1310000 + flags = 1 + data = length 332, hash C8DC1D61 + sample 132: + time = 1320000 + flags = 1 + data = length 345, hash 269EDF4 + sample 133: + time = 1330000 + flags = 1 + data = length 355, hash 14625CB5 + sample 134: + time = 1340000 + flags = 1 + data = length 342, hash 6F45840D + sample 135: + time = 1350000 + flags = 1 + data = length 341, hash 72AEBC16 + sample 136: + time = 1360000 + flags = 1 + data = length 317, hash 9F7FEC24 + sample 137: + time = 1370000 + flags = 1 + data = length 349, hash 7CD57187 + sample 138: + time = 1380000 + flags = 1 + data = length 345, hash 9CDC475E + sample 139: + time = 1390000 + flags = 1 + data = length 348, hash B73A1C36 + sample 140: + time = 1400000 + flags = 1 + data = length 358, hash 37D19B + sample 141: + time = 1410000 + flags = 1 + data = length 350, hash 2238BB83 + sample 142: + time = 1420000 + flags = 1 + data = length 334, hash 350DF51D + sample 143: + time = 1430000 + flags = 1 + data = length 338, hash 60CE5942 + sample 144: + time = 1440000 + flags = 1 + data = length 317, hash 2DCBBC2F + sample 145: + time = 1450000 + flags = 1 + data = length 307, hash C67D43FB + sample 146: + time = 1460000 + flags = 1 + data = length 343, hash 807EBA32 + sample 147: + time = 1470000 + flags = 1 + data = length 337, hash AD9764BE + sample 148: + time = 1480000 + flags = 1 + data = length 326, hash 5BBF2D25 + sample 149: + time = 1490000 + flags = 1 + data = length 326, hash 2F0186AA + sample 150: + time = 1500000 + flags = 1 + data = length 326, hash 8550A008 + sample 151: + time = 1510000 + flags = 1 + data = length 326, hash 548FBE7A + sample 152: + time = 1520000 + flags = 1 + data = length 326, hash 587D19C2 + sample 153: + time = 1530000 + flags = 1 + data = length 326, hash BE3157BA + sample 154: + time = 1540000 + flags = 1 + data = length 326, hash CE358311 + sample 155: + time = 1550000 + flags = 1 + data = length 326, hash 9F63610C + sample 156: + time = 1560000 + flags = 1 + data = length 326, hash 166C76E3 + sample 157: + time = 1570000 + flags = 1 + data = length 324, hash DD8830DB + sample 158: + time = 1580000 + flags = 1 + data = length 328, hash 95BFDBE + sample 159: + time = 1590000 + flags = 1 + data = length 326, hash 859713E2 + sample 160: + time = 1600000 + flags = 1 + data = length 326, hash A1D14AE4 + sample 161: + time = 1610000 + flags = 1 + data = length 326, hash 3AD13AFC + sample 162: + time = 1620000 + flags = 1 + data = length 326, hash 3EACF164 + sample 163: + time = 1630000 + flags = 1 + data = length 326, hash CF42F132 + sample 164: + time = 1640000 + flags = 1 + data = length 326, hash A1CBE4F2 + sample 165: + time = 1650000 + flags = 1 + data = length 326, hash D4EEE23E + sample 166: + time = 1660000 + flags = 1 + data = length 326, hash 6CF8758E + sample 167: + time = 1670000 + flags = 1 + data = length 326, hash DE1AECC0 + sample 168: + time = 1680000 + flags = 1 + data = length 326, hash B41D28EC + sample 169: + time = 1690000 + flags = 1 + data = length 326, hash F67E91D9 + sample 170: + time = 1700000 + flags = 1 + data = length 326, hash 7EE6CFF4 + sample 171: + time = 1710000 + flags = 1 + data = length 326, hash D349B8F7 + sample 172: + time = 1720000 + flags = 1 + data = length 326, hash 996EAE7 + sample 173: + time = 1730000 + flags = 1 + data = length 326, hash BB666B7B + sample 174: + time = 1740000 + flags = 1 + data = length 326, hash DC59B61F + sample 175: + time = 1750000 + flags = 1 + data = length 326, hash ED75555F + sample 176: + time = 1760000 + flags = 1 + data = length 326, hash E934CD31 + sample 177: + time = 1770000 + flags = 1 + data = length 326, hash C4A0F88D + sample 178: + time = 1780000 + flags = 1 + data = length 326, hash EF60D35 + sample 179: + time = 1790000 + flags = 1 + data = length 326, hash 89D0C6FD + sample 180: + time = 1800000 + flags = 1 + data = length 326, hash A8065459 + sample 181: + time = 1810000 + flags = 1 + data = length 319, hash DA5BE3EB + sample 182: + time = 1820000 + flags = 1 + data = length 301, hash 781565E7 + sample 183: + time = 1830000 + flags = 1 + data = length 324, hash 453B347D + sample 184: + time = 1840000 + flags = 1 + data = length 344, hash AEFF20B2 + sample 185: + time = 1850000 + flags = 1 + data = length 342, hash 98E8532B + sample 186: + time = 1860000 + flags = 1 + data = length 326, hash 56CD6CC3 + sample 187: + time = 1870000 + flags = 1 + data = length 299, hash 8966DB + sample 188: + time = 1880000 + flags = 1 + data = length 295, hash 398A2974 + sample 189: + time = 1890000 + flags = 1 + data = length 320, hash 3312D070 + sample 190: + time = 1900000 + flags = 1 + data = length 338, hash BBCD81BA + sample 191: + time = 1910000 + flags = 1 + data = length 336, hash E0C58ECC + sample 192: + time = 1920000 + flags = 1 + data = length 325, hash AEF16A96 + sample 193: + time = 1930000 + flags = 1 + data = length 350, hash 4C509E69 + sample 194: + time = 1940000 + flags = 1 + data = length 344, hash DC402A4 + sample 195: + time = 1950000 + flags = 1 + data = length 327, hash 1318C437 + sample 196: + time = 1960000 + flags = 1 + data = length 316, hash A36FB835 + sample 197: + time = 1970000 + flags = 1 + data = length 330, hash E2EFF591 + sample 198: + time = 1980000 + flags = 1 + data = length 312, hash F67E05AF + sample 199: + time = 1990000 + flags = 1 + data = length 332, hash 93136C32 + sample 200: + time = 2000000 + flags = 1 + data = length 340, hash 4AA7608A + sample 201: + time = 2010000 + flags = 1 + data = length 326, hash D3A44734 + sample 202: + time = 2020000 + flags = 1 + data = length 323, hash 61A8A104 + sample 203: + time = 2030000 + flags = 1 + data = length 317, hash 3C1D786D + sample 204: + time = 2040000 + flags = 1 + data = length 310, hash F5322F60 + sample 205: + time = 2050000 + flags = 1 + data = length 320, hash 442CD2EC + sample 206: + time = 2060000 + flags = 1 + data = length 326, hash 76E93566 + sample 207: + time = 2070000 + flags = 1 + data = length 360, hash F9977B24 + sample 208: + time = 2080000 + flags = 1 + data = length 326, hash 1881F6EF + sample 209: + time = 2090000 + flags = 1 + data = length 326, hash D75687AB + sample 210: + time = 2100000 + flags = 1 + data = length 315, hash 533A1DA7 + sample 211: + time = 2110000 + flags = 1 + data = length 304, hash 38E382E7 + sample 212: + time = 2120000 + flags = 1 + data = length 328, hash 4C675814 + sample 213: + time = 2130000 + flags = 1 + data = length 312, hash 1E1BDC5C + sample 214: + time = 2140000 + flags = 1 + data = length 298, hash C7456FFC + sample 215: + time = 2150000 + flags = 1 + data = length 293, hash 84FD8E23 + sample 216: + time = 2160000 + flags = 1 + data = length 312, hash 4FC32BF6 + sample 217: + time = 2170000 + flags = 1 + data = length 303, hash 908B7478 + sample 218: + time = 2180000 + flags = 1 + data = length 316, hash 704860D + sample 219: + time = 2190000 + flags = 1 + data = length 328, hash B62E6465 + sample 220: + time = 2200000 + flags = 1 + data = length 330, hash 5B6B17AE + sample 221: + time = 2210000 + flags = 1 + data = length 326, hash 87514738 + sample 222: + time = 2220000 + flags = 1 + data = length 325, hash B0D3AA65 + sample 223: + time = 2230000 + flags = 1 + data = length 344, hash D70C0C14 + sample 224: + time = 2240000 + flags = 1 + data = length 359, hash E2416115 + sample 225: + time = 2250000 + flags = 1 + data = length 353, hash 359E8F1D + sample 226: + time = 2260000 + flags = 1 + data = length 351, hash 89FFD6C8 + sample 227: + time = 2270000 + flags = 1 + data = length 346, hash 6F4E6C8B + sample 228: + time = 2280000 + flags = 1 + data = length 341, hash 3DB3864B + sample 229: + time = 2290000 + flags = 1 + data = length 336, hash 82AEE005 + sample 230: + time = 2300000 + flags = 1 + data = length 326, hash 8115A41A + sample 231: + time = 2310000 + flags = 1 + data = length 326, hash D7675B30 + sample 232: + time = 2320000 + flags = 1 + data = length 326, hash 529C1134 + sample 233: + time = 2330000 + flags = 1 + data = length 326, hash 30E917D7 + sample 234: + time = 2340000 + flags = 1 + data = length 326, hash A0C5BBB5 + sample 235: + time = 2350000 + flags = 1 + data = length 325, hash A1703C7F + sample 236: + time = 2360000 + flags = 1 + data = length 315, hash 443DC04E + sample 237: + time = 2370000 + flags = 1 + data = length 320, hash 3975FFC4 + sample 238: + time = 2380000 + flags = 1 + data = length 324, hash 4F5CFD58 + sample 239: + time = 2390000 + flags = 1 + data = length 321, hash BF9A6611 + sample 240: + time = 2400000 + flags = 1 + data = length 330, hash B238370E + sample 241: + time = 2410000 + flags = 1 + data = length 321, hash 98A77876 + sample 242: + time = 2420000 + flags = 1 + data = length 312, hash 3E6ACD6C + sample 243: + time = 2430000 + flags = 1 + data = length 318, hash FA97020A + sample 244: + time = 2440000 + flags = 1 + data = length 311, hash 8A101DFA + sample 245: + time = 2450000 + flags = 1 + data = length 310, hash C892E017 + sample 246: + time = 2460000 + flags = 1 + data = length 306, hash C088A2D3 + sample 247: + time = 2470000 + flags = 1 + data = length 292, hash 9C2757C6 + sample 248: + time = 2480000 + flags = 1 + data = length 291, hash 656B9B94 + sample 249: + time = 2490000 + flags = 1 + data = length 306, hash 18C812 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_partially_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_partially_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump new file mode 100644 index 0000000000..01688a61f5 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_partially_fragmented.mp4.reading_within_gop_sample_dependencies.0.dump @@ -0,0 +1,336 @@ +seekMap: + isSeekable = false + duration = 134000 + getPosition(0) = [[timeUs=0, position=1428]] +numberOfTracks = 2 +track 0: + total output bytes = 87715 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.64001F + maxNumReorderSamples = 2 + width = 1080 + height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 + initializationData: + data = length 29, hash 4746B5D9 + data = length 10, hash 7A0D0F2B + sample 0: + time = 66733 + flags = 1 + data = length 37655, hash 265F7BA7 + sample 1: + time = 133466 + flags = 0 + data = length 5023, hash 30768D40 + sample 2: + time = 100100 + flags = 67108864 + data = length 497, hash 9E536CA2 + sample 3: + time = 200200 + flags = 536870912 + data = length 5867, hash 56F9EE87 + sample 4: + time = 166833 + flags = 67108864 + data = length 570, hash 984421BD + sample 5: + time = 266933 + flags = 0 + data = length 3406, hash 9A33201E + sample 6: + time = 233566 + flags = 67108864 + data = length 476, hash C59620F3 + sample 7: + time = 333666 + flags = 0 + data = length 4310, hash 291E6161 + sample 8: + time = 300300 + flags = 67108864 + data = length 497, hash 398CBFAA + sample 9: + time = 467133 + flags = 0 + data = length 4449, hash 322CAA2B + sample 10: + time = 400400 + flags = 0 + data = length 1076, hash B479B634 + sample 11: + time = 367033 + flags = 67108864 + data = length 365, hash 68C7D4C2 + sample 12: + time = 433766 + flags = 67108864 + data = length 463, hash A85F9769 + sample 13: + time = 600600 + flags = 0 + data = length 5339, hash F232195D + sample 14: + time = 533866 + flags = 0 + data = length 1085, hash 47AFB6FE + sample 15: + time = 500500 + flags = 67108864 + data = length 689, hash 3EB753A3 + sample 16: + time = 567233 + flags = 67108864 + data = length 516, hash E6DF9C1C + sample 17: + time = 734066 + flags = 0 + data = length 4899, hash A9A8F4B7 + sample 18: + time = 667333 + flags = 0 + data = length 963, hash 684782FB + sample 19: + time = 633966 + flags = 67108864 + data = length 625, hash ED1C8EF1 + sample 20: + time = 700700 + flags = 67108864 + data = length 492, hash E6E066EA + sample 21: + time = 867533 + flags = 0 + data = length 2973, hash A3C54C3B + sample 22: + time = 800800 + flags = 0 + data = length 833, hash 41CA807D + sample 23: + time = 767433 + flags = 67108864 + data = length 516, hash 5B21BB11 + sample 24: + time = 834166 + flags = 67108864 + data = length 384, hash A0E8FA50 + sample 25: + time = 1001000 + flags = 0 + data = length 1450, hash 92741C3B + sample 26: + time = 934266 + flags = 0 + data = length 831, hash DDA0685B + sample 27: + time = 900900 + flags = 67108864 + data = length 413, hash 886904C + sample 28: + time = 967633 + flags = 67108864 + data = length 427, hash FC2FA8CC + sample 29: + time = 1034366 + flags = 0 + data = length 626, hash DCE82342 +track 1: + total output bytes = 10107 + sample count = 45 + format 0: + averageBitrate = 1254 + peakBitrate = 69000 + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + channelCount = 1 + sampleRate = 44100 + language = und + initializationData: + data = length 5, hash 2B7623A + sample 0: + time = 0 + flags = 536870913 + data = length 21, hash D57A2CCC + sample 1: + time = 133945 + flags = 1 + data = length 6, hash 336D5819 + sample 2: + time = 157165 + flags = 1 + data = length 279, hash 6E3E48B0 + sample 3: + time = 180385 + flags = 1 + data = length 286, hash 5AABFF + sample 4: + time = 203605 + flags = 1 + data = length 275, hash D3109764 + sample 5: + time = 226825 + flags = 1 + data = length 284, hash 154B6E9 + sample 6: + time = 250045 + flags = 1 + data = length 273, hash 40C8A066 + sample 7: + time = 273265 + flags = 1 + data = length 272, hash 4211880F + sample 8: + time = 296485 + flags = 1 + data = length 281, hash 1F534130 + sample 9: + time = 319705 + flags = 1 + data = length 279, hash F5B3EE5F + sample 10: + time = 342925 + flags = 1 + data = length 282, hash 6CDF1B54 + sample 11: + time = 366145 + flags = 1 + data = length 291, hash 6EC03046 + sample 12: + time = 389365 + flags = 1 + data = length 296, hash 9C7F2E6A + sample 13: + time = 412585 + flags = 1 + data = length 282, hash 584ABD5E + sample 14: + time = 435804 + flags = 1 + data = length 283, hash 38CB1734 + sample 15: + time = 459024 + flags = 1 + data = length 274, hash 648EC8BD + sample 16: + time = 482244 + flags = 1 + data = length 274, hash E8FE0F68 + sample 17: + time = 505464 + flags = 1 + data = length 277, hash 2E1B8A11 + sample 18: + time = 528684 + flags = 1 + data = length 282, hash FB6ACCED + sample 19: + time = 551904 + flags = 1 + data = length 283, hash 152D69D + sample 20: + time = 575124 + flags = 1 + data = length 274, hash 45F44C4B + sample 21: + time = 598344 + flags = 1 + data = length 242, hash F9225BB7 + sample 22: + time = 621564 + flags = 1 + data = length 207, hash F5DFB6B2 + sample 23: + time = 644784 + flags = 1 + data = length 226, hash 41DC63E1 + sample 24: + time = 668004 + flags = 1 + data = length 218, hash A82772CF + sample 25: + time = 691224 + flags = 1 + data = length 223, hash 861AB80 + sample 26: + time = 714444 + flags = 1 + data = length 220, hash F1CBA15E + sample 27: + time = 737664 + flags = 1 + data = length 203, hash CB57EEF7 + sample 28: + time = 760884 + flags = 1 + data = length 206, hash 766F4D9E + sample 29: + time = 784104 + flags = 1 + data = length 210, hash FE2A2935 + sample 30: + time = 807324 + flags = 1 + data = length 207, hash A06A178D + sample 31: + time = 830544 + flags = 1 + data = length 206, hash 1ABD9A5F + sample 32: + time = 853764 + flags = 1 + data = length 209, hash 69D7E5F3 + sample 33: + time = 876984 + flags = 1 + data = length 173, hash 7CE0FDCA + sample 34: + time = 900204 + flags = 1 + data = length 208, hash 21D67E09 + sample 35: + time = 923424 + flags = 1 + data = length 207, hash C7187D46 + sample 36: + time = 946643 + flags = 1 + data = length 180, hash D17CFAF8 + sample 37: + time = 969863 + flags = 1 + data = length 206, hash C58FD669 + sample 38: + time = 993083 + flags = 1 + data = length 212, hash 27E2F2C4 + sample 39: + time = 1016303 + flags = 1 + data = length 190, hash 534CC89E + sample 40: + time = 1039523 + flags = 1 + data = length 180, hash 1C58DF95 + sample 41: + time = 1062743 + flags = 1 + data = length 213, hash 24FBF10A + sample 42: + time = 1085963 + flags = 1 + data = length 186, hash EFC31805 + sample 43: + time = 1109183 + flags = 1 + data = length 208, hash 4A050A0D + sample 44: + time = 1132403 + flags = 1 + data = length 13, hash 2555A7DC +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_partially_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_partially_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump new file mode 100644 index 0000000000..01688a61f5 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_partially_fragmented.mp4.reading_within_gop_sample_dependencies.unknown_length.dump @@ -0,0 +1,336 @@ +seekMap: + isSeekable = false + duration = 134000 + getPosition(0) = [[timeUs=0, position=1428]] +numberOfTracks = 2 +track 0: + total output bytes = 87715 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.64001F + maxNumReorderSamples = 2 + width = 1080 + height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 + initializationData: + data = length 29, hash 4746B5D9 + data = length 10, hash 7A0D0F2B + sample 0: + time = 66733 + flags = 1 + data = length 37655, hash 265F7BA7 + sample 1: + time = 133466 + flags = 0 + data = length 5023, hash 30768D40 + sample 2: + time = 100100 + flags = 67108864 + data = length 497, hash 9E536CA2 + sample 3: + time = 200200 + flags = 536870912 + data = length 5867, hash 56F9EE87 + sample 4: + time = 166833 + flags = 67108864 + data = length 570, hash 984421BD + sample 5: + time = 266933 + flags = 0 + data = length 3406, hash 9A33201E + sample 6: + time = 233566 + flags = 67108864 + data = length 476, hash C59620F3 + sample 7: + time = 333666 + flags = 0 + data = length 4310, hash 291E6161 + sample 8: + time = 300300 + flags = 67108864 + data = length 497, hash 398CBFAA + sample 9: + time = 467133 + flags = 0 + data = length 4449, hash 322CAA2B + sample 10: + time = 400400 + flags = 0 + data = length 1076, hash B479B634 + sample 11: + time = 367033 + flags = 67108864 + data = length 365, hash 68C7D4C2 + sample 12: + time = 433766 + flags = 67108864 + data = length 463, hash A85F9769 + sample 13: + time = 600600 + flags = 0 + data = length 5339, hash F232195D + sample 14: + time = 533866 + flags = 0 + data = length 1085, hash 47AFB6FE + sample 15: + time = 500500 + flags = 67108864 + data = length 689, hash 3EB753A3 + sample 16: + time = 567233 + flags = 67108864 + data = length 516, hash E6DF9C1C + sample 17: + time = 734066 + flags = 0 + data = length 4899, hash A9A8F4B7 + sample 18: + time = 667333 + flags = 0 + data = length 963, hash 684782FB + sample 19: + time = 633966 + flags = 67108864 + data = length 625, hash ED1C8EF1 + sample 20: + time = 700700 + flags = 67108864 + data = length 492, hash E6E066EA + sample 21: + time = 867533 + flags = 0 + data = length 2973, hash A3C54C3B + sample 22: + time = 800800 + flags = 0 + data = length 833, hash 41CA807D + sample 23: + time = 767433 + flags = 67108864 + data = length 516, hash 5B21BB11 + sample 24: + time = 834166 + flags = 67108864 + data = length 384, hash A0E8FA50 + sample 25: + time = 1001000 + flags = 0 + data = length 1450, hash 92741C3B + sample 26: + time = 934266 + flags = 0 + data = length 831, hash DDA0685B + sample 27: + time = 900900 + flags = 67108864 + data = length 413, hash 886904C + sample 28: + time = 967633 + flags = 67108864 + data = length 427, hash FC2FA8CC + sample 29: + time = 1034366 + flags = 0 + data = length 626, hash DCE82342 +track 1: + total output bytes = 10107 + sample count = 45 + format 0: + averageBitrate = 1254 + peakBitrate = 69000 + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + channelCount = 1 + sampleRate = 44100 + language = und + initializationData: + data = length 5, hash 2B7623A + sample 0: + time = 0 + flags = 536870913 + data = length 21, hash D57A2CCC + sample 1: + time = 133945 + flags = 1 + data = length 6, hash 336D5819 + sample 2: + time = 157165 + flags = 1 + data = length 279, hash 6E3E48B0 + sample 3: + time = 180385 + flags = 1 + data = length 286, hash 5AABFF + sample 4: + time = 203605 + flags = 1 + data = length 275, hash D3109764 + sample 5: + time = 226825 + flags = 1 + data = length 284, hash 154B6E9 + sample 6: + time = 250045 + flags = 1 + data = length 273, hash 40C8A066 + sample 7: + time = 273265 + flags = 1 + data = length 272, hash 4211880F + sample 8: + time = 296485 + flags = 1 + data = length 281, hash 1F534130 + sample 9: + time = 319705 + flags = 1 + data = length 279, hash F5B3EE5F + sample 10: + time = 342925 + flags = 1 + data = length 282, hash 6CDF1B54 + sample 11: + time = 366145 + flags = 1 + data = length 291, hash 6EC03046 + sample 12: + time = 389365 + flags = 1 + data = length 296, hash 9C7F2E6A + sample 13: + time = 412585 + flags = 1 + data = length 282, hash 584ABD5E + sample 14: + time = 435804 + flags = 1 + data = length 283, hash 38CB1734 + sample 15: + time = 459024 + flags = 1 + data = length 274, hash 648EC8BD + sample 16: + time = 482244 + flags = 1 + data = length 274, hash E8FE0F68 + sample 17: + time = 505464 + flags = 1 + data = length 277, hash 2E1B8A11 + sample 18: + time = 528684 + flags = 1 + data = length 282, hash FB6ACCED + sample 19: + time = 551904 + flags = 1 + data = length 283, hash 152D69D + sample 20: + time = 575124 + flags = 1 + data = length 274, hash 45F44C4B + sample 21: + time = 598344 + flags = 1 + data = length 242, hash F9225BB7 + sample 22: + time = 621564 + flags = 1 + data = length 207, hash F5DFB6B2 + sample 23: + time = 644784 + flags = 1 + data = length 226, hash 41DC63E1 + sample 24: + time = 668004 + flags = 1 + data = length 218, hash A82772CF + sample 25: + time = 691224 + flags = 1 + data = length 223, hash 861AB80 + sample 26: + time = 714444 + flags = 1 + data = length 220, hash F1CBA15E + sample 27: + time = 737664 + flags = 1 + data = length 203, hash CB57EEF7 + sample 28: + time = 760884 + flags = 1 + data = length 206, hash 766F4D9E + sample 29: + time = 784104 + flags = 1 + data = length 210, hash FE2A2935 + sample 30: + time = 807324 + flags = 1 + data = length 207, hash A06A178D + sample 31: + time = 830544 + flags = 1 + data = length 206, hash 1ABD9A5F + sample 32: + time = 853764 + flags = 1 + data = length 209, hash 69D7E5F3 + sample 33: + time = 876984 + flags = 1 + data = length 173, hash 7CE0FDCA + sample 34: + time = 900204 + flags = 1 + data = length 208, hash 21D67E09 + sample 35: + time = 923424 + flags = 1 + data = length 207, hash C7187D46 + sample 36: + time = 946643 + flags = 1 + data = length 180, hash D17CFAF8 + sample 37: + time = 969863 + flags = 1 + data = length 206, hash C58FD669 + sample 38: + time = 993083 + flags = 1 + data = length 212, hash 27E2F2C4 + sample 39: + time = 1016303 + flags = 1 + data = length 190, hash 534CC89E + sample 40: + time = 1039523 + flags = 1 + data = length 180, hash 1C58DF95 + sample 41: + time = 1062743 + flags = 1 + data = length 213, hash 24FBF10A + sample 42: + time = 1085963 + flags = 1 + data = length 186, hash EFC31805 + sample 43: + time = 1109183 + flags = 1 + data = length 208, hash 4A050A0D + sample 44: + time = 1132403 + flags = 1 + data = length 13, hash 2555A7DC +tracksEnded = true