From 93af537af741eb5ef99c8fdc1cd46ca1bbfad382 Mon Sep 17 00:00:00 2001 From: ibaker Date: Fri, 14 Jun 2024 03:28:29 -0700 Subject: [PATCH] Parse 'max num reorder samples' values from h.264 and h.265 videos This value is used in a follow-up change to re-order SEI messages containing CEA-6/708 data from decode order to presentation order. PiperOrigin-RevId: 643296338 --- .../java/androidx/media3/common/Format.java | 22 ++ .../media3/container/NalUnitUtil.java | 78 +++- .../media3/container/NalUnitUtilTest.java | 5 +- .../androidx/media3/extractor/AvcConfig.java | 12 + .../androidx/media3/extractor/HevcConfig.java | 15 + .../media3/extractor/mp4/AtomParsers.java | 4 + .../media3/extractor/ts/H264Reader.java | 1 + .../media3/extractor/ts/H265Reader.java | 1 + .../mp4/Mp4ExtractorParameterizedTest.java | 8 + ...ixel-motion-photo-2-hevc-tracks.jpg.0.dump | 2 + ...ixel-motion-photo-2-hevc-tracks.jpg.1.dump | 2 + ...ixel-motion-photo-2-hevc-tracks.jpg.2.dump | 2 + ...ixel-motion-photo-2-hevc-tracks.jpg.3.dump | 2 + ...on-photo-jfif-segment-shortened.jpg.0.dump | 1 + ...on-photo-jfif-segment-shortened.jpg.1.dump | 1 + ...on-photo-jfif-segment-shortened.jpg.2.dump | 1 + ...on-photo-jfif-segment-shortened.jpg.3.dump | 1 + .../extractordumps/mp4/bt601.mov.0.dump | 338 ++++++++++++++++++ .../extractordumps/mp4/bt601.mov.1.dump | 290 +++++++++++++++ .../extractordumps/mp4/bt601.mov.2.dump | 230 ++++++++++++ .../extractordumps/mp4/bt601.mov.3.dump | 170 +++++++++ .../mp4/bt601.mov.unknown_length.dump | 338 ++++++++++++++++++ ...ixel-motion-photo-2-hevc-tracks.mp4.0.dump | 2 + ...ixel-motion-photo-2-hevc-tracks.mp4.1.dump | 2 + ...ixel-motion-photo-2-hevc-tracks.mp4.2.dump | 2 + ...ixel-motion-photo-2-hevc-tracks.mp4.3.dump | 2 + ...hoto-2-hevc-tracks.mp4.unknown_length.dump | 2 + .../extractordumps/mp4/sample.mp4.0.dump | 1 + .../extractordumps/mp4/sample.mp4.1.dump | 1 + .../extractordumps/mp4/sample.mp4.2.dump | 1 + .../extractordumps/mp4/sample.mp4.3.dump | 1 + .../mp4/sample.mp4.unknown_length.dump | 1 + .../mp4/sample_18byte_nclx_colr.mp4.0.dump | 1 + .../mp4/sample_18byte_nclx_colr.mp4.1.dump | 1 + .../mp4/sample_18byte_nclx_colr.mp4.2.dump | 1 + .../mp4/sample_18byte_nclx_colr.mp4.3.dump | 1 + ...e_18byte_nclx_colr.mp4.unknown_length.dump | 1 + .../mp4/sample_android_slow_motion.mp4.0.dump | 1 + .../mp4/sample_android_slow_motion.mp4.1.dump | 1 + .../mp4/sample_android_slow_motion.mp4.2.dump | 1 + .../mp4/sample_android_slow_motion.mp4.3.dump | 1 + ...ndroid_slow_motion.mp4.unknown_length.dump | 1 + .../mp4/sample_edit_list.mp4.0.dump | 1 + .../mp4/sample_edit_list.mp4.1.dump | 1 + .../mp4/sample_edit_list.mp4.2.dump | 1 + .../mp4/sample_edit_list.mp4.3.dump | 1 + .../sample_edit_list.mp4.unknown_length.dump | 1 + .../mp4/sample_empty_track.mp4.0.dump | 1 + .../mp4/sample_empty_track.mp4.1.dump | 1 + .../mp4/sample_empty_track.mp4.2.dump | 1 + .../mp4/sample_empty_track.mp4.3.dump | 1 + ...sample_empty_track.mp4.unknown_length.dump | 1 + .../mp4/sample_fragmented.mp4.0.dump | 1 + .../sample_fragmented.mp4.unknown_length.dump | 1 + ...ample_fragmented_large_bitrates.mp4.0.dump | 1 + ...ample_fragmented_large_bitrates.mp4.1.dump | 1 + ...ample_fragmented_large_bitrates.mp4.2.dump | 1 + ...ample_fragmented_large_bitrates.mp4.3.dump | 1 + ...ted_large_bitrates.mp4.unknown_length.dump | 1 + .../mp4/sample_fragmented_seekable.mp4.0.dump | 1 + .../mp4/sample_fragmented_seekable.mp4.1.dump | 1 + .../mp4/sample_fragmented_seekable.mp4.2.dump | 1 + .../mp4/sample_fragmented_seekable.mp4.3.dump | 1 + ...ragmented_seekable.mp4.unknown_length.dump | 1 + .../mp4/sample_fragmented_sei.mp4.0.dump | 1 + ...ple_fragmented_sei.mp4.unknown_length.dump | 1 + .../mp4/sample_mdat_too_long.mp4.0.dump | 1 + .../mp4/sample_mdat_too_long.mp4.1.dump | 1 + .../mp4/sample_mdat_too_long.mp4.2.dump | 1 + .../mp4/sample_mdat_too_long.mp4.3.dump | 1 + ...mple_mdat_too_long.mp4.unknown_length.dump | 1 + .../sample_partially_fragmented.mp4.0.dump | 1 + ...rtially_fragmented.mp4.unknown_length.dump | 1 + .../mp4/sample_with_color_info.mp4.0.dump | 1 + .../mp4/sample_with_color_info.mp4.1.dump | 1 + .../mp4/sample_with_color_info.mp4.2.dump | 1 + .../mp4/sample_with_color_info.mp4.3.dump | 1 + ...le_with_color_info.mp4.unknown_length.dump | 1 + .../mp4/sample_with_metadata.mp4.0.dump | 1 + .../mp4/sample_with_metadata.mp4.1.dump | 1 + .../mp4/sample_with_metadata.mp4.2.dump | 1 + .../mp4/sample_with_metadata.mp4.3.dump | 1 + ...mple_with_metadata.mp4.unknown_length.dump | 1 + .../mp4/sample_with_numeric_genre.mp4.0.dump | 1 + .../mp4/sample_with_numeric_genre.mp4.1.dump | 1 + .../mp4/sample_with_numeric_genre.mp4.2.dump | 1 + .../mp4/sample_with_numeric_genre.mp4.3.dump | 1 + ...with_numeric_genre.mp4.unknown_length.dump | 1 + ...riginal_quicktime_specification.mov.0.dump | 1 + ...riginal_quicktime_specification.mov.1.dump | 1 + ...riginal_quicktime_specification.mov.2.dump | 1 + ...riginal_quicktime_specification.mov.3.dump | 1 + ...time_specification.mov.unknown_length.dump | 1 + .../extractordumps/ts/sample_h264.ts.0.dump | 1 + .../extractordumps/ts/sample_h264.ts.1.dump | 1 + .../extractordumps/ts/sample_h264.ts.2.dump | 1 + .../extractordumps/ts/sample_h264.ts.3.dump | 1 + .../ts/sample_h264.ts.unknown_length.dump | 1 + .../ts/sample_h264_dts_audio.ts.0.dump | 1 + ...mple_h264_dts_audio.ts.unknown_length.dump | 1 + .../ts/sample_h264_iframes_only.ts.0.dump | 1 + .../ts/sample_h264_iframes_only.ts.1.dump | 1 + .../ts/sample_h264_iframes_only.ts.2.dump | 1 + .../ts/sample_h264_iframes_only.ts.3.dump | 1 + ...e_h264_iframes_only.ts.unknown_length.dump | 1 + .../ts/sample_h264_mpeg_audio.ts.0.dump | 1 + .../ts/sample_h264_mpeg_audio.ts.1.dump | 1 + .../ts/sample_h264_mpeg_audio.ts.2.dump | 1 + .../ts/sample_h264_mpeg_audio.ts.3.dump | 1 + ...ple_h264_mpeg_audio.ts.unknown_length.dump | 1 + ...e_h264_no_access_unit_delimiters.ts.0.dump | 1 + ...e_h264_no_access_unit_delimiters.ts.1.dump | 1 + ...e_h264_no_access_unit_delimiters.ts.2.dump | 1 + ...e_h264_no_access_unit_delimiters.ts.3.dump | 1 + ...ess_unit_delimiters.ts.unknown_length.dump | 1 + .../extractordumps/ts/sample_h265.ts.0.dump | 1 + .../extractordumps/ts/sample_h265.ts.1.dump | 1 + .../extractordumps/ts/sample_h265.ts.2.dump | 1 + .../extractordumps/ts/sample_h265.ts.3.dump | 1 + .../ts/sample_h265.ts.unknown_length.dump | 1 + .../ts/sample_h265_rps_pred.ts.0.dump | 1 + .../ts/sample_h265_rps_pred.ts.1.dump | 1 + .../ts/sample_h265_rps_pred.ts.2.dump | 1 + .../ts/sample_h265_rps_pred.ts.3.dump | 1 + ...ample_h265_rps_pred.ts.unknown_length.dump | 1 + ...68kbps_30fps_avc_non_reference_3b.mp4.dump | 1 + ...x640_768kbps_30fps_avc_pyramid_3b.mp4.dump | 1 + ...s_30fps_avc_pyramid_3b.mp4_fragmented.dump | 1 + .../h265_with_metadata_track.mp4.dump | 1 + .../assets/muxerdumps/hdr10-720p.mp4.dump | 1 + .../muxerdumps/hdr10-720p.mp4_fragmented.dump | 1 + .../mp4_with_0_orientation.mp4.dump | 1 + .../mp4_with_180_orientation.mp4.dump | 1 + .../mp4_with_270_orientation.mp4.dump | 1 + .../mp4_with_90_orientation.mp4.dump | 1 + .../muxerdumps/mp4_with_b_frame.mp4.dump | 1 + .../mp4_with_b_frame_large_pts.mp4.dump | 1 + .../mp4_with_different_tracks_offset.mp4.dump | 2 + .../mp4_with_float_metadata.mp4.dump | 1 + .../muxerdumps/mp4_with_frame_rate.mp4.dump | 1 + .../muxerdumps/mp4_with_location.mp4.dump | 1 + .../mp4_with_null_location.mp4.dump | 1 + .../mp4_with_same_tracks_offset.mp4.dump | 2 + .../mp4_with_string_metadata.mp4.dump | 1 + .../muxerdumps/partial_hdr10-720p.mp4.dump | 1 + .../muxerdumps/sample_no_bframes.mp4.dump | 1 + ...mixedWith_sample_18byte_nclx_colr.mp4.dump | 1 + .../transmuxed.dump | 1 + .../mp4/sample.mp4/noaudio.dump | 1 + .../mp4/sample.mp4/original.dump | 1 + .../original_original_transmux.dump | 1 + .../mp4/sample.mp4/rotated.dump | 1 + .../mp4/sample.mp4/silence.dump | 1 + .../mp4/sample.mp4/silence_48000hz.dump | 1 + ...ng_mixedWith_test-cbr-info-header.mp3.dump | 1 + .../sample_18byte_nclx_colr.mp4/original.dump | 1 + .../sample_18byte_nclx_colr.mp4/silence.dump | 1 + .../transmuxed_with_inappmuxer.dump | 1 + .../sample_sef_slow_motion.mp4/noaudio.dump | 1 + .../mp4/sample_twos_pcm.mp4/toInt16.dump | 1 + .../clipped.dump | 1 + .../clipped_clipped_transmux.dump | 1 + .../clipped_to_empty.dump | 1 + .../original.dump | 1 + .../rotated.dump | 1 + .../highPitch_silenceHighPitch.dump | 1 + .../mixed_sample_rf64.wav.dump | 1 + .../mp4/sowt-with-video.mov/original.dump | 1 + .../sowt-with-video.mov/original_silence.dump | 1 + .../sequence_repeated3Times.dump | 1 + ...mixed_loopingAudiosowt-with-video.mov.dump | 1 + .../mp4/sowt-with-video.mov/silence.dump | 1 + .../silenceFromEffect.dump | 1 + .../silenceHighPitch_highPitch.dump | 1 + .../silenceHighPitch_silence.dump | 1 + .../silenceHighPitch_silenceHighPitch.dump | 1 + .../sowt-with-video.mov/silence_original.dump | 1 + .../sowt-with-video.mov/silence_silence.dump | 1 + .../silence_silenceHighPitch.dump | 1 + .../transmuxed_with_inappmuxer.dump | 1 + .../media3/test/utils/DumpableFormat.java | 2 + 181 files changed, 1685 insertions(+), 6 deletions(-) create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/bt601.mov.0.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/bt601.mov.1.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/bt601.mov.2.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/bt601.mov.3.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/mp4/bt601.mov.unknown_length.dump diff --git a/libraries/common/src/main/java/androidx/media3/common/Format.java b/libraries/common/src/main/java/androidx/media3/common/Format.java index b88e48d5ea..188a7f25d8 100644 --- a/libraries/common/src/main/java/androidx/media3/common/Format.java +++ b/libraries/common/src/main/java/androidx/media3/common/Format.java @@ -158,6 +158,7 @@ public final class Format { @Nullable private String sampleMimeType; private int maxInputSize; + private int maxNumReorderSamples; @Nullable private List initializationData; @Nullable private DrmInitData drmInitData; private long subsampleOffsetUs; @@ -202,6 +203,7 @@ public final class Format { peakBitrate = NO_VALUE; // Sample specific. maxInputSize = NO_VALUE; + maxNumReorderSamples = NO_VALUE; subsampleOffsetUs = OFFSET_SAMPLE_RELATIVE; // Video specific. width = NO_VALUE; @@ -244,6 +246,7 @@ public final class Format { // Sample specific. this.sampleMimeType = format.sampleMimeType; this.maxInputSize = format.maxInputSize; + this.maxNumReorderSamples = format.maxNumReorderSamples; this.initializationData = format.initializationData; this.drmInitData = format.drmInitData; this.subsampleOffsetUs = format.subsampleOffsetUs; @@ -451,6 +454,18 @@ public final class Format { return this; } + /** + * Sets {@link Format#maxNumReorderSamples}. The default value is {@link #NO_VALUE}. + * + * @param maxNumReorderSamples {@link Format#maxNumReorderSamples}. + * @return The builder. + */ + @CanIgnoreReturnValue + public Builder setMaxNumReorderSamples(int maxNumReorderSamples) { + this.maxNumReorderSamples = maxNumReorderSamples; + return this; + } + /** * Sets {@link Format#initializationData}. The default value is {@code null}. * @@ -862,6 +877,12 @@ public final class Format { */ @UnstableApi public final int maxInputSize; + /** + * The maximum number of samples that must be stored to correctly re-order samples from decode + * order to presentation order. + */ + @UnstableApi public final int maxNumReorderSamples; + /** * Initialization data that must be provided to the decoder. Will not be null, but may be empty if * initialization data is not required. @@ -1005,6 +1026,7 @@ public final class Format { // Sample specific. sampleMimeType = builder.sampleMimeType; maxInputSize = builder.maxInputSize; + maxNumReorderSamples = builder.maxNumReorderSamples; initializationData = builder.initializationData == null ? Collections.emptyList() : builder.initializationData; drmInitData = builder.drmInitData; diff --git a/libraries/container/src/main/java/androidx/media3/container/NalUnitUtil.java b/libraries/container/src/main/java/androidx/media3/container/NalUnitUtil.java index 53045c793a..874ade6988 100644 --- a/libraries/container/src/main/java/androidx/media3/container/NalUnitUtil.java +++ b/libraries/container/src/main/java/androidx/media3/container/NalUnitUtil.java @@ -15,6 +15,7 @@ */ package androidx.media3.container; +import static java.lang.Math.max; import static java.lang.Math.min; import androidx.annotation.Nullable; @@ -80,6 +81,7 @@ public final class NalUnitUtil { public final @C.ColorSpace int colorSpace; public final @C.ColorRange int colorRange; public final @C.ColorTransfer int colorTransfer; + public final int maxNumReorderFrames; public SpsData( int profileIdc, @@ -100,7 +102,8 @@ public final class NalUnitUtil { boolean deltaPicOrderAlwaysZeroFlag, @C.ColorSpace int colorSpace, @C.ColorRange int colorRange, - @C.ColorTransfer int colorTransfer) { + @C.ColorTransfer int colorTransfer, + int maxNumReorderFrames) { this.profileIdc = profileIdc; this.constraintsFlagsAndReservedZero2Bits = constraintsFlagsAndReservedZero2Bits; this.levelIdc = levelIdc; @@ -120,6 +123,7 @@ public final class NalUnitUtil { this.colorSpace = colorSpace; this.colorRange = colorRange; this.colorTransfer = colorTransfer; + this.maxNumReorderFrames = maxNumReorderFrames; } } @@ -139,6 +143,7 @@ public final class NalUnitUtil { public final int width; public final int height; public final float pixelWidthHeightRatio; + public final int maxNumReorderPics; public final @C.ColorSpace int colorSpace; public final @C.ColorRange int colorRange; public final @C.ColorTransfer int colorTransfer; @@ -157,6 +162,7 @@ public final class NalUnitUtil { int width, int height, float pixelWidthHeightRatio, + int maxNumReorderPics, @C.ColorSpace int colorSpace, @C.ColorRange int colorRange, @C.ColorTransfer int colorTransfer) { @@ -173,6 +179,7 @@ public final class NalUnitUtil { this.width = width; this.height = height; this.pixelWidthHeightRatio = pixelWidthHeightRatio; + this.maxNumReorderPics = maxNumReorderPics; this.colorSpace = colorSpace; this.colorRange = colorRange; this.colorTransfer = colorTransfer; @@ -477,8 +484,21 @@ public final class NalUnitUtil { @C.ColorRange int colorRange = Format.NO_VALUE; @C.ColorTransfer int colorTransfer = Format.NO_VALUE; float pixelWidthHeightRatio = 1; - boolean vuiParametersPresentFlag = data.readBit(); - if (vuiParametersPresentFlag) { + // Initialize to the default value defined in section E.2.1 of the H.264 spec. Precisely + // calculating MaxDpbFrames is complicated, so we short-circuit to the max value of 16 here + // instead. + int maxNumReorderFrames = + (profileIdc == 44 + || profileIdc == 86 + || profileIdc == 100 + || profileIdc == 110 + || profileIdc == 122 + || profileIdc == 244) + && ((constraintsFlagsAndReservedZero2Bits & 0x10) != 0) + ? 0 + : 16; + if (data.readBit()) { // vui_parameters_present_flag + // Section E.1.1: VUI parameters syntax boolean aspectRatioInfoPresentFlag = data.readBit(); if (aspectRatioInfoPresentFlag) { int aspectRatioIdc = data.readBits(8); @@ -511,6 +531,34 @@ public final class NalUnitUtil { ColorInfo.isoTransferCharacteristicsToColorTransfer(transferCharacteristics); } } + if (data.readBit()) { // chroma_loc_info_present_flag + data.readUnsignedExpGolombCodedInt(); // chroma_sample_loc_type_top_field + data.readUnsignedExpGolombCodedInt(); // chroma_sample_loc_type_bottom_field + } + if (data.readBit()) { // timing_info_present_flag + data.skipBits(65); // num_units_in_tick (32), time_scale (32), fixed_frame_rate_flag (1) + } + boolean nalHrdParametersPresent = data.readBit(); // nal_hrd_parameters_present_flag + if (nalHrdParametersPresent) { + skipHrdParameters(data); + } + boolean vclHrdParametersPresent = data.readBit(); // vcl_hrd_parameters_present_flag + if (vclHrdParametersPresent) { + skipHrdParameters(data); + } + if (nalHrdParametersPresent || vclHrdParametersPresent) { + data.skipBit(); // low_delay_hrd_flag + } + data.skipBit(); // pic_struct_present_flag + if (data.readBit()) { // bitstream_restriction_flag + data.skipBit(); // motion_vectors_over_pic_boundaries_flag + data.readUnsignedExpGolombCodedInt(); // max_bytes_per_pic_denom + data.readUnsignedExpGolombCodedInt(); // max_bits_per_mb_denom + data.readUnsignedExpGolombCodedInt(); // log2_max_mv_length_horizontal + data.readUnsignedExpGolombCodedInt(); // log2_max_mv_length_vertical + maxNumReorderFrames = data.readUnsignedExpGolombCodedInt(); // max_num_reorder_frames + data.readUnsignedExpGolombCodedInt(); // max_dec_frame_buffering + } } return new SpsData( @@ -532,7 +580,8 @@ public final class NalUnitUtil { deltaPicOrderAlwaysZeroFlag, colorSpace, colorRange, - colorTransfer); + colorTransfer, + maxNumReorderFrames); } /** @@ -611,10 +660,12 @@ public final class NalUnitUtil { int bitDepthLumaMinus8 = data.readUnsignedExpGolombCodedInt(); int bitDepthChromaMinus8 = data.readUnsignedExpGolombCodedInt(); int log2MaxPicOrderCntLsbMinus4 = data.readUnsignedExpGolombCodedInt(); + int maxNumReorderPics = -1; // for (i = sps_sub_layer_ordering_info_present_flag ? 0 : sps_max_sub_layers_minus1; ...) for (int i = data.readBit() ? 0 : maxSubLayersMinus1; i <= maxSubLayersMinus1; i++) { data.readUnsignedExpGolombCodedInt(); // sps_max_dec_pic_buffering_minus1[i] - data.readUnsignedExpGolombCodedInt(); // sps_max_num_reorder_pics[i] + // sps_max_num_reorder_pics[i] + maxNumReorderPics = max(data.readUnsignedExpGolombCodedInt(), maxNumReorderPics); data.readUnsignedExpGolombCodedInt(); // sps_max_latency_increase_plus1[i] } data.readUnsignedExpGolombCodedInt(); // log2_min_luma_coding_block_size_minus3 @@ -708,6 +759,7 @@ public final class NalUnitUtil { frameWidth, frameHeight, pixelWidthHeightRatio, + maxNumReorderPics, colorSpace, colorRange, colorTransfer); @@ -855,6 +907,22 @@ public final class NalUnitUtil { } } + /** Skip HRD parameters in {@code data}, as defined in E.1.2 of the H.264 spec. */ + private static void skipHrdParameters(ParsableNalUnitBitArray data) { + int codedPictureBufferCount = data.readUnsignedExpGolombCodedInt() + 1; // cpb_cnt_minus1 + data.skipBits(8); // bit_rate_scale (4), cpb_size_scale (4) + for (int i = 0; i < codedPictureBufferCount; i++) { + data.readUnsignedExpGolombCodedInt(); // bit_rate_value_minus1[i] + data.readUnsignedExpGolombCodedInt(); // cpb_size_value_minus1[i] + data.skipBit(); // cbr_flag[i] + } + // initial_cpb_removal_delay_length_minus1 (5) + // cpb_removal_delay_length_minus1 (5) + // dpb_output_delay_length_minus1 (5) + // time_offset_length (5) + data.skipBits(20); + } + private static void skipH265ScalingList(ParsableNalUnitBitArray bitArray) { for (int sizeId = 0; sizeId < 4; sizeId++) { for (int matrixId = 0; matrixId < 6; matrixId += sizeId == 3 ? 3 : 1) { diff --git a/libraries/container/src/test/java/androidx/media3/container/NalUnitUtilTest.java b/libraries/container/src/test/java/androidx/media3/container/NalUnitUtilTest.java index a6c97bd158..e80baedae0 100644 --- a/libraries/container/src/test/java/androidx/media3/container/NalUnitUtilTest.java +++ b/libraries/container/src/test/java/androidx/media3/container/NalUnitUtilTest.java @@ -34,7 +34,7 @@ public final class NalUnitUtilTest { private static final byte[] SPS_TEST_DATA = createByteArray( 0x00, 0x00, 0x01, 0x67, 0x4D, 0x40, 0x16, 0xEC, 0xA0, 0x50, 0x17, 0xFC, 0xB8, 0x0A, 0x90, - 0x91, 0x00, 0x03, 0x00, 0x80, 0x00, 0x00, 0x0F, 0x47, 0x8B, 0x16, 0xCB); + 0x91, 0x00, 0x00, 0x7E, 0xA0); private static final int SPS_TEST_DATA_OFFSET = 3; @Test @@ -140,6 +140,7 @@ public final class NalUnitUtilTest { assertThat(data.colorSpace).isEqualTo(6); assertThat(data.colorRange).isEqualTo(2); assertThat(data.colorTransfer).isEqualTo(6); + assertThat(data.maxNumReorderFrames).isEqualTo(1); } @Test @@ -200,6 +201,7 @@ public final class NalUnitUtilTest { assertThat(spsData.colorSpace).isEqualTo(6); assertThat(spsData.colorRange).isEqualTo(2); assertThat(spsData.colorTransfer).isEqualTo(6); + assertThat(spsData.maxNumReorderPics).isEqualTo(2); } /** Regression test for [Internal: b/292170736]. */ @@ -231,6 +233,7 @@ public final class NalUnitUtilTest { assertThat(spsData.colorSpace).isEqualTo(6); assertThat(spsData.colorRange).isEqualTo(2); assertThat(spsData.colorTransfer).isEqualTo(6); + assertThat(spsData.maxNumReorderPics).isEqualTo(0); } private static byte[] buildTestData() { diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/AvcConfig.java b/libraries/extractor/src/main/java/androidx/media3/extractor/AvcConfig.java index 3a813705dd..937a8009b2 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/AvcConfig.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/AvcConfig.java @@ -65,6 +65,8 @@ public final class AvcConfig { @C.ColorTransfer int colorTransfer = Format.NO_VALUE; float pixelWidthHeightRatio = 1; @Nullable String codecs = null; + // Max possible value defined in section E.2.1 of the H.264 spec. + int maxNumReorderFrames = 16; if (numSequenceParameterSets > 0) { byte[] sps = initializationData.get(0); SpsData spsData = @@ -77,6 +79,7 @@ public final class AvcConfig { colorSpace = spsData.colorSpace; colorRange = spsData.colorRange; colorTransfer = spsData.colorTransfer; + maxNumReorderFrames = spsData.maxNumReorderFrames; pixelWidthHeightRatio = spsData.pixelWidthHeightRatio; codecs = CodecSpecificDataUtil.buildAvcCodecString( @@ -93,6 +96,7 @@ public final class AvcConfig { colorSpace, colorRange, colorTransfer, + maxNumReorderFrames, pixelWidthHeightRatio, codecs); } catch (ArrayIndexOutOfBoundsException e) { @@ -138,6 +142,12 @@ public final class AvcConfig { */ public final @C.ColorTransfer int colorTransfer; + /** + * The value of {@code max_num_reorder_frames} read from the VUI parameters, or inferred according + * to the spec if absent. + */ + public final int maxNumReorderFrames; + /** The pixel width to height ratio. */ public final float pixelWidthHeightRatio; @@ -158,6 +168,7 @@ public final class AvcConfig { @C.ColorSpace int colorSpace, @C.ColorRange int colorRange, @C.ColorTransfer int colorTransfer, + int maxNumReorderFrames, float pixelWidthHeightRatio, @Nullable String codecs) { this.initializationData = initializationData; @@ -169,6 +180,7 @@ public final class AvcConfig { this.colorSpace = colorSpace; this.colorRange = colorRange; this.colorTransfer = colorTransfer; + this.maxNumReorderFrames = maxNumReorderFrames; this.pixelWidthHeightRatio = pixelWidthHeightRatio; this.codecs = codecs; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/HevcConfig.java b/libraries/extractor/src/main/java/androidx/media3/extractor/HevcConfig.java index 81ae354fd0..29317967e6 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/HevcConfig.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/HevcConfig.java @@ -69,6 +69,7 @@ public final class HevcConfig { @C.ColorRange int colorRange = Format.NO_VALUE; @C.ColorTransfer int colorTransfer = Format.NO_VALUE; float pixelWidthHeightRatio = 1; + int maxNumReorderPics = Format.NO_VALUE; @Nullable String codecs = null; for (int i = 0; i < numberOfArrays; i++) { int nalUnitType = @@ -97,6 +98,8 @@ public final class HevcConfig { colorRange = spsData.colorRange; colorTransfer = spsData.colorTransfer; pixelWidthHeightRatio = spsData.pixelWidthHeightRatio; + maxNumReorderPics = spsData.maxNumReorderPics; + codecs = CodecSpecificDataUtil.buildHevcCodecString( spsData.generalProfileSpace, @@ -124,6 +127,7 @@ public final class HevcConfig { colorRange, colorTransfer, pixelWidthHeightRatio, + maxNumReorderPics, codecs); } catch (ArrayIndexOutOfBoundsException e) { throw ParserException.createForMalformedContainer("Error parsing HEVC config", e); @@ -173,6 +177,15 @@ public final class HevcConfig { /** The pixel width to height ratio. */ public final float pixelWidthHeightRatio; + /** + * The {@code sps_max_num_reorder_pics} value. + * + *

If a different value is present for each layer (due to {@code + * sps_sub_layer_ordering_info_present_flag}), this value is the max of the values for all the + * layers. + */ + public final int maxNumReorderPics; + /** * An RFC 6381 codecs string representing the video format, or {@code null} if not known. * @@ -191,6 +204,7 @@ public final class HevcConfig { @C.ColorRange int colorRange, @C.ColorTransfer int colorTransfer, float pixelWidthHeightRatio, + int maxNumReorderPics, @Nullable String codecs) { this.initializationData = initializationData; this.nalUnitLengthFieldLength = nalUnitLengthFieldLength; @@ -202,6 +216,7 @@ public final class HevcConfig { this.colorRange = colorRange; this.colorTransfer = colorTransfer; this.pixelWidthHeightRatio = pixelWidthHeightRatio; + this.maxNumReorderPics = maxNumReorderPics; this.codecs = codecs; } } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/AtomParsers.java b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/AtomParsers.java index 3b6a3384e7..21e2ff43e2 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/AtomParsers.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/AtomParsers.java @@ -1153,6 +1153,7 @@ import java.util.Objects; @Nullable byte[] projectionData = null; @C.StereoMode int stereoMode = Format.NO_VALUE; @Nullable EsdsData esdsData = null; + int maxNumReorderSamples = Format.NO_VALUE; // HDR related metadata. @C.ColorSpace int colorSpace = Format.NO_VALUE; @@ -1182,6 +1183,7 @@ import java.util.Objects; pixelWidthHeightRatio = avcConfig.pixelWidthHeightRatio; } codecs = avcConfig.codecs; + maxNumReorderSamples = avcConfig.maxNumReorderFrames; colorSpace = avcConfig.colorSpace; colorRange = avcConfig.colorRange; colorTransfer = avcConfig.colorTransfer; @@ -1197,6 +1199,7 @@ import java.util.Objects; if (!pixelWidthHeightRatioFromPasp) { pixelWidthHeightRatio = hevcConfig.pixelWidthHeightRatio; } + maxNumReorderSamples = hevcConfig.maxNumReorderPics; codecs = hevcConfig.codecs; colorSpace = hevcConfig.colorSpace; colorRange = hevcConfig.colorRange; @@ -1367,6 +1370,7 @@ import java.util.Objects; .setProjectionData(projectionData) .setStereoMode(stereoMode) .setInitializationData(initializationData) + .setMaxNumReorderSamples(maxNumReorderSamples) .setDrmInitData(drmInitData) // Note that if either mdcv or clli are missing, we leave the corresponding HDR static // metadata bytes with value zero. See [Internal ref: b/194535665]. diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H264Reader.java b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H264Reader.java index 3990ae0486..9b1cb5d471 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H264Reader.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H264Reader.java @@ -228,6 +228,7 @@ public final class H264Reader implements ElementaryStreamReader { .build()) .setPixelWidthHeightRatio(spsData.pixelWidthHeightRatio) .setInitializationData(initializationData) + .setMaxNumReorderSamples(spsData.maxNumReorderFrames) .build()); hasOutputFormat = true; sampleReader.putSps(spsData); diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H265Reader.java b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H265Reader.java index 3363ecc012..51b4a007bf 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H265Reader.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H265Reader.java @@ -272,6 +272,7 @@ public final class H265Reader implements ElementaryStreamReader { .setChromaBitdepth(spsData.bitDepthChromaMinus8 + 8) .build()) .setPixelWidthHeightRatio(spsData.pixelWidthHeightRatio) + .setMaxNumReorderSamples(spsData.maxNumReorderPics) .setInitializationData(Collections.singletonList(csdData)) .build(); } diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/mp4/Mp4ExtractorParameterizedTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/mp4/Mp4ExtractorParameterizedTest.java index bd20b95704..328cf666f1 100644 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/mp4/Mp4ExtractorParameterizedTest.java +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/mp4/Mp4ExtractorParameterizedTest.java @@ -258,6 +258,14 @@ public final class Mp4ExtractorParameterizedTest { simulationConfig); } + @Test + public void mp4SampleWithNoMaxNumReorderFramesValue() throws Exception { + ExtractorAsserts.assertBehavior( + getExtractorFactory(subtitlesParsedDuringExtraction), + "media/mp4/bt601.mov", + simulationConfig); + } + private static ExtractorAsserts.ExtractorFactory getExtractorFactory( boolean subtitlesParsedDuringExtraction) { SubtitleParser.Factory subtitleParserFactory; diff --git a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.0.dump b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.0.dump index e02002c847..57ef290cd5 100644 --- a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.0.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/hevc codecs = hvc1.1.6.L153 maxInputSize = 229249 + maxNumReorderSamples = 0 width = 1024 height = 768 frameRate = 27.609846 @@ -268,6 +269,7 @@ track 1: sampleMimeType = video/hevc codecs = hvc1.1.6.L153 maxInputSize = 151345 + maxNumReorderSamples = 0 width = 2048 height = 1536 frameRate = 2.142245 diff --git a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.1.dump b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.1.dump index dda8dd13dc..8f7812219b 100644 --- a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.1.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/hevc codecs = hvc1.1.6.L153 maxInputSize = 229249 + maxNumReorderSamples = 0 width = 1024 height = 768 frameRate = 27.609846 @@ -212,6 +213,7 @@ track 1: sampleMimeType = video/hevc codecs = hvc1.1.6.L153 maxInputSize = 151345 + maxNumReorderSamples = 0 width = 2048 height = 1536 frameRate = 2.142245 diff --git a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.2.dump b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.2.dump index db086e6742..eba34c1033 100644 --- a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.2.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/hevc codecs = hvc1.1.6.L153 maxInputSize = 229249 + maxNumReorderSamples = 0 width = 1024 height = 768 frameRate = 27.609846 @@ -128,6 +129,7 @@ track 1: sampleMimeType = video/hevc codecs = hvc1.1.6.L153 maxInputSize = 151345 + maxNumReorderSamples = 0 width = 2048 height = 1536 frameRate = 2.142245 diff --git a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.3.dump b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.3.dump index 3d080f06a8..5a67abf79d 100644 --- a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.3.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/hevc codecs = hvc1.1.6.L153 maxInputSize = 229249 + maxNumReorderSamples = 0 width = 1024 height = 768 frameRate = 27.609846 @@ -44,6 +45,7 @@ track 1: sampleMimeType = video/hevc codecs = hvc1.1.6.L153 maxInputSize = 151345 + maxNumReorderSamples = 0 width = 2048 height = 1536 frameRate = 2.142245 diff --git a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.0.dump b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.0.dump index 73cee9d278..86dd3090f5 100644 --- a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.0.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64000A maxInputSize = 3895 + maxNumReorderSamples = 2 width = 180 height = 120 frameRate = 1.1534026 diff --git a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.1.dump b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.1.dump index 73cee9d278..86dd3090f5 100644 --- a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.1.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64000A maxInputSize = 3895 + maxNumReorderSamples = 2 width = 180 height = 120 frameRate = 1.1534026 diff --git a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.2.dump b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.2.dump index 73cee9d278..86dd3090f5 100644 --- a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.2.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64000A maxInputSize = 3895 + maxNumReorderSamples = 2 width = 180 height = 120 frameRate = 1.1534026 diff --git a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.3.dump b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.3.dump index 73cee9d278..86dd3090f5 100644 --- a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.3.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64000A maxInputSize = 3895 + maxNumReorderSamples = 2 width = 180 height = 120 frameRate = 1.1534026 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/bt601.mov.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/bt601.mov.0.dump new file mode 100644 index 0000000000..c834795c96 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/bt601.mov.0.dump @@ -0,0 +1,338 @@ +seekMap: + isSeekable = true + duration = 1020100 + getPosition(0) = [[timeUs=0, position=36]] + getPosition(1) = [[timeUs=0, position=36]] + getPosition(510050) = [[timeUs=0, position=36]] + getPosition(1020100) = [[timeUs=0, position=36]] +numberOfTracks = 2 +track 0: + total output bytes = 9294 + sample count = 43 + format 0: + peakBitrate = 200000 + id = 1 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + maxInputSize = 294 + channelCount = 1 + sampleRate = 44100 + language = und + metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3790610215, modification time=3790610215, timescale=30000] + initializationData: + data = length 2, hash 5F7 + sample 0: + time = 44000 + flags = 1 + data = length 23, hash 47DE9131 + sample 1: + time = 67219 + flags = 1 + data = length 6, hash 31EC5206 + sample 2: + time = 90439 + flags = 1 + data = length 148, hash 894A176B + sample 3: + time = 113659 + flags = 1 + data = length 189, hash CEF235A1 + sample 4: + time = 136879 + flags = 1 + data = length 205, hash BBF5F7B0 + sample 5: + time = 160099 + flags = 1 + data = length 210, hash F278B193 + sample 6: + time = 183319 + flags = 1 + data = length 210, hash 82DA1589 + sample 7: + time = 206539 + flags = 1 + data = length 207, hash 5BE231DF + sample 8: + time = 229759 + flags = 1 + data = length 225, hash 18819EE1 + sample 9: + time = 252979 + flags = 1 + data = length 215, hash CA7FA67B + sample 10: + time = 276199 + flags = 1 + data = length 211, hash 581A1C18 + sample 11: + time = 299419 + flags = 1 + data = length 216, hash ADB88187 + sample 12: + time = 322639 + flags = 1 + data = length 229, hash 2E8BA4DC + sample 13: + time = 345859 + flags = 1 + data = length 232, hash 22F0C510 + sample 14: + time = 369079 + flags = 1 + data = length 235, hash 867AD0DC + sample 15: + time = 392299 + flags = 1 + data = length 231, hash 84E823A8 + sample 16: + time = 415519 + flags = 1 + data = length 226, hash 1BEF3A95 + sample 17: + time = 438739 + flags = 1 + data = length 216, hash EAA345AE + sample 18: + time = 461959 + flags = 1 + data = length 229, hash 6957411F + sample 19: + time = 485179 + flags = 1 + data = length 219, hash 41275022 + sample 20: + time = 508399 + flags = 1 + data = length 241, hash 6495DF96 + sample 21: + time = 531619 + flags = 1 + data = length 228, hash 63D95906 + sample 22: + time = 554839 + flags = 1 + data = length 238, hash 34F676F9 + sample 23: + time = 578058 + flags = 1 + data = length 234, hash E5CBC045 + sample 24: + time = 601278 + flags = 1 + data = length 231, hash 5FC43661 + sample 25: + time = 624498 + flags = 1 + data = length 217, hash 682708ED + sample 26: + time = 647718 + flags = 1 + data = length 239, hash D43780FC + sample 27: + time = 670938 + flags = 1 + data = length 243, hash C5E17980 + sample 28: + time = 694158 + flags = 1 + data = length 231, hash AC5837BA + sample 29: + time = 717378 + flags = 1 + data = length 230, hash 169EE895 + sample 30: + time = 740598 + flags = 1 + data = length 238, hash C48FF3F1 + sample 31: + time = 763818 + flags = 1 + data = length 225, hash 531E4599 + sample 32: + time = 787038 + flags = 1 + data = length 232, hash CB3C6B8D + sample 33: + time = 810258 + flags = 1 + data = length 243, hash F8C94C7 + sample 34: + time = 833478 + flags = 1 + data = length 232, hash A646A7D0 + sample 35: + time = 856698 + flags = 1 + data = length 237, hash E8B787A5 + sample 36: + time = 879918 + flags = 1 + data = length 228, hash 3FA7A29F + sample 37: + time = 903138 + flags = 1 + data = length 235, hash B9B33B0A + sample 38: + time = 926358 + flags = 1 + data = length 264, hash 71A4869E + sample 39: + time = 949578 + flags = 1 + data = length 257, hash D049B54C + sample 40: + time = 972798 + flags = 1 + data = length 227, hash 66757231 + sample 41: + time = 996018 + flags = 1 + data = length 227, hash BD374F1B + sample 42: + time = 1019238 + flags = 536870913 + data = length 235, hash 999477F6 +track 1: + total output bytes = 130926 + sample count = 30 + format 0: + id = 2 + sampleMimeType = video/avc + codecs = avc1.4D001E + maxInputSize = 25345 + maxNumReorderSamples = 16 + width = 640 + height = 428 + frameRate = 29.408882 + colorInfo: + colorSpace = 2 + colorRange = 2 + colorTransfer = 3 + lumaBitdepth = 8 + chromaBitdepth = 8 + metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3790610215, modification time=3790610215, timescale=30000] + initializationData: + data = length 19, hash D3863A4C + data = length 8, hash 9464788C + sample 0: + time = 0 + flags = 1 + data = length 25315, hash 4F94DFD9 + sample 1: + time = 66733 + flags = 0 + data = length 2974, hash CE870018 + sample 2: + time = 33366 + flags = 0 + data = length 520, hash 755D4D65 + sample 3: + time = 133466 + flags = 0 + data = length 5849, hash 62ABA3A6 + sample 4: + time = 100100 + flags = 0 + data = length 665, hash 5B3919F5 + sample 5: + time = 200200 + flags = 0 + data = length 4934, hash EA186643 + sample 6: + time = 166833 + flags = 0 + data = length 1006, hash 50307604 + sample 7: + time = 266933 + flags = 0 + data = length 7081, hash B3F2E23A + sample 8: + time = 233566 + flags = 0 + data = length 635, hash B197BCDB + sample 9: + time = 333666 + flags = 0 + data = length 6589, hash C7FAA564 + sample 10: + time = 300300 + flags = 0 + data = length 650, hash A3AFA416 + sample 11: + time = 400400 + flags = 0 + data = length 8533, hash 4951EBBA + sample 12: + time = 367033 + flags = 0 + data = length 758, hash EAF337EE + sample 13: + time = 467133 + flags = 0 + data = length 11584, hash 13DE8D1D + sample 14: + time = 433766 + flags = 0 + data = length 2163, hash 1EB6F423 + sample 15: + time = 533866 + flags = 0 + data = length 5286, hash 2FF4E597 + sample 16: + time = 500500 + flags = 0 + data = length 1365, hash 2740F6BA + sample 17: + time = 600600 + flags = 0 + data = length 10250, hash 4C4C05E9 + sample 18: + time = 567233 + flags = 0 + data = length 1203, hash 194F1FD6 + sample 19: + time = 667333 + flags = 0 + data = length 7373, hash D00D482 + sample 20: + time = 633966 + flags = 0 + data = length 1261, hash ED32D57D + sample 21: + time = 734066 + flags = 0 + data = length 6347, hash 2B6EB74D + sample 22: + time = 700700 + flags = 0 + data = length 833, hash 81BC5D34 + sample 23: + time = 800800 + flags = 0 + data = length 5538, hash 9951853 + sample 24: + time = 767433 + flags = 0 + data = length 657, hash 6EBAC33A + sample 25: + time = 867533 + flags = 0 + data = length 4109, hash 42BE3B2F + sample 26: + time = 834166 + flags = 0 + data = length 789, hash D766C08 + sample 27: + time = 934266 + flags = 0 + data = length 3108, hash 1C48E56B + sample 28: + time = 900900 + flags = 0 + data = length 541, hash B429D47 + sample 29: + time = 967633 + flags = 536870912 + data = length 3010, hash 1FC94085 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/bt601.mov.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/bt601.mov.1.dump new file mode 100644 index 0000000000..13714da643 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/bt601.mov.1.dump @@ -0,0 +1,290 @@ +seekMap: + isSeekable = true + duration = 1020100 + getPosition(0) = [[timeUs=0, position=36]] + getPosition(1) = [[timeUs=0, position=36]] + getPosition(510050) = [[timeUs=0, position=36]] + getPosition(1020100) = [[timeUs=0, position=36]] +numberOfTracks = 2 +track 0: + total output bytes = 7229 + sample count = 31 + format 0: + peakBitrate = 200000 + id = 1 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + maxInputSize = 294 + channelCount = 1 + sampleRate = 44100 + language = und + metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3790610215, modification time=3790610215, timescale=30000] + initializationData: + data = length 2, hash 5F7 + sample 0: + time = 322639 + flags = 1 + data = length 229, hash 2E8BA4DC + sample 1: + time = 345859 + flags = 1 + data = length 232, hash 22F0C510 + sample 2: + time = 369079 + flags = 1 + data = length 235, hash 867AD0DC + sample 3: + time = 392299 + flags = 1 + data = length 231, hash 84E823A8 + sample 4: + time = 415519 + flags = 1 + data = length 226, hash 1BEF3A95 + sample 5: + time = 438739 + flags = 1 + data = length 216, hash EAA345AE + sample 6: + time = 461959 + flags = 1 + data = length 229, hash 6957411F + sample 7: + time = 485179 + flags = 1 + data = length 219, hash 41275022 + sample 8: + time = 508399 + flags = 1 + data = length 241, hash 6495DF96 + sample 9: + time = 531619 + flags = 1 + data = length 228, hash 63D95906 + sample 10: + time = 554839 + flags = 1 + data = length 238, hash 34F676F9 + sample 11: + time = 578058 + flags = 1 + data = length 234, hash E5CBC045 + sample 12: + time = 601278 + flags = 1 + data = length 231, hash 5FC43661 + sample 13: + time = 624498 + flags = 1 + data = length 217, hash 682708ED + sample 14: + time = 647718 + flags = 1 + data = length 239, hash D43780FC + sample 15: + time = 670938 + flags = 1 + data = length 243, hash C5E17980 + sample 16: + time = 694158 + flags = 1 + data = length 231, hash AC5837BA + sample 17: + time = 717378 + flags = 1 + data = length 230, hash 169EE895 + sample 18: + time = 740598 + flags = 1 + data = length 238, hash C48FF3F1 + sample 19: + time = 763818 + flags = 1 + data = length 225, hash 531E4599 + sample 20: + time = 787038 + flags = 1 + data = length 232, hash CB3C6B8D + sample 21: + time = 810258 + flags = 1 + data = length 243, hash F8C94C7 + sample 22: + time = 833478 + flags = 1 + data = length 232, hash A646A7D0 + sample 23: + time = 856698 + flags = 1 + data = length 237, hash E8B787A5 + sample 24: + time = 879918 + flags = 1 + data = length 228, hash 3FA7A29F + sample 25: + time = 903138 + flags = 1 + data = length 235, hash B9B33B0A + sample 26: + time = 926358 + flags = 1 + data = length 264, hash 71A4869E + sample 27: + time = 949578 + flags = 1 + data = length 257, hash D049B54C + sample 28: + time = 972798 + flags = 1 + data = length 227, hash 66757231 + sample 29: + time = 996018 + flags = 1 + data = length 227, hash BD374F1B + sample 30: + time = 1019238 + flags = 536870913 + data = length 235, hash 999477F6 +track 1: + total output bytes = 130926 + sample count = 30 + format 0: + id = 2 + sampleMimeType = video/avc + codecs = avc1.4D001E + maxInputSize = 25345 + maxNumReorderSamples = 16 + width = 640 + height = 428 + frameRate = 29.408882 + colorInfo: + colorSpace = 2 + colorRange = 2 + colorTransfer = 3 + lumaBitdepth = 8 + chromaBitdepth = 8 + metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3790610215, modification time=3790610215, timescale=30000] + initializationData: + data = length 19, hash D3863A4C + data = length 8, hash 9464788C + sample 0: + time = 0 + flags = 1 + data = length 25315, hash 4F94DFD9 + sample 1: + time = 66733 + flags = 0 + data = length 2974, hash CE870018 + sample 2: + time = 33366 + flags = 0 + data = length 520, hash 755D4D65 + sample 3: + time = 133466 + flags = 0 + data = length 5849, hash 62ABA3A6 + sample 4: + time = 100100 + flags = 0 + data = length 665, hash 5B3919F5 + sample 5: + time = 200200 + flags = 0 + data = length 4934, hash EA186643 + sample 6: + time = 166833 + flags = 0 + data = length 1006, hash 50307604 + sample 7: + time = 266933 + flags = 0 + data = length 7081, hash B3F2E23A + sample 8: + time = 233566 + flags = 0 + data = length 635, hash B197BCDB + sample 9: + time = 333666 + flags = 0 + data = length 6589, hash C7FAA564 + sample 10: + time = 300300 + flags = 0 + data = length 650, hash A3AFA416 + sample 11: + time = 400400 + flags = 0 + data = length 8533, hash 4951EBBA + sample 12: + time = 367033 + flags = 0 + data = length 758, hash EAF337EE + sample 13: + time = 467133 + flags = 0 + data = length 11584, hash 13DE8D1D + sample 14: + time = 433766 + flags = 0 + data = length 2163, hash 1EB6F423 + sample 15: + time = 533866 + flags = 0 + data = length 5286, hash 2FF4E597 + sample 16: + time = 500500 + flags = 0 + data = length 1365, hash 2740F6BA + sample 17: + time = 600600 + flags = 0 + data = length 10250, hash 4C4C05E9 + sample 18: + time = 567233 + flags = 0 + data = length 1203, hash 194F1FD6 + sample 19: + time = 667333 + flags = 0 + data = length 7373, hash D00D482 + sample 20: + time = 633966 + flags = 0 + data = length 1261, hash ED32D57D + sample 21: + time = 734066 + flags = 0 + data = length 6347, hash 2B6EB74D + sample 22: + time = 700700 + flags = 0 + data = length 833, hash 81BC5D34 + sample 23: + time = 800800 + flags = 0 + data = length 5538, hash 9951853 + sample 24: + time = 767433 + flags = 0 + data = length 657, hash 6EBAC33A + sample 25: + time = 867533 + flags = 0 + data = length 4109, hash 42BE3B2F + sample 26: + time = 834166 + flags = 0 + data = length 789, hash D766C08 + sample 27: + time = 934266 + flags = 0 + data = length 3108, hash 1C48E56B + sample 28: + time = 900900 + flags = 0 + data = length 541, hash B429D47 + sample 29: + time = 967633 + flags = 536870912 + data = length 3010, hash 1FC94085 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/bt601.mov.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/bt601.mov.2.dump new file mode 100644 index 0000000000..751c4d959b --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/bt601.mov.2.dump @@ -0,0 +1,230 @@ +seekMap: + isSeekable = true + duration = 1020100 + getPosition(0) = [[timeUs=0, position=36]] + getPosition(1) = [[timeUs=0, position=36]] + getPosition(510050) = [[timeUs=0, position=36]] + getPosition(1020100) = [[timeUs=0, position=36]] +numberOfTracks = 2 +track 0: + total output bytes = 3784 + sample count = 16 + format 0: + peakBitrate = 200000 + id = 1 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + maxInputSize = 294 + channelCount = 1 + sampleRate = 44100 + language = und + metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3790610215, modification time=3790610215, timescale=30000] + initializationData: + data = length 2, hash 5F7 + sample 0: + time = 670938 + flags = 1 + data = length 243, hash C5E17980 + sample 1: + time = 694158 + flags = 1 + data = length 231, hash AC5837BA + sample 2: + time = 717378 + flags = 1 + data = length 230, hash 169EE895 + sample 3: + time = 740598 + flags = 1 + data = length 238, hash C48FF3F1 + sample 4: + time = 763818 + flags = 1 + data = length 225, hash 531E4599 + sample 5: + time = 787038 + flags = 1 + data = length 232, hash CB3C6B8D + sample 6: + time = 810258 + flags = 1 + data = length 243, hash F8C94C7 + sample 7: + time = 833478 + flags = 1 + data = length 232, hash A646A7D0 + sample 8: + time = 856698 + flags = 1 + data = length 237, hash E8B787A5 + sample 9: + time = 879918 + flags = 1 + data = length 228, hash 3FA7A29F + sample 10: + time = 903138 + flags = 1 + data = length 235, hash B9B33B0A + sample 11: + time = 926358 + flags = 1 + data = length 264, hash 71A4869E + sample 12: + time = 949578 + flags = 1 + data = length 257, hash D049B54C + sample 13: + time = 972798 + flags = 1 + data = length 227, hash 66757231 + sample 14: + time = 996018 + flags = 1 + data = length 227, hash BD374F1B + sample 15: + time = 1019238 + flags = 536870913 + data = length 235, hash 999477F6 +track 1: + total output bytes = 130926 + sample count = 30 + format 0: + id = 2 + sampleMimeType = video/avc + codecs = avc1.4D001E + maxInputSize = 25345 + maxNumReorderSamples = 16 + width = 640 + height = 428 + frameRate = 29.408882 + colorInfo: + colorSpace = 2 + colorRange = 2 + colorTransfer = 3 + lumaBitdepth = 8 + chromaBitdepth = 8 + metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3790610215, modification time=3790610215, timescale=30000] + initializationData: + data = length 19, hash D3863A4C + data = length 8, hash 9464788C + sample 0: + time = 0 + flags = 1 + data = length 25315, hash 4F94DFD9 + sample 1: + time = 66733 + flags = 0 + data = length 2974, hash CE870018 + sample 2: + time = 33366 + flags = 0 + data = length 520, hash 755D4D65 + sample 3: + time = 133466 + flags = 0 + data = length 5849, hash 62ABA3A6 + sample 4: + time = 100100 + flags = 0 + data = length 665, hash 5B3919F5 + sample 5: + time = 200200 + flags = 0 + data = length 4934, hash EA186643 + sample 6: + time = 166833 + flags = 0 + data = length 1006, hash 50307604 + sample 7: + time = 266933 + flags = 0 + data = length 7081, hash B3F2E23A + sample 8: + time = 233566 + flags = 0 + data = length 635, hash B197BCDB + sample 9: + time = 333666 + flags = 0 + data = length 6589, hash C7FAA564 + sample 10: + time = 300300 + flags = 0 + data = length 650, hash A3AFA416 + sample 11: + time = 400400 + flags = 0 + data = length 8533, hash 4951EBBA + sample 12: + time = 367033 + flags = 0 + data = length 758, hash EAF337EE + sample 13: + time = 467133 + flags = 0 + data = length 11584, hash 13DE8D1D + sample 14: + time = 433766 + flags = 0 + data = length 2163, hash 1EB6F423 + sample 15: + time = 533866 + flags = 0 + data = length 5286, hash 2FF4E597 + sample 16: + time = 500500 + flags = 0 + data = length 1365, hash 2740F6BA + sample 17: + time = 600600 + flags = 0 + data = length 10250, hash 4C4C05E9 + sample 18: + time = 567233 + flags = 0 + data = length 1203, hash 194F1FD6 + sample 19: + time = 667333 + flags = 0 + data = length 7373, hash D00D482 + sample 20: + time = 633966 + flags = 0 + data = length 1261, hash ED32D57D + sample 21: + time = 734066 + flags = 0 + data = length 6347, hash 2B6EB74D + sample 22: + time = 700700 + flags = 0 + data = length 833, hash 81BC5D34 + sample 23: + time = 800800 + flags = 0 + data = length 5538, hash 9951853 + sample 24: + time = 767433 + flags = 0 + data = length 657, hash 6EBAC33A + sample 25: + time = 867533 + flags = 0 + data = length 4109, hash 42BE3B2F + sample 26: + time = 834166 + flags = 0 + data = length 789, hash D766C08 + sample 27: + time = 934266 + flags = 0 + data = length 3108, hash 1C48E56B + sample 28: + time = 900900 + flags = 0 + data = length 541, hash B429D47 + sample 29: + time = 967633 + flags = 536870912 + data = length 3010, hash 1FC94085 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/bt601.mov.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/bt601.mov.3.dump new file mode 100644 index 0000000000..c7dcf5b750 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/bt601.mov.3.dump @@ -0,0 +1,170 @@ +seekMap: + isSeekable = true + duration = 1020100 + getPosition(0) = [[timeUs=0, position=36]] + getPosition(1) = [[timeUs=0, position=36]] + getPosition(510050) = [[timeUs=0, position=36]] + getPosition(1020100) = [[timeUs=0, position=36]] +numberOfTracks = 2 +track 0: + total output bytes = 235 + sample count = 1 + format 0: + peakBitrate = 200000 + id = 1 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + maxInputSize = 294 + channelCount = 1 + sampleRate = 44100 + language = und + metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3790610215, modification time=3790610215, timescale=30000] + initializationData: + data = length 2, hash 5F7 + sample 0: + time = 1019238 + flags = 536870913 + data = length 235, hash 999477F6 +track 1: + total output bytes = 130926 + sample count = 30 + format 0: + id = 2 + sampleMimeType = video/avc + codecs = avc1.4D001E + maxInputSize = 25345 + maxNumReorderSamples = 16 + width = 640 + height = 428 + frameRate = 29.408882 + colorInfo: + colorSpace = 2 + colorRange = 2 + colorTransfer = 3 + lumaBitdepth = 8 + chromaBitdepth = 8 + metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3790610215, modification time=3790610215, timescale=30000] + initializationData: + data = length 19, hash D3863A4C + data = length 8, hash 9464788C + sample 0: + time = 0 + flags = 1 + data = length 25315, hash 4F94DFD9 + sample 1: + time = 66733 + flags = 0 + data = length 2974, hash CE870018 + sample 2: + time = 33366 + flags = 0 + data = length 520, hash 755D4D65 + sample 3: + time = 133466 + flags = 0 + data = length 5849, hash 62ABA3A6 + sample 4: + time = 100100 + flags = 0 + data = length 665, hash 5B3919F5 + sample 5: + time = 200200 + flags = 0 + data = length 4934, hash EA186643 + sample 6: + time = 166833 + flags = 0 + data = length 1006, hash 50307604 + sample 7: + time = 266933 + flags = 0 + data = length 7081, hash B3F2E23A + sample 8: + time = 233566 + flags = 0 + data = length 635, hash B197BCDB + sample 9: + time = 333666 + flags = 0 + data = length 6589, hash C7FAA564 + sample 10: + time = 300300 + flags = 0 + data = length 650, hash A3AFA416 + sample 11: + time = 400400 + flags = 0 + data = length 8533, hash 4951EBBA + sample 12: + time = 367033 + flags = 0 + data = length 758, hash EAF337EE + sample 13: + time = 467133 + flags = 0 + data = length 11584, hash 13DE8D1D + sample 14: + time = 433766 + flags = 0 + data = length 2163, hash 1EB6F423 + sample 15: + time = 533866 + flags = 0 + data = length 5286, hash 2FF4E597 + sample 16: + time = 500500 + flags = 0 + data = length 1365, hash 2740F6BA + sample 17: + time = 600600 + flags = 0 + data = length 10250, hash 4C4C05E9 + sample 18: + time = 567233 + flags = 0 + data = length 1203, hash 194F1FD6 + sample 19: + time = 667333 + flags = 0 + data = length 7373, hash D00D482 + sample 20: + time = 633966 + flags = 0 + data = length 1261, hash ED32D57D + sample 21: + time = 734066 + flags = 0 + data = length 6347, hash 2B6EB74D + sample 22: + time = 700700 + flags = 0 + data = length 833, hash 81BC5D34 + sample 23: + time = 800800 + flags = 0 + data = length 5538, hash 9951853 + sample 24: + time = 767433 + flags = 0 + data = length 657, hash 6EBAC33A + sample 25: + time = 867533 + flags = 0 + data = length 4109, hash 42BE3B2F + sample 26: + time = 834166 + flags = 0 + data = length 789, hash D766C08 + sample 27: + time = 934266 + flags = 0 + data = length 3108, hash 1C48E56B + sample 28: + time = 900900 + flags = 0 + data = length 541, hash B429D47 + sample 29: + time = 967633 + flags = 536870912 + data = length 3010, hash 1FC94085 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/bt601.mov.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/bt601.mov.unknown_length.dump new file mode 100644 index 0000000000..c834795c96 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/bt601.mov.unknown_length.dump @@ -0,0 +1,338 @@ +seekMap: + isSeekable = true + duration = 1020100 + getPosition(0) = [[timeUs=0, position=36]] + getPosition(1) = [[timeUs=0, position=36]] + getPosition(510050) = [[timeUs=0, position=36]] + getPosition(1020100) = [[timeUs=0, position=36]] +numberOfTracks = 2 +track 0: + total output bytes = 9294 + sample count = 43 + format 0: + peakBitrate = 200000 + id = 1 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + maxInputSize = 294 + channelCount = 1 + sampleRate = 44100 + language = und + metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3790610215, modification time=3790610215, timescale=30000] + initializationData: + data = length 2, hash 5F7 + sample 0: + time = 44000 + flags = 1 + data = length 23, hash 47DE9131 + sample 1: + time = 67219 + flags = 1 + data = length 6, hash 31EC5206 + sample 2: + time = 90439 + flags = 1 + data = length 148, hash 894A176B + sample 3: + time = 113659 + flags = 1 + data = length 189, hash CEF235A1 + sample 4: + time = 136879 + flags = 1 + data = length 205, hash BBF5F7B0 + sample 5: + time = 160099 + flags = 1 + data = length 210, hash F278B193 + sample 6: + time = 183319 + flags = 1 + data = length 210, hash 82DA1589 + sample 7: + time = 206539 + flags = 1 + data = length 207, hash 5BE231DF + sample 8: + time = 229759 + flags = 1 + data = length 225, hash 18819EE1 + sample 9: + time = 252979 + flags = 1 + data = length 215, hash CA7FA67B + sample 10: + time = 276199 + flags = 1 + data = length 211, hash 581A1C18 + sample 11: + time = 299419 + flags = 1 + data = length 216, hash ADB88187 + sample 12: + time = 322639 + flags = 1 + data = length 229, hash 2E8BA4DC + sample 13: + time = 345859 + flags = 1 + data = length 232, hash 22F0C510 + sample 14: + time = 369079 + flags = 1 + data = length 235, hash 867AD0DC + sample 15: + time = 392299 + flags = 1 + data = length 231, hash 84E823A8 + sample 16: + time = 415519 + flags = 1 + data = length 226, hash 1BEF3A95 + sample 17: + time = 438739 + flags = 1 + data = length 216, hash EAA345AE + sample 18: + time = 461959 + flags = 1 + data = length 229, hash 6957411F + sample 19: + time = 485179 + flags = 1 + data = length 219, hash 41275022 + sample 20: + time = 508399 + flags = 1 + data = length 241, hash 6495DF96 + sample 21: + time = 531619 + flags = 1 + data = length 228, hash 63D95906 + sample 22: + time = 554839 + flags = 1 + data = length 238, hash 34F676F9 + sample 23: + time = 578058 + flags = 1 + data = length 234, hash E5CBC045 + sample 24: + time = 601278 + flags = 1 + data = length 231, hash 5FC43661 + sample 25: + time = 624498 + flags = 1 + data = length 217, hash 682708ED + sample 26: + time = 647718 + flags = 1 + data = length 239, hash D43780FC + sample 27: + time = 670938 + flags = 1 + data = length 243, hash C5E17980 + sample 28: + time = 694158 + flags = 1 + data = length 231, hash AC5837BA + sample 29: + time = 717378 + flags = 1 + data = length 230, hash 169EE895 + sample 30: + time = 740598 + flags = 1 + data = length 238, hash C48FF3F1 + sample 31: + time = 763818 + flags = 1 + data = length 225, hash 531E4599 + sample 32: + time = 787038 + flags = 1 + data = length 232, hash CB3C6B8D + sample 33: + time = 810258 + flags = 1 + data = length 243, hash F8C94C7 + sample 34: + time = 833478 + flags = 1 + data = length 232, hash A646A7D0 + sample 35: + time = 856698 + flags = 1 + data = length 237, hash E8B787A5 + sample 36: + time = 879918 + flags = 1 + data = length 228, hash 3FA7A29F + sample 37: + time = 903138 + flags = 1 + data = length 235, hash B9B33B0A + sample 38: + time = 926358 + flags = 1 + data = length 264, hash 71A4869E + sample 39: + time = 949578 + flags = 1 + data = length 257, hash D049B54C + sample 40: + time = 972798 + flags = 1 + data = length 227, hash 66757231 + sample 41: + time = 996018 + flags = 1 + data = length 227, hash BD374F1B + sample 42: + time = 1019238 + flags = 536870913 + data = length 235, hash 999477F6 +track 1: + total output bytes = 130926 + sample count = 30 + format 0: + id = 2 + sampleMimeType = video/avc + codecs = avc1.4D001E + maxInputSize = 25345 + maxNumReorderSamples = 16 + width = 640 + height = 428 + frameRate = 29.408882 + colorInfo: + colorSpace = 2 + colorRange = 2 + colorTransfer = 3 + lumaBitdepth = 8 + chromaBitdepth = 8 + metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3790610215, modification time=3790610215, timescale=30000] + initializationData: + data = length 19, hash D3863A4C + data = length 8, hash 9464788C + sample 0: + time = 0 + flags = 1 + data = length 25315, hash 4F94DFD9 + sample 1: + time = 66733 + flags = 0 + data = length 2974, hash CE870018 + sample 2: + time = 33366 + flags = 0 + data = length 520, hash 755D4D65 + sample 3: + time = 133466 + flags = 0 + data = length 5849, hash 62ABA3A6 + sample 4: + time = 100100 + flags = 0 + data = length 665, hash 5B3919F5 + sample 5: + time = 200200 + flags = 0 + data = length 4934, hash EA186643 + sample 6: + time = 166833 + flags = 0 + data = length 1006, hash 50307604 + sample 7: + time = 266933 + flags = 0 + data = length 7081, hash B3F2E23A + sample 8: + time = 233566 + flags = 0 + data = length 635, hash B197BCDB + sample 9: + time = 333666 + flags = 0 + data = length 6589, hash C7FAA564 + sample 10: + time = 300300 + flags = 0 + data = length 650, hash A3AFA416 + sample 11: + time = 400400 + flags = 0 + data = length 8533, hash 4951EBBA + sample 12: + time = 367033 + flags = 0 + data = length 758, hash EAF337EE + sample 13: + time = 467133 + flags = 0 + data = length 11584, hash 13DE8D1D + sample 14: + time = 433766 + flags = 0 + data = length 2163, hash 1EB6F423 + sample 15: + time = 533866 + flags = 0 + data = length 5286, hash 2FF4E597 + sample 16: + time = 500500 + flags = 0 + data = length 1365, hash 2740F6BA + sample 17: + time = 600600 + flags = 0 + data = length 10250, hash 4C4C05E9 + sample 18: + time = 567233 + flags = 0 + data = length 1203, hash 194F1FD6 + sample 19: + time = 667333 + flags = 0 + data = length 7373, hash D00D482 + sample 20: + time = 633966 + flags = 0 + data = length 1261, hash ED32D57D + sample 21: + time = 734066 + flags = 0 + data = length 6347, hash 2B6EB74D + sample 22: + time = 700700 + flags = 0 + data = length 833, hash 81BC5D34 + sample 23: + time = 800800 + flags = 0 + data = length 5538, hash 9951853 + sample 24: + time = 767433 + flags = 0 + data = length 657, hash 6EBAC33A + sample 25: + time = 867533 + flags = 0 + data = length 4109, hash 42BE3B2F + sample 26: + time = 834166 + flags = 0 + data = length 789, hash D766C08 + sample 27: + time = 934266 + flags = 0 + data = length 3108, hash 1C48E56B + sample 28: + time = 900900 + flags = 0 + data = length 541, hash B429D47 + sample 29: + time = 967633 + flags = 536870912 + data = length 3010, hash 1FC94085 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.0.dump index 1f60679b67..f8c5979324 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.0.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/hevc codecs = hvc1.1.6.L153 maxInputSize = 229249 + maxNumReorderSamples = 0 width = 1024 height = 768 frameRate = 27.609846 @@ -267,6 +268,7 @@ track 1: sampleMimeType = video/hevc codecs = hvc1.1.6.L153 maxInputSize = 151345 + maxNumReorderSamples = 0 width = 2048 height = 1536 frameRate = 2.142245 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.1.dump index f35c968891..1070a80f88 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.1.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/hevc codecs = hvc1.1.6.L153 maxInputSize = 229249 + maxNumReorderSamples = 0 width = 1024 height = 768 frameRate = 27.609846 @@ -211,6 +212,7 @@ track 1: sampleMimeType = video/hevc codecs = hvc1.1.6.L153 maxInputSize = 151345 + maxNumReorderSamples = 0 width = 2048 height = 1536 frameRate = 2.142245 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.2.dump index 35c9c29cd4..b9ad711046 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.2.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/hevc codecs = hvc1.1.6.L153 maxInputSize = 229249 + maxNumReorderSamples = 0 width = 1024 height = 768 frameRate = 27.609846 @@ -127,6 +128,7 @@ track 1: sampleMimeType = video/hevc codecs = hvc1.1.6.L153 maxInputSize = 151345 + maxNumReorderSamples = 0 width = 2048 height = 1536 frameRate = 2.142245 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.3.dump index afa4390c3f..00f6969971 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.3.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/hevc codecs = hvc1.1.6.L153 maxInputSize = 229249 + maxNumReorderSamples = 0 width = 1024 height = 768 frameRate = 27.609846 @@ -43,6 +44,7 @@ track 1: sampleMimeType = video/hevc codecs = hvc1.1.6.L153 maxInputSize = 151345 + maxNumReorderSamples = 0 width = 2048 height = 1536 frameRate = 2.142245 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.unknown_length.dump index 1f60679b67..f8c5979324 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.unknown_length.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/hevc codecs = hvc1.1.6.L153 maxInputSize = 229249 + maxNumReorderSamples = 0 width = 1024 height = 768 frameRate = 27.609846 @@ -267,6 +268,7 @@ track 1: sampleMimeType = video/hevc codecs = hvc1.1.6.L153 maxInputSize = 151345 + maxNumReorderSamples = 0 width = 2048 height = 1536 frameRate = 2.142245 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.0.dump index 2c0dadfe38..bbc8c83588 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.0.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.1.dump index 7d3a61f8d0..a099ccf0d5 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.1.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.2.dump index ddc7c10aee..e5862accec 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.2.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.3.dump index 04a0db969d..00c782984f 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.3.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.unknown_length.dump index 2c0dadfe38..bbc8c83588 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.unknown_length.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.0.dump index 75ca98e3b3..9758b7d568 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.0.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.1.dump index 75ca98e3b3..9758b7d568 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.1.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.2.dump index 75ca98e3b3..9758b7d568 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.2.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.3.dump index 75ca98e3b3..9758b7d568 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.3.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.unknown_length.dump index 75ca98e3b3..9758b7d568 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.unknown_length.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.0.dump index 33d855d245..0d3e4b11fa 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.0.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.640033 maxInputSize = 34686 + maxNumReorderSamples = 0 width = 1280 height = 720 frameRate = 13.307984 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.1.dump index 33d855d245..0d3e4b11fa 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.1.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.640033 maxInputSize = 34686 + maxNumReorderSamples = 0 width = 1280 height = 720 frameRate = 13.307984 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.2.dump index 33d855d245..0d3e4b11fa 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.2.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.640033 maxInputSize = 34686 + maxNumReorderSamples = 0 width = 1280 height = 720 frameRate = 13.307984 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.3.dump index 33d855d245..0d3e4b11fa 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.3.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.640033 maxInputSize = 34686 + maxNumReorderSamples = 0 width = 1280 height = 720 frameRate = 13.307984 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.unknown_length.dump index 33d855d245..0d3e4b11fa 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.unknown_length.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.640033 maxInputSize = 34686 + maxNumReorderSamples = 0 width = 1280 height = 720 frameRate = 13.307984 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.0.dump index 417174774a..ff1b407187 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.0.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/dolby-vision codecs = hev1.08.04 maxInputSize = 196379 + maxNumReorderSamples = 2 width = 1920 height = 1080 frameRate = 23.544804 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.1.dump index d093dee2df..e6c8cbbe46 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.1.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/dolby-vision codecs = hev1.08.04 maxInputSize = 196379 + maxNumReorderSamples = 2 width = 1920 height = 1080 frameRate = 23.544804 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.2.dump index 9953bd544a..685136ec9b 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.2.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/dolby-vision codecs = hev1.08.04 maxInputSize = 196379 + maxNumReorderSamples = 2 width = 1920 height = 1080 frameRate = 23.544804 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.3.dump index 55ecd52bc1..fd0ce058b9 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.3.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/dolby-vision codecs = hev1.08.04 maxInputSize = 196379 + maxNumReorderSamples = 2 width = 1920 height = 1080 frameRate = 23.544804 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.unknown_length.dump index 417174774a..ff1b407187 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.unknown_length.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/dolby-vision codecs = hev1.08.04 maxInputSize = 196379 + maxNumReorderSamples = 2 width = 1920 height = 1080 frameRate = 23.544804 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_empty_track.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_empty_track.mp4.0.dump index cb3e4b9d2d..e8a4612517 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_empty_track.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_empty_track.mp4.0.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.640034 maxInputSize = 22910 + maxNumReorderSamples = 0 width = 1080 height = 720 frameRate = 31.004547 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_empty_track.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_empty_track.mp4.1.dump index 24d533db5e..1e3aa843ba 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_empty_track.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_empty_track.mp4.1.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.640034 maxInputSize = 22910 + maxNumReorderSamples = 0 width = 1080 height = 720 frameRate = 31.004547 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_empty_track.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_empty_track.mp4.2.dump index 44d6e70358..e3ff1fedfb 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_empty_track.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_empty_track.mp4.2.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.640034 maxInputSize = 22910 + maxNumReorderSamples = 0 width = 1080 height = 720 frameRate = 31.004547 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_empty_track.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_empty_track.mp4.3.dump index 424f1ddbd9..f262aae7e5 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_empty_track.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_empty_track.mp4.3.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.640034 maxInputSize = 22910 + maxNumReorderSamples = 0 width = 1080 height = 720 frameRate = 31.004547 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_empty_track.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_empty_track.mp4.unknown_length.dump index cb3e4b9d2d..e8a4612517 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_empty_track.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_empty_track.mp4.unknown_length.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.640034 maxInputSize = 22910 + maxNumReorderSamples = 0 width = 1080 height = 720 frameRate = 31.004547 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented.mp4.0.dump index 1da8999b55..460760d6cc 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented.mp4.0.dump @@ -10,6 +10,7 @@ track 0: id = 1 sampleMimeType = video/avc codecs = avc1.64001F + maxNumReorderSamples = 2 width = 1080 height = 720 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented.mp4.unknown_length.dump index 1da8999b55..460760d6cc 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented.mp4.unknown_length.dump @@ -10,6 +10,7 @@ track 0: id = 1 sampleMimeType = video/avc codecs = avc1.64001F + maxNumReorderSamples = 2 width = 1080 height = 720 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.0.dump index 462e145434..27cd7b6a39 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.0.dump @@ -13,6 +13,7 @@ track 0: id = 1 sampleMimeType = video/avc codecs = avc1.64001F + maxNumReorderSamples = 2 width = 1080 height = 720 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.1.dump index 388f3a0d86..3836b50077 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.1.dump @@ -13,6 +13,7 @@ track 0: id = 1 sampleMimeType = video/avc codecs = avc1.64001F + maxNumReorderSamples = 2 width = 1080 height = 720 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.2.dump index d69439ddb6..463f3aede7 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.2.dump @@ -13,6 +13,7 @@ track 0: id = 1 sampleMimeType = video/avc codecs = avc1.64001F + maxNumReorderSamples = 2 width = 1080 height = 720 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.3.dump index e8ed448e6c..d74a24a05c 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.3.dump @@ -13,6 +13,7 @@ track 0: id = 1 sampleMimeType = video/avc codecs = avc1.64001F + maxNumReorderSamples = 2 width = 1080 height = 720 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.unknown_length.dump index 462e145434..27cd7b6a39 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.unknown_length.dump @@ -13,6 +13,7 @@ track 0: id = 1 sampleMimeType = video/avc codecs = avc1.64001F + maxNumReorderSamples = 2 width = 1080 height = 720 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.0.dump index 8d2edb8b11..df1ba0cf60 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.0.dump @@ -13,6 +13,7 @@ track 0: id = 1 sampleMimeType = video/avc codecs = avc1.64001F + maxNumReorderSamples = 2 width = 1080 height = 720 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.1.dump index b1d7f8adef..2c7f71ab81 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.1.dump @@ -13,6 +13,7 @@ track 0: id = 1 sampleMimeType = video/avc codecs = avc1.64001F + maxNumReorderSamples = 2 width = 1080 height = 720 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.2.dump index 0b220e1afa..4f5fc0d7d6 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.2.dump @@ -13,6 +13,7 @@ track 0: id = 1 sampleMimeType = video/avc codecs = avc1.64001F + maxNumReorderSamples = 2 width = 1080 height = 720 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.3.dump index 29ae1ae4b2..b8fd83b978 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.3.dump @@ -13,6 +13,7 @@ track 0: id = 1 sampleMimeType = video/avc codecs = avc1.64001F + maxNumReorderSamples = 2 width = 1080 height = 720 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.unknown_length.dump index 8d2edb8b11..df1ba0cf60 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.unknown_length.dump @@ -13,6 +13,7 @@ track 0: id = 1 sampleMimeType = video/avc codecs = avc1.64001F + maxNumReorderSamples = 2 width = 1080 height = 720 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_sei.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_sei.mp4.0.dump index c2cb6e83a0..a3b0901c83 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_sei.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_sei.mp4.0.dump @@ -10,6 +10,7 @@ track 0: id = 1 sampleMimeType = video/avc codecs = avc1.64001F + maxNumReorderSamples = 2 width = 1080 height = 720 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_sei.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_sei.mp4.unknown_length.dump index c2cb6e83a0..a3b0901c83 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_sei.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_sei.mp4.unknown_length.dump @@ -10,6 +10,7 @@ track 0: id = 1 sampleMimeType = video/avc codecs = avc1.64001F + maxNumReorderSamples = 2 width = 1080 height = 720 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.0.dump index 3b3e5aa63f..7f09bc780a 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.0.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.1.dump index 1ff49d1518..2bbbb275cd 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.1.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.2.dump index c598996978..d7f1651cdc 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.2.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.3.dump index 3e82996fe5..69d4d3d7e7 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.3.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.unknown_length.dump index 3b3e5aa63f..7f09bc780a 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.unknown_length.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_partially_fragmented.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_partially_fragmented.mp4.0.dump index f0ba575fcb..e0048f869d 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_partially_fragmented.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_partially_fragmented.mp4.0.dump @@ -10,6 +10,7 @@ track 0: id = 1 sampleMimeType = video/avc codecs = avc1.64001F + maxNumReorderSamples = 2 width = 1080 height = 720 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_partially_fragmented.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_partially_fragmented.mp4.unknown_length.dump index f0ba575fcb..e0048f869d 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_partially_fragmented.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_partially_fragmented.mp4.unknown_length.dump @@ -10,6 +10,7 @@ track 0: id = 1 sampleMimeType = video/avc codecs = avc1.64001F + maxNumReorderSamples = 2 width = 1080 height = 720 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.0.dump index 29b2cfa6d0..ed2754f15d 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.0.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/dolby-vision codecs = hev1.08.04 maxInputSize = 40550 + maxNumReorderSamples = 2 width = 1920 height = 1080 frameRate = 30.167633 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.1.dump index fe191d47e9..962b84314f 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.1.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/dolby-vision codecs = hev1.08.04 maxInputSize = 40550 + maxNumReorderSamples = 2 width = 1920 height = 1080 frameRate = 30.167633 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.2.dump index 4b29a5899f..4809ec661b 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.2.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/dolby-vision codecs = hev1.08.04 maxInputSize = 40550 + maxNumReorderSamples = 2 width = 1920 height = 1080 frameRate = 30.167633 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.3.dump index ed7a217b73..f91c957ffc 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.3.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/dolby-vision codecs = hev1.08.04 maxInputSize = 40550 + maxNumReorderSamples = 2 width = 1920 height = 1080 frameRate = 30.167633 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.unknown_length.dump index 29b2cfa6d0..ed2754f15d 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.unknown_length.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/dolby-vision codecs = hev1.08.04 maxInputSize = 40550 + maxNumReorderSamples = 2 width = 1920 height = 1080 frameRate = 30.167633 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_metadata.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_metadata.mp4.0.dump index 0845437fd1..571fd31bf8 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_metadata.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_metadata.mp4.0.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_metadata.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_metadata.mp4.1.dump index 8a5d8cd1e0..45f1e55405 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_metadata.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_metadata.mp4.1.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_metadata.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_metadata.mp4.2.dump index b61bd49869..b09a0d3fef 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_metadata.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_metadata.mp4.2.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_metadata.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_metadata.mp4.3.dump index 418b0ce43c..a3b4058cf6 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_metadata.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_metadata.mp4.3.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_metadata.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_metadata.mp4.unknown_length.dump index 0845437fd1..571fd31bf8 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_metadata.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_metadata.mp4.unknown_length.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_numeric_genre.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_numeric_genre.mp4.0.dump index 6e8acb88f1..00bb16d6fc 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_numeric_genre.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_numeric_genre.mp4.0.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_numeric_genre.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_numeric_genre.mp4.1.dump index 3d0a9a718c..bbef4dce79 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_numeric_genre.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_numeric_genre.mp4.1.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_numeric_genre.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_numeric_genre.mp4.2.dump index 30a3e5faae..34b967eb93 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_numeric_genre.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_numeric_genre.mp4.2.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_numeric_genre.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_numeric_genre.mp4.3.dump index 1805cfec3b..d36c023b12 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_numeric_genre.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_numeric_genre.mp4.3.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_numeric_genre.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_numeric_genre.mp4.unknown_length.dump index 6e8acb88f1..00bb16d6fc 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_numeric_genre.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_numeric_genre.mp4.unknown_length.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.0.dump index 346e692caf..d39928a0f9 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.0.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/hevc codecs = hvc1.1.6.L150.B0 maxInputSize = 364750 + maxNumReorderSamples = 2 width = 1920 height = 1440 frameRate = 29.179338 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.1.dump index 59313ce118..78abb47da7 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.1.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/hevc codecs = hvc1.1.6.L150.B0 maxInputSize = 364750 + maxNumReorderSamples = 2 width = 1920 height = 1440 frameRate = 29.179338 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.2.dump index 849f7152ed..7e3189d05e 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.2.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/hevc codecs = hvc1.1.6.L150.B0 maxInputSize = 364750 + maxNumReorderSamples = 2 width = 1920 height = 1440 frameRate = 29.179338 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.3.dump index 40c4eee40c..a79f6d3899 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.3.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/hevc codecs = hvc1.1.6.L150.B0 maxInputSize = 364750 + maxNumReorderSamples = 2 width = 1920 height = 1440 frameRate = 29.179338 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.unknown_length.dump index 346e692caf..d39928a0f9 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.unknown_length.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/hevc codecs = hvc1.1.6.L150.B0 maxInputSize = 364750 + maxNumReorderSamples = 2 width = 1920 height = 1440 frameRate = 29.179338 diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264.ts.0.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264.ts.0.dump index 366338fe96..a18a3e9f69 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264.ts.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264.ts.0.dump @@ -13,6 +13,7 @@ track 256: id = 1/256 sampleMimeType = video/avc codecs = avc1.64001F + maxNumReorderSamples = 2 width = 854 height = 480 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264.ts.1.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264.ts.1.dump index afbcb23e5d..3ef988bedb 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264.ts.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264.ts.1.dump @@ -13,6 +13,7 @@ track 256: id = 1/256 sampleMimeType = video/avc codecs = avc1.64001F + maxNumReorderSamples = 2 width = 854 height = 480 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264.ts.2.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264.ts.2.dump index ce18263dd8..3223082bd3 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264.ts.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264.ts.2.dump @@ -13,6 +13,7 @@ track 256: id = 1/256 sampleMimeType = video/avc codecs = avc1.64001F + maxNumReorderSamples = 2 width = 854 height = 480 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264.ts.3.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264.ts.3.dump index f8372491d6..7dcd79baaf 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264.ts.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264.ts.3.dump @@ -13,6 +13,7 @@ track 256: id = 1/256 sampleMimeType = video/avc codecs = avc1.64001F + maxNumReorderSamples = 2 width = 854 height = 480 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264.ts.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264.ts.unknown_length.dump index 8406fb34de..96e695fa5d 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264.ts.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264.ts.unknown_length.dump @@ -10,6 +10,7 @@ track 256: id = 1/256 sampleMimeType = video/avc codecs = avc1.64001F + maxNumReorderSamples = 2 width = 854 height = 480 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_dts_audio.ts.0.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_dts_audio.ts.0.dump index 88149be1a2..8637d0bd5b 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_dts_audio.ts.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_dts_audio.ts.0.dump @@ -13,6 +13,7 @@ track 256: id = 1/256 sampleMimeType = video/avc codecs = avc1.64001E + maxNumReorderSamples = 2 width = 640 height = 426 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_dts_audio.ts.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_dts_audio.ts.unknown_length.dump index 82dc922fa3..1780f4b7b7 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_dts_audio.ts.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_dts_audio.ts.unknown_length.dump @@ -10,6 +10,7 @@ track 256: id = 1/256 sampleMimeType = video/avc codecs = avc1.64001E + maxNumReorderSamples = 2 width = 640 height = 426 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_iframes_only.ts.0.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_iframes_only.ts.0.dump index 3d73ae8573..99771370f8 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_iframes_only.ts.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_iframes_only.ts.0.dump @@ -13,6 +13,7 @@ track 256: id = 1/256 sampleMimeType = video/avc codecs = avc1.64101F + maxNumReorderSamples = 0 width = 854 height = 480 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_iframes_only.ts.1.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_iframes_only.ts.1.dump index 4ade0bd62e..6a4cdf0f9d 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_iframes_only.ts.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_iframes_only.ts.1.dump @@ -13,6 +13,7 @@ track 256: id = 1/256 sampleMimeType = video/avc codecs = avc1.64101F + maxNumReorderSamples = 0 width = 854 height = 480 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_iframes_only.ts.2.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_iframes_only.ts.2.dump index f23fcce89b..a338669be1 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_iframes_only.ts.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_iframes_only.ts.2.dump @@ -13,6 +13,7 @@ track 256: id = 1/256 sampleMimeType = video/avc codecs = avc1.64101F + maxNumReorderSamples = 0 width = 854 height = 480 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_iframes_only.ts.3.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_iframes_only.ts.3.dump index 5cc82cff03..81e4208f96 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_iframes_only.ts.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_iframes_only.ts.3.dump @@ -13,6 +13,7 @@ track 256: id = 1/256 sampleMimeType = video/avc codecs = avc1.64101F + maxNumReorderSamples = 0 width = 854 height = 480 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_iframes_only.ts.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_iframes_only.ts.unknown_length.dump index c92a997083..2716c2296f 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_iframes_only.ts.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_iframes_only.ts.unknown_length.dump @@ -10,6 +10,7 @@ track 256: id = 1/256 sampleMimeType = video/avc codecs = avc1.64101F + maxNumReorderSamples = 0 width = 854 height = 480 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.0.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.0.dump index 14fdeb2b08..cef36a704b 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.0.dump @@ -13,6 +13,7 @@ track 256: id = 1/256 sampleMimeType = video/avc codecs = avc1.64001E + maxNumReorderSamples = 2 width = 640 height = 426 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.1.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.1.dump index 14fdeb2b08..cef36a704b 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.1.dump @@ -13,6 +13,7 @@ track 256: id = 1/256 sampleMimeType = video/avc codecs = avc1.64001E + maxNumReorderSamples = 2 width = 640 height = 426 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.2.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.2.dump index 14fdeb2b08..cef36a704b 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.2.dump @@ -13,6 +13,7 @@ track 256: id = 1/256 sampleMimeType = video/avc codecs = avc1.64001E + maxNumReorderSamples = 2 width = 640 height = 426 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.3.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.3.dump index 5c8e373856..e02529f42c 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.3.dump @@ -13,6 +13,7 @@ track 256: id = 1/256 sampleMimeType = video/avc codecs = avc1.64001E + maxNumReorderSamples = 2 width = 640 height = 426 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.unknown_length.dump index 1d9e0d4154..f6138fe930 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.unknown_length.dump @@ -10,6 +10,7 @@ track 256: id = 1/256 sampleMimeType = video/avc codecs = avc1.64001E + maxNumReorderSamples = 2 width = 640 height = 426 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.0.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.0.dump index efc4982d76..68843e4b34 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.0.dump @@ -13,6 +13,7 @@ track 256: id = 1/256 sampleMimeType = video/avc codecs = avc1.64001E + maxNumReorderSamples = 2 width = 640 height = 426 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.1.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.1.dump index efc4982d76..68843e4b34 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.1.dump @@ -13,6 +13,7 @@ track 256: id = 1/256 sampleMimeType = video/avc codecs = avc1.64001E + maxNumReorderSamples = 2 width = 640 height = 426 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.2.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.2.dump index efc4982d76..68843e4b34 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.2.dump @@ -13,6 +13,7 @@ track 256: id = 1/256 sampleMimeType = video/avc codecs = avc1.64001E + maxNumReorderSamples = 2 width = 640 height = 426 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.3.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.3.dump index 8f744992d8..356acbec44 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.3.dump @@ -13,6 +13,7 @@ track 256: id = 1/256 sampleMimeType = video/avc codecs = avc1.64001E + maxNumReorderSamples = 2 width = 640 height = 426 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.unknown_length.dump index 938a3dcffc..b84fbcb37e 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.unknown_length.dump @@ -10,6 +10,7 @@ track 256: id = 1/256 sampleMimeType = video/avc codecs = avc1.64001E + maxNumReorderSamples = 2 width = 640 height = 426 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.0.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.0.dump index 45887e7d8f..78fb519ab1 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.0.dump @@ -13,6 +13,7 @@ track 256: id = 1/256 sampleMimeType = video/hevc codecs = hvc1.1.6.L90.90 + maxNumReorderSamples = 2 width = 854 height = 480 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.1.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.1.dump index f588f2beca..b1a846b82a 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.1.dump @@ -13,6 +13,7 @@ track 256: id = 1/256 sampleMimeType = video/hevc codecs = hvc1.1.6.L90.90 + maxNumReorderSamples = 2 width = 854 height = 480 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.2.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.2.dump index 5e8329c924..cb25ac9c4f 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.2.dump @@ -13,6 +13,7 @@ track 256: id = 1/256 sampleMimeType = video/hevc codecs = hvc1.1.6.L90.90 + maxNumReorderSamples = 2 width = 854 height = 480 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.3.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.3.dump index 08a626b54c..17247b3733 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.3.dump @@ -13,6 +13,7 @@ track 256: id = 1/256 sampleMimeType = video/hevc codecs = hvc1.1.6.L90.90 + maxNumReorderSamples = 2 width = 854 height = 480 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.unknown_length.dump index 2080994316..8536851528 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.unknown_length.dump @@ -10,6 +10,7 @@ track 256: id = 1/256 sampleMimeType = video/hevc codecs = hvc1.1.6.L90.90 + maxNumReorderSamples = 2 width = 854 height = 480 colorInfo: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.0.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.0.dump index 02463f0ca7..0e5b36704f 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.0.dump @@ -13,6 +13,7 @@ track 256: id = 1/256 sampleMimeType = video/hevc codecs = hvc1.1.6.L63.90 + maxNumReorderSamples = 4 width = 914 height = 686 pixelWidthHeightRatio = 1.0003651 diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.1.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.1.dump index 2480556f0e..0f15afef1a 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.1.dump @@ -13,6 +13,7 @@ track 256: id = 1/256 sampleMimeType = video/hevc codecs = hvc1.1.6.L63.90 + maxNumReorderSamples = 4 width = 914 height = 686 pixelWidthHeightRatio = 1.0003651 diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.2.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.2.dump index b065c49391..93b6484b50 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.2.dump @@ -13,6 +13,7 @@ track 256: id = 1/256 sampleMimeType = video/hevc codecs = hvc1.1.6.L63.90 + maxNumReorderSamples = 4 width = 914 height = 686 pixelWidthHeightRatio = 1.0003651 diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.3.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.3.dump index f06a9bd3ff..b78f655dda 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.3.dump @@ -13,6 +13,7 @@ track 256: id = 1/256 sampleMimeType = video/hevc codecs = hvc1.1.6.L63.90 + maxNumReorderSamples = 4 width = 914 height = 686 pixelWidthHeightRatio = 1.0003651 diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.unknown_length.dump index 746b08b182..208b5951e5 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.unknown_length.dump @@ -10,6 +10,7 @@ track 256: id = 1/256 sampleMimeType = video/hevc codecs = hvc1.1.6.L63.90 + maxNumReorderSamples = 4 width = 914 height = 686 pixelWidthHeightRatio = 1.0003651 diff --git a/libraries/test_data/src/test/assets/muxerdumps/bbb_800x640_768kbps_30fps_avc_non_reference_3b.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/bbb_800x640_768kbps_30fps_avc_non_reference_3b.mp4.dump index 7b2174c424..de881800cf 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/bbb_800x640_768kbps_30fps_avc_non_reference_3b.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/bbb_800x640_768kbps_30fps_avc_non_reference_3b.mp4.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 74696 + maxNumReorderSamples = 1 width = 800 height = 640 frameRate = 30.25261 diff --git a/libraries/test_data/src/test/assets/muxerdumps/bbb_800x640_768kbps_30fps_avc_pyramid_3b.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/bbb_800x640_768kbps_30fps_avc_pyramid_3b.mp4.dump index 8c476003f0..735c55c741 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/bbb_800x640_768kbps_30fps_avc_pyramid_3b.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/bbb_800x640_768kbps_30fps_avc_pyramid_3b.mp4.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 74696 + maxNumReorderSamples = 2 width = 800 height = 640 frameRate = 30.25261 diff --git a/libraries/test_data/src/test/assets/muxerdumps/bbb_800x640_768kbps_30fps_avc_pyramid_3b.mp4_fragmented.dump b/libraries/test_data/src/test/assets/muxerdumps/bbb_800x640_768kbps_30fps_avc_pyramid_3b.mp4_fragmented.dump index 7f979888cf..6244259b89 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/bbb_800x640_768kbps_30fps_avc_pyramid_3b.mp4_fragmented.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/bbb_800x640_768kbps_30fps_avc_pyramid_3b.mp4_fragmented.dump @@ -10,6 +10,7 @@ track 0: id = 1 sampleMimeType = video/avc codecs = avc1.64001F + maxNumReorderSamples = 2 width = 800 height = 640 colorInfo: diff --git a/libraries/test_data/src/test/assets/muxerdumps/h265_with_metadata_track.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/h265_with_metadata_track.mp4.dump index a472ffc0e1..f5e9dad6cb 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/h265_with_metadata_track.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/h265_with_metadata_track.mp4.dump @@ -62,6 +62,7 @@ track 2: sampleMimeType = video/hevc codecs = hvc1.1.6.L153.B0 maxInputSize = 420494 + maxNumReorderSamples = 0 width = 1920 height = 1080 frameRate = 44.977512 diff --git a/libraries/test_data/src/test/assets/muxerdumps/hdr10-720p.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/hdr10-720p.mp4.dump index 2707c7a9aa..66166ea2ff 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/hdr10-720p.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/hdr10-720p.mp4.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/hevc codecs = hvc1.2.4.L153 maxInputSize = 157952 + maxNumReorderSamples = 0 width = 1280 height = 720 frameRate = 30.215075 diff --git a/libraries/test_data/src/test/assets/muxerdumps/hdr10-720p.mp4_fragmented.dump b/libraries/test_data/src/test/assets/muxerdumps/hdr10-720p.mp4_fragmented.dump index a91a71a164..d8dc8b7249 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/hdr10-720p.mp4_fragmented.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/hdr10-720p.mp4_fragmented.dump @@ -10,6 +10,7 @@ track 0: id = 1 sampleMimeType = video/hevc codecs = hvc1.2.4.L153 + maxNumReorderSamples = 0 width = 1280 height = 720 colorInfo: diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_0_orientation.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_0_orientation.mp4.dump index 4cc51e76aa..79fe4a79ba 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_0_orientation.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_0_orientation.mp4.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.F4000A maxInputSize = 86 + maxNumReorderSamples = 2 width = 12 height = 10 colorInfo: diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_180_orientation.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_180_orientation.mp4.dump index c300739c62..4091c61c0e 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_180_orientation.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_180_orientation.mp4.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.F4000A maxInputSize = 86 + maxNumReorderSamples = 2 width = 12 height = 10 rotationDegrees = 180 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_270_orientation.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_270_orientation.mp4.dump index 0f65655e88..ee484540a7 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_270_orientation.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_270_orientation.mp4.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.F4000A maxInputSize = 86 + maxNumReorderSamples = 2 width = 12 height = 10 rotationDegrees = 270 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_90_orientation.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_90_orientation.mp4.dump index b512d6677d..07ba6abadd 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_90_orientation.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_90_orientation.mp4.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.F4000A maxInputSize = 86 + maxNumReorderSamples = 2 width = 12 height = 10 rotationDegrees = 90 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_b_frame.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_b_frame.mp4.dump index 40803c280c..9816ec8587 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_b_frame.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_b_frame.mp4.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.F4000A maxInputSize = 86 + maxNumReorderSamples = 2 width = 12 height = 10 frameRate = 1333.3334 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_b_frame_large_pts.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_b_frame_large_pts.mp4.dump index 43f449e21a..df157d8eb0 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_b_frame_large_pts.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_b_frame_large_pts.mp4.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.F4000A maxInputSize = 86 + maxNumReorderSamples = 2 width = 12 height = 10 frameRate = 14.603869 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_different_tracks_offset.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_different_tracks_offset.mp4.dump index 082a240186..b04d934074 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_different_tracks_offset.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_different_tracks_offset.mp4.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.F4000A maxInputSize = 86 + maxNumReorderSamples = 2 width = 12 height = 10 frameRate = 20000.0 @@ -41,6 +42,7 @@ track 1: sampleMimeType = video/avc codecs = avc1.F4000A maxInputSize = 86 + maxNumReorderSamples = 2 width = 12 height = 10 frameRate = 10000.0 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_float_metadata.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_float_metadata.mp4.dump index 6d0ba01a7e..17ab052466 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_float_metadata.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_float_metadata.mp4.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.F4000A maxInputSize = 86 + maxNumReorderSamples = 2 width = 12 height = 10 colorInfo: diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_frame_rate.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_frame_rate.mp4.dump index 6a6307bacf..37e58250f3 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_frame_rate.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_frame_rate.mp4.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.F4000A maxInputSize = 86 + maxNumReorderSamples = 2 width = 12 height = 10 colorInfo: diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_location.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_location.mp4.dump index 6edb9fe0cb..336942ce19 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_location.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_location.mp4.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.F4000A maxInputSize = 86 + maxNumReorderSamples = 2 width = 12 height = 10 colorInfo: diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_null_location.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_null_location.mp4.dump index 4cc51e76aa..79fe4a79ba 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_null_location.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_null_location.mp4.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.F4000A maxInputSize = 86 + maxNumReorderSamples = 2 width = 12 height = 10 colorInfo: diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_same_tracks_offset.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_same_tracks_offset.mp4.dump index 082a240186..b04d934074 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_same_tracks_offset.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_same_tracks_offset.mp4.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.F4000A maxInputSize = 86 + maxNumReorderSamples = 2 width = 12 height = 10 frameRate = 20000.0 @@ -41,6 +42,7 @@ track 1: sampleMimeType = video/avc codecs = avc1.F4000A maxInputSize = 86 + maxNumReorderSamples = 2 width = 12 height = 10 frameRate = 10000.0 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_string_metadata.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_string_metadata.mp4.dump index 146fe71a14..67ca0d5f00 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_string_metadata.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_string_metadata.mp4.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.F4000A maxInputSize = 86 + maxNumReorderSamples = 2 width = 12 height = 10 colorInfo: diff --git a/libraries/test_data/src/test/assets/muxerdumps/partial_hdr10-720p.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/partial_hdr10-720p.mp4.dump index 6507a08ee5..0fca9a4300 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/partial_hdr10-720p.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/partial_hdr10-720p.mp4.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/hevc codecs = hvc1.2.4.L153 maxInputSize = 157952 + maxNumReorderSamples = 0 width = 1280 height = 720 frameRate = 30.28936 diff --git a/libraries/test_data/src/test/assets/muxerdumps/sample_no_bframes.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/sample_no_bframes.mp4.dump index f6eede36e2..e67cdbc2ce 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/sample_no_bframes.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/sample_no_bframes.mp4.dump @@ -208,6 +208,7 @@ track 1: sampleMimeType = video/avc codecs = avc1.640034 maxInputSize = 22904 + maxNumReorderSamples = 0 width = 1080 height = 720 frameRate = 31.004547 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp3/test-cbr-info-header.mp3/looping_mixedWith_sample_18byte_nclx_colr.mp4.dump b/libraries/test_data/src/test/assets/transformerdumps/mp3/test-cbr-info-header.mp3/looping_mixedWith_sample_18byte_nclx_colr.mp4.dump index 2d241766fa..16d23363ce 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp3/test-cbr-info-header.mp3/looping_mixedWith_sample_18byte_nclx_colr.mp4.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp3/test-cbr-info-header.mp3/looping_mixedWith_sample_18byte_nclx_colr.mp4.dump @@ -12,6 +12,7 @@ format video: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/iibbibb_editlist_videoonly.mp4/transmuxed.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/iibbibb_editlist_videoonly.mp4/transmuxed.dump index 5c794758df..94a1fee36f 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/iibbibb_editlist_videoonly.mp4/transmuxed.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/iibbibb_editlist_videoonly.mp4/transmuxed.dump @@ -3,6 +3,7 @@ format video: sampleMimeType = video/avc codecs = avc1.F40016 maxInputSize = 7838 + maxNumReorderSamples = 2 width = 704 height = 576 frameRate = 1.04 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/noaudio.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/noaudio.dump index 9be2643f85..a3f9e40786 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/noaudio.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/noaudio.dump @@ -3,6 +3,7 @@ format video: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/original.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/original.dump index a71406dd05..4981d98dd4 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/original.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/original.dump @@ -15,6 +15,7 @@ format video: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/original_original_transmux.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/original_original_transmux.dump index 135b53aa87..8e75a256b1 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/original_original_transmux.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/original_original_transmux.dump @@ -15,6 +15,7 @@ format video: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/rotated.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/rotated.dump index 46e92052f6..48dd46f01a 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/rotated.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/rotated.dump @@ -15,6 +15,7 @@ format video: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/silence.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/silence.dump index 5e01c7f4bb..2863ee7fdc 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/silence.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/silence.dump @@ -9,6 +9,7 @@ format video: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/silence_48000hz.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/silence_48000hz.dump index 05b73777e5..dc56c8d01e 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/silence_48000hz.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/silence_48000hz.dump @@ -9,6 +9,7 @@ format video: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4/looping_mixedWith_test-cbr-info-header.mp3.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4/looping_mixedWith_test-cbr-info-header.mp3.dump index 7f727d0086..e08d3eec34 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4/looping_mixedWith_test-cbr-info-header.mp3.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4/looping_mixedWith_test-cbr-info-header.mp3.dump @@ -12,6 +12,7 @@ format video: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4/original.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4/original.dump index d862a55644..8fafcc61fe 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4/original.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4/original.dump @@ -3,6 +3,7 @@ format video: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4/silence.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4/silence.dump index 831196a779..d6b98a2734 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4/silence.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4/silence.dump @@ -9,6 +9,7 @@ format video: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_no_bframes.mp4/transmuxed_with_inappmuxer.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_no_bframes.mp4/transmuxed_with_inappmuxer.dump index b0535ed985..2827128174 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_no_bframes.mp4/transmuxed_with_inappmuxer.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_no_bframes.mp4/transmuxed_with_inappmuxer.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.640034 maxInputSize = 22904 + maxNumReorderSamples = 0 width = 1080 height = 720 frameRate = 31.004547 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_sef_slow_motion.mp4/noaudio.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_sef_slow_motion.mp4/noaudio.dump index b032985589..bffee848c7 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_sef_slow_motion.mp4/noaudio.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_sef_slow_motion.mp4/noaudio.dump @@ -3,6 +3,7 @@ format video: sampleMimeType = video/avc codecs = avc1.64000D maxInputSize = 5476 + maxNumReorderSamples = 2 width = 320 height = 240 frameRate = 29.523811 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_twos_pcm.mp4/toInt16.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_twos_pcm.mp4/toInt16.dump index 199469e4d5..586b7d7a70 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_twos_pcm.mp4/toInt16.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_twos_pcm.mp4/toInt16.dump @@ -10,6 +10,7 @@ format video: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 36722 + maxNumReorderSamples = 2 width = 1080 height = 720 frameRate = 29.970028 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/clipped.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/clipped.dump index 123e82cc79..fa6fb7c58b 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/clipped.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/clipped.dump @@ -16,6 +16,7 @@ format video: sampleMimeType = video/avc codecs = avc1.42C015 maxInputSize = 14839 + maxNumReorderSamples = 0 width = 320 height = 240 frameRate = 59.997425 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/clipped_clipped_transmux.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/clipped_clipped_transmux.dump index e111bf9c4e..29fdabdfac 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/clipped_clipped_transmux.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/clipped_clipped_transmux.dump @@ -16,6 +16,7 @@ format video: sampleMimeType = video/avc codecs = avc1.42C015 maxInputSize = 14839 + maxNumReorderSamples = 0 width = 320 height = 240 frameRate = 59.997425 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/clipped_to_empty.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/clipped_to_empty.dump index 5268e91a5c..b0546f24a1 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/clipped_to_empty.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/clipped_to_empty.dump @@ -16,6 +16,7 @@ format video: sampleMimeType = video/avc codecs = avc1.42C015 maxInputSize = 14839 + maxNumReorderSamples = 0 width = 320 height = 240 frameRate = 59.997425 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/original.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/original.dump index 5f4ef2cfa2..06691d8238 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/original.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/original.dump @@ -16,6 +16,7 @@ format video: sampleMimeType = video/avc codecs = avc1.42C015 maxInputSize = 14839 + maxNumReorderSamples = 0 width = 320 height = 240 frameRate = 59.997425 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/rotated.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/rotated.dump index 9b26e3e2f0..a054d6e5e9 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/rotated.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/rotated.dump @@ -16,6 +16,7 @@ format video: sampleMimeType = video/avc codecs = avc1.42C015 maxInputSize = 14839 + maxNumReorderSamples = 0 width = 320 height = 240 frameRate = 59.997425 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/highPitch_silenceHighPitch.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/highPitch_silenceHighPitch.dump index fe6540f60c..d1746cb559 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/highPitch_silenceHighPitch.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/highPitch_silenceHighPitch.dump @@ -10,6 +10,7 @@ format video: sampleMimeType = video/avc codecs = avc1.64002A maxInputSize = 41084 + maxNumReorderSamples = 2 width = 1920 height = 1080 frameRate = 50.0 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/mixed_sample_rf64.wav.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/mixed_sample_rf64.wav.dump index 4b0f5db4d5..55c4ae4fe5 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/mixed_sample_rf64.wav.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/mixed_sample_rf64.wav.dump @@ -10,6 +10,7 @@ format video: sampleMimeType = video/avc codecs = avc1.64002A maxInputSize = 41084 + maxNumReorderSamples = 2 width = 1920 height = 1080 frameRate = 50.0 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/original.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/original.dump index 38556c1fa4..ba25434de5 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/original.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/original.dump @@ -10,6 +10,7 @@ format video: sampleMimeType = video/avc codecs = avc1.64002A maxInputSize = 41084 + maxNumReorderSamples = 2 width = 1920 height = 1080 frameRate = 50.0 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/original_silence.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/original_silence.dump index 597b3555ca..7a996199a6 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/original_silence.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/original_silence.dump @@ -10,6 +10,7 @@ format video: sampleMimeType = video/avc codecs = avc1.64002A maxInputSize = 41084 + maxNumReorderSamples = 2 width = 1920 height = 1080 frameRate = 50.0 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/sequence_repeated3Times.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/sequence_repeated3Times.dump index 79632570d4..ef01f3918f 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/sequence_repeated3Times.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/sequence_repeated3Times.dump @@ -10,6 +10,7 @@ format video: sampleMimeType = video/avc codecs = avc1.64002A maxInputSize = 41084 + maxNumReorderSamples = 2 width = 1920 height = 1080 frameRate = 50.0 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/sequence_repeated3Times_mixed_loopingAudiosowt-with-video.mov.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/sequence_repeated3Times_mixed_loopingAudiosowt-with-video.mov.dump index f7e5206c1b..57d4c8004d 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/sequence_repeated3Times_mixed_loopingAudiosowt-with-video.mov.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/sequence_repeated3Times_mixed_loopingAudiosowt-with-video.mov.dump @@ -10,6 +10,7 @@ format video: sampleMimeType = video/avc codecs = avc1.64002A maxInputSize = 41084 + maxNumReorderSamples = 2 width = 1920 height = 1080 frameRate = 50.0 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence.dump index efb6f02beb..1b6fbb35f6 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence.dump @@ -9,6 +9,7 @@ format video: sampleMimeType = video/avc codecs = avc1.64002A maxInputSize = 41084 + maxNumReorderSamples = 2 width = 1920 height = 1080 frameRate = 50.0 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceFromEffect.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceFromEffect.dump index e62c3dbdda..0bf91115bc 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceFromEffect.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceFromEffect.dump @@ -10,6 +10,7 @@ format video: sampleMimeType = video/avc codecs = avc1.64002A maxInputSize = 41084 + maxNumReorderSamples = 2 width = 1920 height = 1080 frameRate = 50.0 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceHighPitch_highPitch.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceHighPitch_highPitch.dump index e9756091ab..ad6e07ea2a 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceHighPitch_highPitch.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceHighPitch_highPitch.dump @@ -9,6 +9,7 @@ format video: sampleMimeType = video/avc codecs = avc1.64002A maxInputSize = 41084 + maxNumReorderSamples = 2 width = 1920 height = 1080 frameRate = 50.0 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceHighPitch_silence.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceHighPitch_silence.dump index 2270740e95..8a33ebb76a 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceHighPitch_silence.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceHighPitch_silence.dump @@ -9,6 +9,7 @@ format video: sampleMimeType = video/avc codecs = avc1.64002A maxInputSize = 41084 + maxNumReorderSamples = 2 width = 1920 height = 1080 frameRate = 50.0 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceHighPitch_silenceHighPitch.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceHighPitch_silenceHighPitch.dump index f643d3934a..6a77c60c83 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceHighPitch_silenceHighPitch.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceHighPitch_silenceHighPitch.dump @@ -9,6 +9,7 @@ format video: sampleMimeType = video/avc codecs = avc1.64002A maxInputSize = 41084 + maxNumReorderSamples = 2 width = 1920 height = 1080 frameRate = 50.0 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence_original.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence_original.dump index 16cdeecca8..f9ae00e041 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence_original.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence_original.dump @@ -9,6 +9,7 @@ format video: sampleMimeType = video/avc codecs = avc1.64002A maxInputSize = 41084 + maxNumReorderSamples = 2 width = 1920 height = 1080 frameRate = 50.0 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence_silence.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence_silence.dump index e4300fe033..14dd70d5cd 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence_silence.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence_silence.dump @@ -9,6 +9,7 @@ format video: sampleMimeType = video/avc codecs = avc1.64002A maxInputSize = 41084 + maxNumReorderSamples = 2 width = 1920 height = 1080 frameRate = 50.0 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence_silenceHighPitch.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence_silenceHighPitch.dump index 2270740e95..8a33ebb76a 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence_silenceHighPitch.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence_silenceHighPitch.dump @@ -9,6 +9,7 @@ format video: sampleMimeType = video/avc codecs = avc1.64002A maxInputSize = 41084 + maxNumReorderSamples = 2 width = 1920 height = 1080 frameRate = 50.0 diff --git a/libraries/test_data/src/test/assets/transformerdumps/ts/sample_h264.ts/transmuxed_with_inappmuxer.dump b/libraries/test_data/src/test/assets/transformerdumps/ts/sample_h264.ts/transmuxed_with_inappmuxer.dump index 35ad135881..03ac9e6c82 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/ts/sample_h264.ts/transmuxed_with_inappmuxer.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/ts/sample_h264.ts/transmuxed_with_inappmuxer.dump @@ -14,6 +14,7 @@ track 0: sampleMimeType = video/avc codecs = avc1.64001F maxInputSize = 11267 + maxNumReorderSamples = 2 width = 854 height = 480 frameRate = 31.036623 diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/DumpableFormat.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/DumpableFormat.java index bd638bee15..5b7c58e29c 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/DumpableFormat.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/DumpableFormat.java @@ -52,6 +52,8 @@ public final class DumpableFormat implements Dumper.Dumpable { "sampleMimeType", format, DEFAULT_FORMAT, format -> format.sampleMimeType); dumper.addIfNonDefault("codecs", format, DEFAULT_FORMAT, format -> format.codecs); dumper.addIfNonDefault("maxInputSize", format, DEFAULT_FORMAT, format -> format.maxInputSize); + dumper.addIfNonDefault( + "maxNumReorderSamples", format, DEFAULT_FORMAT, format -> format.maxNumReorderSamples); dumper.addIfNonDefault("width", format, DEFAULT_FORMAT, format -> format.width); dumper.addIfNonDefault("height", format, DEFAULT_FORMAT, format -> format.height); dumper.addIfNonDefault("frameRate", format, DEFAULT_FORMAT, format -> format.frameRate);