diff --git a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.java b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.java index f566493ada7..c03dee23389 100644 --- a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.java +++ b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.java @@ -45,6 +45,7 @@ import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.video.AvcConfig; import com.google.android.exoplayer2.video.ColorInfo; +import com.google.android.exoplayer2.video.DolbyVisionConfig; import com.google.android.exoplayer2.video.HevcConfig; import java.io.IOException; import java.lang.annotation.Documented; @@ -155,8 +156,11 @@ public class MatroskaExtractor implements Extractor { private static final int ID_BLOCK = 0xA1; private static final int ID_BLOCK_DURATION = 0x9B; private static final int ID_BLOCK_ADDITIONS = 0x75A1; + private static final int ID_BLOCK_ADDITION_MAPPING = 0x41E4; private static final int ID_BLOCK_MORE = 0xA6; private static final int ID_BLOCK_ADD_ID = 0xEE; + private static final int ID_BLOCK_ADD_ID_TYPE = 0x41E7; + private static final int ID_BLOCK_ADD_ID_EXTRA_DATA = 0x41ED; private static final int ID_BLOCK_ADDITIONAL = 0xA5; private static final int ID_REFERENCE_BLOCK = 0xFB; private static final int ID_TRACKS = 0x1654AE6B; @@ -231,6 +235,18 @@ public class MatroskaExtractor implements Extractor { */ private static final int BLOCK_ADDITIONAL_ID_VP9_ITU_T_35 = 4; + /** + * Dolby Vision configuration for profiles <= 7 + * https://www.matroska.org/technical/codec_specs.html + */ + private static final int BLOCK_ADD_ID_TYPE_DVCC = 0x64766343; + + /** + * Dolby Vision configuration for profiles > 7 + * https://www.matroska.org/technical/codec_specs.html + */ + private static final int BLOCK_ADD_ID_TYPE_DVVC = 0x64767643; + private static final int LACING_NONE = 0; private static final int LACING_XIPH = 1; private static final int LACING_FIXED_SIZE = 2; @@ -510,6 +526,7 @@ protected int getElementType(int id) { case ID_CUE_TRACK_POSITIONS: case ID_BLOCK_GROUP: case ID_BLOCK_ADDITIONS: + case ID_BLOCK_ADDITION_MAPPING: case ID_BLOCK_MORE: case ID_PROJECTION: case ID_COLOUR: @@ -552,6 +569,7 @@ protected int getElementType(int id) { case ID_MAX_FALL: case ID_PROJECTION_TYPE: case ID_BLOCK_ADD_ID: + case ID_BLOCK_ADD_ID_TYPE: return EbmlProcessor.ELEMENT_TYPE_UNSIGNED_INT; case ID_DOC_TYPE: case ID_NAME: @@ -566,6 +584,7 @@ protected int getElementType(int id) { case ID_CODEC_PRIVATE: case ID_PROJECTION_PRIVATE: case ID_BLOCK_ADDITIONAL: + case ID_BLOCK_ADD_ID_EXTRA_DATA: return EbmlProcessor.ELEMENT_TYPE_BINARY; case ID_DURATION: case ID_SAMPLING_FREQUENCY: @@ -968,6 +987,9 @@ protected void integerElement(int id, long value) throws ParserException { case ID_BLOCK_ADD_ID: blockAdditionalId = (int) value; break; + case ID_BLOCK_ADD_ID_TYPE: + currentTrack.blockAddIdType = (int) value; + break; default: break; } @@ -1092,6 +1114,9 @@ protected void binaryElement(int id, int contentSize, ExtractorInput input) thro currentTrack.cryptoData = new TrackOutput.CryptoData(C.CRYPTO_MODE_AES_CTR, encryptionKey, 0, 0); // We assume patternless AES-CTR. break; + case ID_BLOCK_ADD_ID_EXTRA_DATA: + handleBlockAddIDExtraData(currentTrack, input, contentSize); + break; case ID_SIMPLE_BLOCK: case ID_BLOCK: // Please refer to http://www.matroska.org/technical/specs/index.html#simpleblock_structure @@ -1243,6 +1268,7 @@ protected void binaryElement(int id, int contentSize, ExtractorInput input) thro protected void handleBlockAdditionalData( Track track, int blockAdditionalId, ExtractorInput input, int contentSize) throws IOException { + if (blockAdditionalId == BLOCK_ADDITIONAL_ID_VP9_ITU_T_35 && CODEC_ID_VP9.equals(track.codecId)) { blockAdditionalData.reset(contentSize); @@ -1253,6 +1279,19 @@ protected void handleBlockAdditionalData( } } + protected void handleBlockAddIDExtraData( + Track track, ExtractorInput input, int contentSize) + throws IOException { + + if (track.blockAddIdType == BLOCK_ADD_ID_TYPE_DVVC || track.blockAddIdType == BLOCK_ADD_ID_TYPE_DVCC) { + track.doviDecoderConfigurationRecord = new byte[contentSize]; + input.readFully(track.doviDecoderConfigurationRecord, 0, contentSize); + } else { + // Unhandled block additional data. + input.skipFully(contentSize); + } + } + private void commitSampleToOutput( Track track, long timeUs, @C.BufferFlags int flags, int size, int offset) { if (track.trueHdSampleRechunker != null) { @@ -1915,6 +1954,8 @@ private static final class Track { public float whitePointChromaticityY = Format.NO_VALUE; public float maxMasteringLuminance = Format.NO_VALUE; public float minMasteringLuminance = Format.NO_VALUE; + // DOVIDecoderConfigurationRecord structure as defined in [@!DolbyVisionWithinIso.2020-02] + @Nullable public byte[] doviDecoderConfigurationRecord = null; // Audio elements. Initially set to their default values. public int channelCount = 1; @@ -1933,6 +1974,9 @@ private static final class Track { public TrackOutput output; public int nalUnitLengthFieldLength; + // Block additional state + private int blockAddIdType; + /** Initializes the track with an output. */ public void initializeOutput(ExtractorOutput output, int trackId) throws ParserException { String mimeType; @@ -2085,6 +2129,16 @@ public void initializeOutput(ExtractorOutput output, int trackId) throws ParserE throw new ParserException("Unrecognized codec identifier."); } + + if(doviDecoderConfigurationRecord != null) { + @Nullable DolbyVisionConfig dolbyVisionConfig = DolbyVisionConfig + .parse(new ParsableByteArray(doviDecoderConfigurationRecord)); + if (dolbyVisionConfig != null) { + codecs = dolbyVisionConfig.codecs; + mimeType = MimeTypes.VIDEO_DOLBY_VISION; + } + } + @C.SelectionFlags int selectionFlags = 0; selectionFlags |= flagDefault ? C.SELECTION_FLAG_DEFAULT : 0; selectionFlags |= flagForced ? C.SELECTION_FLAG_FORCED : 0; diff --git a/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractorTest.java b/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractorTest.java index 592ecedf5ac..bc09bba64fc 100644 --- a/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractorTest.java +++ b/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractorTest.java @@ -68,4 +68,16 @@ public void webmSubsampleEncryptionWithAltrefFrames() throws Exception { ExtractorAsserts.assertBehavior( MatroskaExtractor::new, "mkv/subsample_encrypted_altref.webm", simulationConfig); } + + @Test + public void mkvSampleWithProfile5DolbyVision() throws Exception { + ExtractorAsserts.assertBehavior( + MatroskaExtractor::new, "mkv/dvhe_05_05.mkv", simulationConfig); + } + + @Test + public void mkvSampleWithProfile8DolbyVision() throws Exception { + ExtractorAsserts.assertBehavior( + MatroskaExtractor::new, "mkv/hev1_08_05.mkv", simulationConfig); + }g } diff --git a/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/Mp4ExtractorTest.java b/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/Mp4ExtractorTest.java index 8150e074f1b..bd2df0b0334 100644 --- a/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/Mp4ExtractorTest.java +++ b/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/Mp4ExtractorTest.java @@ -74,4 +74,14 @@ public void mp4SampleWithEac3Track() throws Exception { public void mp4SampleWithEac3jocTrack() throws Exception { ExtractorAsserts.assertBehavior(Mp4Extractor::new, "mp4/sample_eac3joc.mp4", simulationConfig); } + + @Test + public void mp4SampleWithProfile5DolbyVision() throws Exception { + ExtractorAsserts.assertBehavior(Mp4Extractor::new, "mp4/dvhe_05_05.mp4", simulationConfig); + } + + @Test + public void mp4SampleWithProfile8DolbyVision() throws Exception { + ExtractorAsserts.assertBehavior(Mp4Extractor::new, "mp4/hev1_08_05.mp4", simulationConfig); + } } diff --git a/testdata/src/test/assets/mkv/dvhe_05_05.mkv b/testdata/src/test/assets/mkv/dvhe_05_05.mkv new file mode 100755 index 00000000000..b1517254fd8 Binary files /dev/null and b/testdata/src/test/assets/mkv/dvhe_05_05.mkv differ diff --git a/testdata/src/test/assets/mkv/dvhe_05_05.mkv.0.dump b/testdata/src/test/assets/mkv/dvhe_05_05.mkv.0.dump new file mode 100644 index 00000000000..3e2ef3b32c7 --- /dev/null +++ b/testdata/src/test/assets/mkv/dvhe_05_05.mkv.0.dump @@ -0,0 +1,388 @@ +seekMap: + isSeekable = true + duration = 992000 + getPosition(0) = [[timeUs=0, position=3807]] + getPosition(1) = [[timeUs=0, position=3807]] + getPosition(496000) = [[timeUs=0, position=3807]] + getPosition(992000) = [[timeUs=0, position=3807]] +numberOfTracks = 2 +track 1: + total output bytes = 23598 + sample count = 57 + format 0: + id = 1 + sampleMimeType = video/dolby-vision + codecs = dvhe.05.05 + width = 1920 + height = 1080 + language = en + initializationData: + data = length 1217, hash 605FB6BF + sample 0: + time = 0 + flags = 1 + data = length 2119, hash 60FAE28 + sample 1: + time = 133000 + flags = 0 + data = length 378, hash D06486C + sample 2: + time = 67000 + flags = 0 + data = length 379, hash 26D2D58C + sample 3: + time = 33000 + flags = 0 + data = length 380, hash 18AF19D8 + sample 4: + time = 17000 + flags = 0 + data = length 388, hash 774E37F0 + sample 5: + time = 50000 + flags = 0 + data = length 386, hash E117DAE4 + sample 6: + time = 100000 + flags = 0 + data = length 380, hash 940B0DA5 + sample 7: + time = 83000 + flags = 0 + data = length 387, hash EF9D22F0 + sample 8: + time = 117000 + flags = 0 + data = length 387, hash 57A7A5DC + sample 9: + time = 267000 + flags = 0 + data = length 380, hash 42B06C1D + sample 10: + time = 200000 + flags = 0 + data = length 380, hash 1C5D752E + sample 11: + time = 167000 + flags = 0 + data = length 381, hash 9468E4A0 + sample 12: + time = 150000 + flags = 0 + data = length 387, hash C04654A6 + sample 13: + time = 184000 + flags = 0 + data = length 387, hash D2AC3C12 + sample 14: + time = 234000 + flags = 0 + data = length 380, hash 2F4EEEE4 + sample 15: + time = 217000 + flags = 0 + data = length 387, hash 1AE3D887 + sample 16: + time = 250000 + flags = 0 + data = length 387, hash 82EE5B73 + sample 17: + time = 400000 + flags = 0 + data = length 380, hash 547E8A04 + sample 18: + time = 334000 + flags = 0 + data = length 380, hash 2E2B9315 + sample 19: + time = 300000 + flags = 0 + data = length 381, hash 11F15777 + sample 20: + time = 284000 + flags = 0 + data = length 387, hash EB8D0A3D + sample 21: + time = 317000 + flags = 0 + data = length 387, hash FDF2F1A9 + sample 22: + time = 367000 + flags = 0 + data = length 380, hash A11452D + sample 23: + time = 350000 + flags = 0 + data = length 387, hash 462A8E1E + sample 24: + time = 384000 + flags = 0 + data = length 387, hash AE35110A + sample 25: + time = 534000 + flags = 0 + data = length 380, hash 664CA7EB + sample 26: + time = 467000 + flags = 0 + data = length 380, hash 3FF9B0FC + sample 27: + time = 434000 + flags = 0 + data = length 381, hash 8F79CA4E + sample 28: + time = 417000 + flags = 0 + data = length 387, hash 16D3BFD4 + sample 29: + time = 450000 + flags = 0 + data = length 387, hash 2939A740 + sample 30: + time = 501000 + flags = 0 + data = length 380, hash E4D39B76 + sample 31: + time = 484000 + flags = 0 + data = length 387, hash 717143B5 + sample 32: + time = 517000 + flags = 0 + data = length 387, hash D97BC6A1 + sample 33: + time = 667000 + flags = 0 + data = length 380, hash 781AC5D2 + sample 34: + time = 601000 + flags = 0 + data = length 380, hash 51C7CEE3 + sample 35: + time = 567000 + flags = 0 + data = length 381, hash D023D25 + sample 36: + time = 551000 + flags = 0 + data = length 387, hash 421A756B + sample 37: + time = 584000 + flags = 0 + data = length 387, hash 54805CD7 + sample 38: + time = 634000 + flags = 0 + data = length 380, hash BF95F1BF + sample 39: + time = 617000 + flags = 0 + data = length 387, hash 9CB7F94C + sample 40: + time = 651000 + flags = 0 + data = length 387, hash 4C27C38 + sample 41: + time = 801000 + flags = 0 + data = length 380, hash 89E8E3B9 + sample 42: + time = 734000 + flags = 0 + data = length 380, hash 6395ECCA + sample 43: + time = 701000 + flags = 0 + data = length 381, hash 8A8AAFFC + sample 44: + time = 684000 + flags = 0 + data = length 387, hash 6D612B02 + sample 45: + time = 717000 + flags = 0 + data = length 387, hash 7FC7126E + sample 46: + time = 767000 + flags = 0 + data = length 380, hash 9A584808 + sample 47: + time = 751000 + flags = 0 + data = length 387, hash C7FEAEE3 + sample 48: + time = 784000 + flags = 0 + data = length 387, hash 300931CF + sample 49: + time = 934000 + flags = 0 + data = length 380, hash 9BB701A0 + sample 50: + time = 868000 + flags = 0 + data = length 380, hash 75640AB1 + sample 51: + time = 834000 + flags = 0 + data = length 381, hash 81322D3 + sample 52: + time = 817000 + flags = 0 + data = length 387, hash 98A7E099 + sample 53: + time = 851000 + flags = 0 + data = length 387, hash AB0DC805 + sample 54: + time = 901000 + flags = 0 + data = length 380, hash 751A9E51 + sample 55: + time = 884000 + flags = 0 + data = length 387, hash F345647A + sample 56: + time = 918000 + flags = 0 + data = length 387, hash 5B4FE766 +track 2: + total output bytes = 81920 + sample count = 32 + format 0: + id = 2 + sampleMimeType = audio/eac3 + channelCount = 6 + sampleRate = 48000 + selectionFlags = 1 + language = en + label = Surround 5.1 + sample 0: + time = 0 + flags = 1 + data = length 2560, hash B96751EE + sample 1: + time = 32000 + flags = 1 + data = length 2560, hash 45001B26 + sample 2: + time = 64000 + flags = 1 + data = length 2560, hash A3CBFFE4 + sample 3: + time = 96000 + flags = 1 + data = length 2560, hash 667C5C1A + sample 4: + time = 128000 + flags = 1 + data = length 2560, hash 7EC5AE9 + sample 5: + time = 160000 + flags = 1 + data = length 2560, hash 5F03C1F0 + sample 6: + time = 192000 + flags = 1 + data = length 2560, hash 7546E8D6 + sample 7: + time = 224000 + flags = 1 + data = length 2560, hash 9C5B6C2D + sample 8: + time = 256000 + flags = 1 + data = length 2560, hash 4F7BE9A5 + sample 9: + time = 288000 + flags = 1 + data = length 2560, hash 5D24A4BB + sample 10: + time = 320000 + flags = 1 + data = length 2560, hash 2B19480 + sample 11: + time = 352000 + flags = 1 + data = length 2560, hash D0DF951F + sample 12: + time = 384000 + flags = 1 + data = length 2560, hash CFE1F53A + sample 13: + time = 416000 + flags = 1 + data = length 2560, hash 7B14E1DB + sample 14: + time = 448000 + flags = 1 + data = length 2560, hash 77A4D01D + sample 15: + time = 480000 + flags = 1 + data = length 2560, hash 1CEADC6A + sample 16: + time = 512000 + flags = 1 + data = length 2560, hash F67D37C5 + sample 17: + time = 544000 + flags = 1 + data = length 2560, hash 4E6C1D09 + sample 18: + time = 576000 + flags = 1 + data = length 2560, hash E3BBDEAA + sample 19: + time = 608000 + flags = 1 + data = length 2560, hash 24E8B470 + sample 20: + time = 640000 + flags = 1 + data = length 2560, hash E12DFD77 + sample 21: + time = 672000 + flags = 1 + data = length 2560, hash FE039303 + sample 22: + time = 704000 + flags = 1 + data = length 2560, hash 4AD36C36 + sample 23: + time = 736000 + flags = 1 + data = length 2560, hash CE76D70E + sample 24: + time = 768000 + flags = 1 + data = length 2560, hash F6575F19 + sample 25: + time = 800000 + flags = 1 + data = length 2560, hash 9F23D09A + sample 26: + time = 832000 + flags = 1 + data = length 2560, hash D87FEE21 + sample 27: + time = 864000 + flags = 1 + data = length 2560, hash A9A51CE8 + sample 28: + time = 896000 + flags = 1 + data = length 2560, hash E0D6287D + sample 29: + time = 928000 + flags = 1 + data = length 2560, hash 7361A86 + sample 30: + time = 960000 + flags = 1 + data = length 2560, hash DFC493C + sample 31: + time = 992000 + flags = 1 + data = length 2560, hash F1B75A9A +tracksEnded = true diff --git a/testdata/src/test/assets/mkv/dvhe_05_05.mkv.1.dump b/testdata/src/test/assets/mkv/dvhe_05_05.mkv.1.dump new file mode 100644 index 00000000000..3e2ef3b32c7 --- /dev/null +++ b/testdata/src/test/assets/mkv/dvhe_05_05.mkv.1.dump @@ -0,0 +1,388 @@ +seekMap: + isSeekable = true + duration = 992000 + getPosition(0) = [[timeUs=0, position=3807]] + getPosition(1) = [[timeUs=0, position=3807]] + getPosition(496000) = [[timeUs=0, position=3807]] + getPosition(992000) = [[timeUs=0, position=3807]] +numberOfTracks = 2 +track 1: + total output bytes = 23598 + sample count = 57 + format 0: + id = 1 + sampleMimeType = video/dolby-vision + codecs = dvhe.05.05 + width = 1920 + height = 1080 + language = en + initializationData: + data = length 1217, hash 605FB6BF + sample 0: + time = 0 + flags = 1 + data = length 2119, hash 60FAE28 + sample 1: + time = 133000 + flags = 0 + data = length 378, hash D06486C + sample 2: + time = 67000 + flags = 0 + data = length 379, hash 26D2D58C + sample 3: + time = 33000 + flags = 0 + data = length 380, hash 18AF19D8 + sample 4: + time = 17000 + flags = 0 + data = length 388, hash 774E37F0 + sample 5: + time = 50000 + flags = 0 + data = length 386, hash E117DAE4 + sample 6: + time = 100000 + flags = 0 + data = length 380, hash 940B0DA5 + sample 7: + time = 83000 + flags = 0 + data = length 387, hash EF9D22F0 + sample 8: + time = 117000 + flags = 0 + data = length 387, hash 57A7A5DC + sample 9: + time = 267000 + flags = 0 + data = length 380, hash 42B06C1D + sample 10: + time = 200000 + flags = 0 + data = length 380, hash 1C5D752E + sample 11: + time = 167000 + flags = 0 + data = length 381, hash 9468E4A0 + sample 12: + time = 150000 + flags = 0 + data = length 387, hash C04654A6 + sample 13: + time = 184000 + flags = 0 + data = length 387, hash D2AC3C12 + sample 14: + time = 234000 + flags = 0 + data = length 380, hash 2F4EEEE4 + sample 15: + time = 217000 + flags = 0 + data = length 387, hash 1AE3D887 + sample 16: + time = 250000 + flags = 0 + data = length 387, hash 82EE5B73 + sample 17: + time = 400000 + flags = 0 + data = length 380, hash 547E8A04 + sample 18: + time = 334000 + flags = 0 + data = length 380, hash 2E2B9315 + sample 19: + time = 300000 + flags = 0 + data = length 381, hash 11F15777 + sample 20: + time = 284000 + flags = 0 + data = length 387, hash EB8D0A3D + sample 21: + time = 317000 + flags = 0 + data = length 387, hash FDF2F1A9 + sample 22: + time = 367000 + flags = 0 + data = length 380, hash A11452D + sample 23: + time = 350000 + flags = 0 + data = length 387, hash 462A8E1E + sample 24: + time = 384000 + flags = 0 + data = length 387, hash AE35110A + sample 25: + time = 534000 + flags = 0 + data = length 380, hash 664CA7EB + sample 26: + time = 467000 + flags = 0 + data = length 380, hash 3FF9B0FC + sample 27: + time = 434000 + flags = 0 + data = length 381, hash 8F79CA4E + sample 28: + time = 417000 + flags = 0 + data = length 387, hash 16D3BFD4 + sample 29: + time = 450000 + flags = 0 + data = length 387, hash 2939A740 + sample 30: + time = 501000 + flags = 0 + data = length 380, hash E4D39B76 + sample 31: + time = 484000 + flags = 0 + data = length 387, hash 717143B5 + sample 32: + time = 517000 + flags = 0 + data = length 387, hash D97BC6A1 + sample 33: + time = 667000 + flags = 0 + data = length 380, hash 781AC5D2 + sample 34: + time = 601000 + flags = 0 + data = length 380, hash 51C7CEE3 + sample 35: + time = 567000 + flags = 0 + data = length 381, hash D023D25 + sample 36: + time = 551000 + flags = 0 + data = length 387, hash 421A756B + sample 37: + time = 584000 + flags = 0 + data = length 387, hash 54805CD7 + sample 38: + time = 634000 + flags = 0 + data = length 380, hash BF95F1BF + sample 39: + time = 617000 + flags = 0 + data = length 387, hash 9CB7F94C + sample 40: + time = 651000 + flags = 0 + data = length 387, hash 4C27C38 + sample 41: + time = 801000 + flags = 0 + data = length 380, hash 89E8E3B9 + sample 42: + time = 734000 + flags = 0 + data = length 380, hash 6395ECCA + sample 43: + time = 701000 + flags = 0 + data = length 381, hash 8A8AAFFC + sample 44: + time = 684000 + flags = 0 + data = length 387, hash 6D612B02 + sample 45: + time = 717000 + flags = 0 + data = length 387, hash 7FC7126E + sample 46: + time = 767000 + flags = 0 + data = length 380, hash 9A584808 + sample 47: + time = 751000 + flags = 0 + data = length 387, hash C7FEAEE3 + sample 48: + time = 784000 + flags = 0 + data = length 387, hash 300931CF + sample 49: + time = 934000 + flags = 0 + data = length 380, hash 9BB701A0 + sample 50: + time = 868000 + flags = 0 + data = length 380, hash 75640AB1 + sample 51: + time = 834000 + flags = 0 + data = length 381, hash 81322D3 + sample 52: + time = 817000 + flags = 0 + data = length 387, hash 98A7E099 + sample 53: + time = 851000 + flags = 0 + data = length 387, hash AB0DC805 + sample 54: + time = 901000 + flags = 0 + data = length 380, hash 751A9E51 + sample 55: + time = 884000 + flags = 0 + data = length 387, hash F345647A + sample 56: + time = 918000 + flags = 0 + data = length 387, hash 5B4FE766 +track 2: + total output bytes = 81920 + sample count = 32 + format 0: + id = 2 + sampleMimeType = audio/eac3 + channelCount = 6 + sampleRate = 48000 + selectionFlags = 1 + language = en + label = Surround 5.1 + sample 0: + time = 0 + flags = 1 + data = length 2560, hash B96751EE + sample 1: + time = 32000 + flags = 1 + data = length 2560, hash 45001B26 + sample 2: + time = 64000 + flags = 1 + data = length 2560, hash A3CBFFE4 + sample 3: + time = 96000 + flags = 1 + data = length 2560, hash 667C5C1A + sample 4: + time = 128000 + flags = 1 + data = length 2560, hash 7EC5AE9 + sample 5: + time = 160000 + flags = 1 + data = length 2560, hash 5F03C1F0 + sample 6: + time = 192000 + flags = 1 + data = length 2560, hash 7546E8D6 + sample 7: + time = 224000 + flags = 1 + data = length 2560, hash 9C5B6C2D + sample 8: + time = 256000 + flags = 1 + data = length 2560, hash 4F7BE9A5 + sample 9: + time = 288000 + flags = 1 + data = length 2560, hash 5D24A4BB + sample 10: + time = 320000 + flags = 1 + data = length 2560, hash 2B19480 + sample 11: + time = 352000 + flags = 1 + data = length 2560, hash D0DF951F + sample 12: + time = 384000 + flags = 1 + data = length 2560, hash CFE1F53A + sample 13: + time = 416000 + flags = 1 + data = length 2560, hash 7B14E1DB + sample 14: + time = 448000 + flags = 1 + data = length 2560, hash 77A4D01D + sample 15: + time = 480000 + flags = 1 + data = length 2560, hash 1CEADC6A + sample 16: + time = 512000 + flags = 1 + data = length 2560, hash F67D37C5 + sample 17: + time = 544000 + flags = 1 + data = length 2560, hash 4E6C1D09 + sample 18: + time = 576000 + flags = 1 + data = length 2560, hash E3BBDEAA + sample 19: + time = 608000 + flags = 1 + data = length 2560, hash 24E8B470 + sample 20: + time = 640000 + flags = 1 + data = length 2560, hash E12DFD77 + sample 21: + time = 672000 + flags = 1 + data = length 2560, hash FE039303 + sample 22: + time = 704000 + flags = 1 + data = length 2560, hash 4AD36C36 + sample 23: + time = 736000 + flags = 1 + data = length 2560, hash CE76D70E + sample 24: + time = 768000 + flags = 1 + data = length 2560, hash F6575F19 + sample 25: + time = 800000 + flags = 1 + data = length 2560, hash 9F23D09A + sample 26: + time = 832000 + flags = 1 + data = length 2560, hash D87FEE21 + sample 27: + time = 864000 + flags = 1 + data = length 2560, hash A9A51CE8 + sample 28: + time = 896000 + flags = 1 + data = length 2560, hash E0D6287D + sample 29: + time = 928000 + flags = 1 + data = length 2560, hash 7361A86 + sample 30: + time = 960000 + flags = 1 + data = length 2560, hash DFC493C + sample 31: + time = 992000 + flags = 1 + data = length 2560, hash F1B75A9A +tracksEnded = true diff --git a/testdata/src/test/assets/mkv/dvhe_05_05.mkv.2.dump b/testdata/src/test/assets/mkv/dvhe_05_05.mkv.2.dump new file mode 100644 index 00000000000..3e2ef3b32c7 --- /dev/null +++ b/testdata/src/test/assets/mkv/dvhe_05_05.mkv.2.dump @@ -0,0 +1,388 @@ +seekMap: + isSeekable = true + duration = 992000 + getPosition(0) = [[timeUs=0, position=3807]] + getPosition(1) = [[timeUs=0, position=3807]] + getPosition(496000) = [[timeUs=0, position=3807]] + getPosition(992000) = [[timeUs=0, position=3807]] +numberOfTracks = 2 +track 1: + total output bytes = 23598 + sample count = 57 + format 0: + id = 1 + sampleMimeType = video/dolby-vision + codecs = dvhe.05.05 + width = 1920 + height = 1080 + language = en + initializationData: + data = length 1217, hash 605FB6BF + sample 0: + time = 0 + flags = 1 + data = length 2119, hash 60FAE28 + sample 1: + time = 133000 + flags = 0 + data = length 378, hash D06486C + sample 2: + time = 67000 + flags = 0 + data = length 379, hash 26D2D58C + sample 3: + time = 33000 + flags = 0 + data = length 380, hash 18AF19D8 + sample 4: + time = 17000 + flags = 0 + data = length 388, hash 774E37F0 + sample 5: + time = 50000 + flags = 0 + data = length 386, hash E117DAE4 + sample 6: + time = 100000 + flags = 0 + data = length 380, hash 940B0DA5 + sample 7: + time = 83000 + flags = 0 + data = length 387, hash EF9D22F0 + sample 8: + time = 117000 + flags = 0 + data = length 387, hash 57A7A5DC + sample 9: + time = 267000 + flags = 0 + data = length 380, hash 42B06C1D + sample 10: + time = 200000 + flags = 0 + data = length 380, hash 1C5D752E + sample 11: + time = 167000 + flags = 0 + data = length 381, hash 9468E4A0 + sample 12: + time = 150000 + flags = 0 + data = length 387, hash C04654A6 + sample 13: + time = 184000 + flags = 0 + data = length 387, hash D2AC3C12 + sample 14: + time = 234000 + flags = 0 + data = length 380, hash 2F4EEEE4 + sample 15: + time = 217000 + flags = 0 + data = length 387, hash 1AE3D887 + sample 16: + time = 250000 + flags = 0 + data = length 387, hash 82EE5B73 + sample 17: + time = 400000 + flags = 0 + data = length 380, hash 547E8A04 + sample 18: + time = 334000 + flags = 0 + data = length 380, hash 2E2B9315 + sample 19: + time = 300000 + flags = 0 + data = length 381, hash 11F15777 + sample 20: + time = 284000 + flags = 0 + data = length 387, hash EB8D0A3D + sample 21: + time = 317000 + flags = 0 + data = length 387, hash FDF2F1A9 + sample 22: + time = 367000 + flags = 0 + data = length 380, hash A11452D + sample 23: + time = 350000 + flags = 0 + data = length 387, hash 462A8E1E + sample 24: + time = 384000 + flags = 0 + data = length 387, hash AE35110A + sample 25: + time = 534000 + flags = 0 + data = length 380, hash 664CA7EB + sample 26: + time = 467000 + flags = 0 + data = length 380, hash 3FF9B0FC + sample 27: + time = 434000 + flags = 0 + data = length 381, hash 8F79CA4E + sample 28: + time = 417000 + flags = 0 + data = length 387, hash 16D3BFD4 + sample 29: + time = 450000 + flags = 0 + data = length 387, hash 2939A740 + sample 30: + time = 501000 + flags = 0 + data = length 380, hash E4D39B76 + sample 31: + time = 484000 + flags = 0 + data = length 387, hash 717143B5 + sample 32: + time = 517000 + flags = 0 + data = length 387, hash D97BC6A1 + sample 33: + time = 667000 + flags = 0 + data = length 380, hash 781AC5D2 + sample 34: + time = 601000 + flags = 0 + data = length 380, hash 51C7CEE3 + sample 35: + time = 567000 + flags = 0 + data = length 381, hash D023D25 + sample 36: + time = 551000 + flags = 0 + data = length 387, hash 421A756B + sample 37: + time = 584000 + flags = 0 + data = length 387, hash 54805CD7 + sample 38: + time = 634000 + flags = 0 + data = length 380, hash BF95F1BF + sample 39: + time = 617000 + flags = 0 + data = length 387, hash 9CB7F94C + sample 40: + time = 651000 + flags = 0 + data = length 387, hash 4C27C38 + sample 41: + time = 801000 + flags = 0 + data = length 380, hash 89E8E3B9 + sample 42: + time = 734000 + flags = 0 + data = length 380, hash 6395ECCA + sample 43: + time = 701000 + flags = 0 + data = length 381, hash 8A8AAFFC + sample 44: + time = 684000 + flags = 0 + data = length 387, hash 6D612B02 + sample 45: + time = 717000 + flags = 0 + data = length 387, hash 7FC7126E + sample 46: + time = 767000 + flags = 0 + data = length 380, hash 9A584808 + sample 47: + time = 751000 + flags = 0 + data = length 387, hash C7FEAEE3 + sample 48: + time = 784000 + flags = 0 + data = length 387, hash 300931CF + sample 49: + time = 934000 + flags = 0 + data = length 380, hash 9BB701A0 + sample 50: + time = 868000 + flags = 0 + data = length 380, hash 75640AB1 + sample 51: + time = 834000 + flags = 0 + data = length 381, hash 81322D3 + sample 52: + time = 817000 + flags = 0 + data = length 387, hash 98A7E099 + sample 53: + time = 851000 + flags = 0 + data = length 387, hash AB0DC805 + sample 54: + time = 901000 + flags = 0 + data = length 380, hash 751A9E51 + sample 55: + time = 884000 + flags = 0 + data = length 387, hash F345647A + sample 56: + time = 918000 + flags = 0 + data = length 387, hash 5B4FE766 +track 2: + total output bytes = 81920 + sample count = 32 + format 0: + id = 2 + sampleMimeType = audio/eac3 + channelCount = 6 + sampleRate = 48000 + selectionFlags = 1 + language = en + label = Surround 5.1 + sample 0: + time = 0 + flags = 1 + data = length 2560, hash B96751EE + sample 1: + time = 32000 + flags = 1 + data = length 2560, hash 45001B26 + sample 2: + time = 64000 + flags = 1 + data = length 2560, hash A3CBFFE4 + sample 3: + time = 96000 + flags = 1 + data = length 2560, hash 667C5C1A + sample 4: + time = 128000 + flags = 1 + data = length 2560, hash 7EC5AE9 + sample 5: + time = 160000 + flags = 1 + data = length 2560, hash 5F03C1F0 + sample 6: + time = 192000 + flags = 1 + data = length 2560, hash 7546E8D6 + sample 7: + time = 224000 + flags = 1 + data = length 2560, hash 9C5B6C2D + sample 8: + time = 256000 + flags = 1 + data = length 2560, hash 4F7BE9A5 + sample 9: + time = 288000 + flags = 1 + data = length 2560, hash 5D24A4BB + sample 10: + time = 320000 + flags = 1 + data = length 2560, hash 2B19480 + sample 11: + time = 352000 + flags = 1 + data = length 2560, hash D0DF951F + sample 12: + time = 384000 + flags = 1 + data = length 2560, hash CFE1F53A + sample 13: + time = 416000 + flags = 1 + data = length 2560, hash 7B14E1DB + sample 14: + time = 448000 + flags = 1 + data = length 2560, hash 77A4D01D + sample 15: + time = 480000 + flags = 1 + data = length 2560, hash 1CEADC6A + sample 16: + time = 512000 + flags = 1 + data = length 2560, hash F67D37C5 + sample 17: + time = 544000 + flags = 1 + data = length 2560, hash 4E6C1D09 + sample 18: + time = 576000 + flags = 1 + data = length 2560, hash E3BBDEAA + sample 19: + time = 608000 + flags = 1 + data = length 2560, hash 24E8B470 + sample 20: + time = 640000 + flags = 1 + data = length 2560, hash E12DFD77 + sample 21: + time = 672000 + flags = 1 + data = length 2560, hash FE039303 + sample 22: + time = 704000 + flags = 1 + data = length 2560, hash 4AD36C36 + sample 23: + time = 736000 + flags = 1 + data = length 2560, hash CE76D70E + sample 24: + time = 768000 + flags = 1 + data = length 2560, hash F6575F19 + sample 25: + time = 800000 + flags = 1 + data = length 2560, hash 9F23D09A + sample 26: + time = 832000 + flags = 1 + data = length 2560, hash D87FEE21 + sample 27: + time = 864000 + flags = 1 + data = length 2560, hash A9A51CE8 + sample 28: + time = 896000 + flags = 1 + data = length 2560, hash E0D6287D + sample 29: + time = 928000 + flags = 1 + data = length 2560, hash 7361A86 + sample 30: + time = 960000 + flags = 1 + data = length 2560, hash DFC493C + sample 31: + time = 992000 + flags = 1 + data = length 2560, hash F1B75A9A +tracksEnded = true diff --git a/testdata/src/test/assets/mkv/dvhe_05_05.mkv.3.dump b/testdata/src/test/assets/mkv/dvhe_05_05.mkv.3.dump new file mode 100644 index 00000000000..3e2ef3b32c7 --- /dev/null +++ b/testdata/src/test/assets/mkv/dvhe_05_05.mkv.3.dump @@ -0,0 +1,388 @@ +seekMap: + isSeekable = true + duration = 992000 + getPosition(0) = [[timeUs=0, position=3807]] + getPosition(1) = [[timeUs=0, position=3807]] + getPosition(496000) = [[timeUs=0, position=3807]] + getPosition(992000) = [[timeUs=0, position=3807]] +numberOfTracks = 2 +track 1: + total output bytes = 23598 + sample count = 57 + format 0: + id = 1 + sampleMimeType = video/dolby-vision + codecs = dvhe.05.05 + width = 1920 + height = 1080 + language = en + initializationData: + data = length 1217, hash 605FB6BF + sample 0: + time = 0 + flags = 1 + data = length 2119, hash 60FAE28 + sample 1: + time = 133000 + flags = 0 + data = length 378, hash D06486C + sample 2: + time = 67000 + flags = 0 + data = length 379, hash 26D2D58C + sample 3: + time = 33000 + flags = 0 + data = length 380, hash 18AF19D8 + sample 4: + time = 17000 + flags = 0 + data = length 388, hash 774E37F0 + sample 5: + time = 50000 + flags = 0 + data = length 386, hash E117DAE4 + sample 6: + time = 100000 + flags = 0 + data = length 380, hash 940B0DA5 + sample 7: + time = 83000 + flags = 0 + data = length 387, hash EF9D22F0 + sample 8: + time = 117000 + flags = 0 + data = length 387, hash 57A7A5DC + sample 9: + time = 267000 + flags = 0 + data = length 380, hash 42B06C1D + sample 10: + time = 200000 + flags = 0 + data = length 380, hash 1C5D752E + sample 11: + time = 167000 + flags = 0 + data = length 381, hash 9468E4A0 + sample 12: + time = 150000 + flags = 0 + data = length 387, hash C04654A6 + sample 13: + time = 184000 + flags = 0 + data = length 387, hash D2AC3C12 + sample 14: + time = 234000 + flags = 0 + data = length 380, hash 2F4EEEE4 + sample 15: + time = 217000 + flags = 0 + data = length 387, hash 1AE3D887 + sample 16: + time = 250000 + flags = 0 + data = length 387, hash 82EE5B73 + sample 17: + time = 400000 + flags = 0 + data = length 380, hash 547E8A04 + sample 18: + time = 334000 + flags = 0 + data = length 380, hash 2E2B9315 + sample 19: + time = 300000 + flags = 0 + data = length 381, hash 11F15777 + sample 20: + time = 284000 + flags = 0 + data = length 387, hash EB8D0A3D + sample 21: + time = 317000 + flags = 0 + data = length 387, hash FDF2F1A9 + sample 22: + time = 367000 + flags = 0 + data = length 380, hash A11452D + sample 23: + time = 350000 + flags = 0 + data = length 387, hash 462A8E1E + sample 24: + time = 384000 + flags = 0 + data = length 387, hash AE35110A + sample 25: + time = 534000 + flags = 0 + data = length 380, hash 664CA7EB + sample 26: + time = 467000 + flags = 0 + data = length 380, hash 3FF9B0FC + sample 27: + time = 434000 + flags = 0 + data = length 381, hash 8F79CA4E + sample 28: + time = 417000 + flags = 0 + data = length 387, hash 16D3BFD4 + sample 29: + time = 450000 + flags = 0 + data = length 387, hash 2939A740 + sample 30: + time = 501000 + flags = 0 + data = length 380, hash E4D39B76 + sample 31: + time = 484000 + flags = 0 + data = length 387, hash 717143B5 + sample 32: + time = 517000 + flags = 0 + data = length 387, hash D97BC6A1 + sample 33: + time = 667000 + flags = 0 + data = length 380, hash 781AC5D2 + sample 34: + time = 601000 + flags = 0 + data = length 380, hash 51C7CEE3 + sample 35: + time = 567000 + flags = 0 + data = length 381, hash D023D25 + sample 36: + time = 551000 + flags = 0 + data = length 387, hash 421A756B + sample 37: + time = 584000 + flags = 0 + data = length 387, hash 54805CD7 + sample 38: + time = 634000 + flags = 0 + data = length 380, hash BF95F1BF + sample 39: + time = 617000 + flags = 0 + data = length 387, hash 9CB7F94C + sample 40: + time = 651000 + flags = 0 + data = length 387, hash 4C27C38 + sample 41: + time = 801000 + flags = 0 + data = length 380, hash 89E8E3B9 + sample 42: + time = 734000 + flags = 0 + data = length 380, hash 6395ECCA + sample 43: + time = 701000 + flags = 0 + data = length 381, hash 8A8AAFFC + sample 44: + time = 684000 + flags = 0 + data = length 387, hash 6D612B02 + sample 45: + time = 717000 + flags = 0 + data = length 387, hash 7FC7126E + sample 46: + time = 767000 + flags = 0 + data = length 380, hash 9A584808 + sample 47: + time = 751000 + flags = 0 + data = length 387, hash C7FEAEE3 + sample 48: + time = 784000 + flags = 0 + data = length 387, hash 300931CF + sample 49: + time = 934000 + flags = 0 + data = length 380, hash 9BB701A0 + sample 50: + time = 868000 + flags = 0 + data = length 380, hash 75640AB1 + sample 51: + time = 834000 + flags = 0 + data = length 381, hash 81322D3 + sample 52: + time = 817000 + flags = 0 + data = length 387, hash 98A7E099 + sample 53: + time = 851000 + flags = 0 + data = length 387, hash AB0DC805 + sample 54: + time = 901000 + flags = 0 + data = length 380, hash 751A9E51 + sample 55: + time = 884000 + flags = 0 + data = length 387, hash F345647A + sample 56: + time = 918000 + flags = 0 + data = length 387, hash 5B4FE766 +track 2: + total output bytes = 81920 + sample count = 32 + format 0: + id = 2 + sampleMimeType = audio/eac3 + channelCount = 6 + sampleRate = 48000 + selectionFlags = 1 + language = en + label = Surround 5.1 + sample 0: + time = 0 + flags = 1 + data = length 2560, hash B96751EE + sample 1: + time = 32000 + flags = 1 + data = length 2560, hash 45001B26 + sample 2: + time = 64000 + flags = 1 + data = length 2560, hash A3CBFFE4 + sample 3: + time = 96000 + flags = 1 + data = length 2560, hash 667C5C1A + sample 4: + time = 128000 + flags = 1 + data = length 2560, hash 7EC5AE9 + sample 5: + time = 160000 + flags = 1 + data = length 2560, hash 5F03C1F0 + sample 6: + time = 192000 + flags = 1 + data = length 2560, hash 7546E8D6 + sample 7: + time = 224000 + flags = 1 + data = length 2560, hash 9C5B6C2D + sample 8: + time = 256000 + flags = 1 + data = length 2560, hash 4F7BE9A5 + sample 9: + time = 288000 + flags = 1 + data = length 2560, hash 5D24A4BB + sample 10: + time = 320000 + flags = 1 + data = length 2560, hash 2B19480 + sample 11: + time = 352000 + flags = 1 + data = length 2560, hash D0DF951F + sample 12: + time = 384000 + flags = 1 + data = length 2560, hash CFE1F53A + sample 13: + time = 416000 + flags = 1 + data = length 2560, hash 7B14E1DB + sample 14: + time = 448000 + flags = 1 + data = length 2560, hash 77A4D01D + sample 15: + time = 480000 + flags = 1 + data = length 2560, hash 1CEADC6A + sample 16: + time = 512000 + flags = 1 + data = length 2560, hash F67D37C5 + sample 17: + time = 544000 + flags = 1 + data = length 2560, hash 4E6C1D09 + sample 18: + time = 576000 + flags = 1 + data = length 2560, hash E3BBDEAA + sample 19: + time = 608000 + flags = 1 + data = length 2560, hash 24E8B470 + sample 20: + time = 640000 + flags = 1 + data = length 2560, hash E12DFD77 + sample 21: + time = 672000 + flags = 1 + data = length 2560, hash FE039303 + sample 22: + time = 704000 + flags = 1 + data = length 2560, hash 4AD36C36 + sample 23: + time = 736000 + flags = 1 + data = length 2560, hash CE76D70E + sample 24: + time = 768000 + flags = 1 + data = length 2560, hash F6575F19 + sample 25: + time = 800000 + flags = 1 + data = length 2560, hash 9F23D09A + sample 26: + time = 832000 + flags = 1 + data = length 2560, hash D87FEE21 + sample 27: + time = 864000 + flags = 1 + data = length 2560, hash A9A51CE8 + sample 28: + time = 896000 + flags = 1 + data = length 2560, hash E0D6287D + sample 29: + time = 928000 + flags = 1 + data = length 2560, hash 7361A86 + sample 30: + time = 960000 + flags = 1 + data = length 2560, hash DFC493C + sample 31: + time = 992000 + flags = 1 + data = length 2560, hash F1B75A9A +tracksEnded = true diff --git a/testdata/src/test/assets/mkv/dvhe_05_05.mkv.unknown_length.dump b/testdata/src/test/assets/mkv/dvhe_05_05.mkv.unknown_length.dump new file mode 100644 index 00000000000..3e2ef3b32c7 --- /dev/null +++ b/testdata/src/test/assets/mkv/dvhe_05_05.mkv.unknown_length.dump @@ -0,0 +1,388 @@ +seekMap: + isSeekable = true + duration = 992000 + getPosition(0) = [[timeUs=0, position=3807]] + getPosition(1) = [[timeUs=0, position=3807]] + getPosition(496000) = [[timeUs=0, position=3807]] + getPosition(992000) = [[timeUs=0, position=3807]] +numberOfTracks = 2 +track 1: + total output bytes = 23598 + sample count = 57 + format 0: + id = 1 + sampleMimeType = video/dolby-vision + codecs = dvhe.05.05 + width = 1920 + height = 1080 + language = en + initializationData: + data = length 1217, hash 605FB6BF + sample 0: + time = 0 + flags = 1 + data = length 2119, hash 60FAE28 + sample 1: + time = 133000 + flags = 0 + data = length 378, hash D06486C + sample 2: + time = 67000 + flags = 0 + data = length 379, hash 26D2D58C + sample 3: + time = 33000 + flags = 0 + data = length 380, hash 18AF19D8 + sample 4: + time = 17000 + flags = 0 + data = length 388, hash 774E37F0 + sample 5: + time = 50000 + flags = 0 + data = length 386, hash E117DAE4 + sample 6: + time = 100000 + flags = 0 + data = length 380, hash 940B0DA5 + sample 7: + time = 83000 + flags = 0 + data = length 387, hash EF9D22F0 + sample 8: + time = 117000 + flags = 0 + data = length 387, hash 57A7A5DC + sample 9: + time = 267000 + flags = 0 + data = length 380, hash 42B06C1D + sample 10: + time = 200000 + flags = 0 + data = length 380, hash 1C5D752E + sample 11: + time = 167000 + flags = 0 + data = length 381, hash 9468E4A0 + sample 12: + time = 150000 + flags = 0 + data = length 387, hash C04654A6 + sample 13: + time = 184000 + flags = 0 + data = length 387, hash D2AC3C12 + sample 14: + time = 234000 + flags = 0 + data = length 380, hash 2F4EEEE4 + sample 15: + time = 217000 + flags = 0 + data = length 387, hash 1AE3D887 + sample 16: + time = 250000 + flags = 0 + data = length 387, hash 82EE5B73 + sample 17: + time = 400000 + flags = 0 + data = length 380, hash 547E8A04 + sample 18: + time = 334000 + flags = 0 + data = length 380, hash 2E2B9315 + sample 19: + time = 300000 + flags = 0 + data = length 381, hash 11F15777 + sample 20: + time = 284000 + flags = 0 + data = length 387, hash EB8D0A3D + sample 21: + time = 317000 + flags = 0 + data = length 387, hash FDF2F1A9 + sample 22: + time = 367000 + flags = 0 + data = length 380, hash A11452D + sample 23: + time = 350000 + flags = 0 + data = length 387, hash 462A8E1E + sample 24: + time = 384000 + flags = 0 + data = length 387, hash AE35110A + sample 25: + time = 534000 + flags = 0 + data = length 380, hash 664CA7EB + sample 26: + time = 467000 + flags = 0 + data = length 380, hash 3FF9B0FC + sample 27: + time = 434000 + flags = 0 + data = length 381, hash 8F79CA4E + sample 28: + time = 417000 + flags = 0 + data = length 387, hash 16D3BFD4 + sample 29: + time = 450000 + flags = 0 + data = length 387, hash 2939A740 + sample 30: + time = 501000 + flags = 0 + data = length 380, hash E4D39B76 + sample 31: + time = 484000 + flags = 0 + data = length 387, hash 717143B5 + sample 32: + time = 517000 + flags = 0 + data = length 387, hash D97BC6A1 + sample 33: + time = 667000 + flags = 0 + data = length 380, hash 781AC5D2 + sample 34: + time = 601000 + flags = 0 + data = length 380, hash 51C7CEE3 + sample 35: + time = 567000 + flags = 0 + data = length 381, hash D023D25 + sample 36: + time = 551000 + flags = 0 + data = length 387, hash 421A756B + sample 37: + time = 584000 + flags = 0 + data = length 387, hash 54805CD7 + sample 38: + time = 634000 + flags = 0 + data = length 380, hash BF95F1BF + sample 39: + time = 617000 + flags = 0 + data = length 387, hash 9CB7F94C + sample 40: + time = 651000 + flags = 0 + data = length 387, hash 4C27C38 + sample 41: + time = 801000 + flags = 0 + data = length 380, hash 89E8E3B9 + sample 42: + time = 734000 + flags = 0 + data = length 380, hash 6395ECCA + sample 43: + time = 701000 + flags = 0 + data = length 381, hash 8A8AAFFC + sample 44: + time = 684000 + flags = 0 + data = length 387, hash 6D612B02 + sample 45: + time = 717000 + flags = 0 + data = length 387, hash 7FC7126E + sample 46: + time = 767000 + flags = 0 + data = length 380, hash 9A584808 + sample 47: + time = 751000 + flags = 0 + data = length 387, hash C7FEAEE3 + sample 48: + time = 784000 + flags = 0 + data = length 387, hash 300931CF + sample 49: + time = 934000 + flags = 0 + data = length 380, hash 9BB701A0 + sample 50: + time = 868000 + flags = 0 + data = length 380, hash 75640AB1 + sample 51: + time = 834000 + flags = 0 + data = length 381, hash 81322D3 + sample 52: + time = 817000 + flags = 0 + data = length 387, hash 98A7E099 + sample 53: + time = 851000 + flags = 0 + data = length 387, hash AB0DC805 + sample 54: + time = 901000 + flags = 0 + data = length 380, hash 751A9E51 + sample 55: + time = 884000 + flags = 0 + data = length 387, hash F345647A + sample 56: + time = 918000 + flags = 0 + data = length 387, hash 5B4FE766 +track 2: + total output bytes = 81920 + sample count = 32 + format 0: + id = 2 + sampleMimeType = audio/eac3 + channelCount = 6 + sampleRate = 48000 + selectionFlags = 1 + language = en + label = Surround 5.1 + sample 0: + time = 0 + flags = 1 + data = length 2560, hash B96751EE + sample 1: + time = 32000 + flags = 1 + data = length 2560, hash 45001B26 + sample 2: + time = 64000 + flags = 1 + data = length 2560, hash A3CBFFE4 + sample 3: + time = 96000 + flags = 1 + data = length 2560, hash 667C5C1A + sample 4: + time = 128000 + flags = 1 + data = length 2560, hash 7EC5AE9 + sample 5: + time = 160000 + flags = 1 + data = length 2560, hash 5F03C1F0 + sample 6: + time = 192000 + flags = 1 + data = length 2560, hash 7546E8D6 + sample 7: + time = 224000 + flags = 1 + data = length 2560, hash 9C5B6C2D + sample 8: + time = 256000 + flags = 1 + data = length 2560, hash 4F7BE9A5 + sample 9: + time = 288000 + flags = 1 + data = length 2560, hash 5D24A4BB + sample 10: + time = 320000 + flags = 1 + data = length 2560, hash 2B19480 + sample 11: + time = 352000 + flags = 1 + data = length 2560, hash D0DF951F + sample 12: + time = 384000 + flags = 1 + data = length 2560, hash CFE1F53A + sample 13: + time = 416000 + flags = 1 + data = length 2560, hash 7B14E1DB + sample 14: + time = 448000 + flags = 1 + data = length 2560, hash 77A4D01D + sample 15: + time = 480000 + flags = 1 + data = length 2560, hash 1CEADC6A + sample 16: + time = 512000 + flags = 1 + data = length 2560, hash F67D37C5 + sample 17: + time = 544000 + flags = 1 + data = length 2560, hash 4E6C1D09 + sample 18: + time = 576000 + flags = 1 + data = length 2560, hash E3BBDEAA + sample 19: + time = 608000 + flags = 1 + data = length 2560, hash 24E8B470 + sample 20: + time = 640000 + flags = 1 + data = length 2560, hash E12DFD77 + sample 21: + time = 672000 + flags = 1 + data = length 2560, hash FE039303 + sample 22: + time = 704000 + flags = 1 + data = length 2560, hash 4AD36C36 + sample 23: + time = 736000 + flags = 1 + data = length 2560, hash CE76D70E + sample 24: + time = 768000 + flags = 1 + data = length 2560, hash F6575F19 + sample 25: + time = 800000 + flags = 1 + data = length 2560, hash 9F23D09A + sample 26: + time = 832000 + flags = 1 + data = length 2560, hash D87FEE21 + sample 27: + time = 864000 + flags = 1 + data = length 2560, hash A9A51CE8 + sample 28: + time = 896000 + flags = 1 + data = length 2560, hash E0D6287D + sample 29: + time = 928000 + flags = 1 + data = length 2560, hash 7361A86 + sample 30: + time = 960000 + flags = 1 + data = length 2560, hash DFC493C + sample 31: + time = 992000 + flags = 1 + data = length 2560, hash F1B75A9A +tracksEnded = true diff --git a/testdata/src/test/assets/mkv/hev1_08_05.mkv b/testdata/src/test/assets/mkv/hev1_08_05.mkv new file mode 100755 index 00000000000..2baa0baa4c3 Binary files /dev/null and b/testdata/src/test/assets/mkv/hev1_08_05.mkv differ diff --git a/testdata/src/test/assets/mkv/hev1_08_05.mkv.0.dump b/testdata/src/test/assets/mkv/hev1_08_05.mkv.0.dump new file mode 100644 index 00000000000..3aff63411e7 --- /dev/null +++ b/testdata/src/test/assets/mkv/hev1_08_05.mkv.0.dump @@ -0,0 +1,388 @@ +seekMap: + isSeekable = true + duration = 992000 + getPosition(0) = [[timeUs=0, position=3899]] + getPosition(1) = [[timeUs=0, position=3899]] + getPosition(496000) = [[timeUs=0, position=3899]] + getPosition(992000) = [[timeUs=0, position=3899]] +numberOfTracks = 2 +track 1: + total output bytes = 23785 + sample count = 57 + format 0: + id = 1 + sampleMimeType = video/dolby-vision + codecs = hev1.08.05 + width = 1920 + height = 1080 + language = en + initializationData: + data = length 1313, hash 8E1EA68D + sample 0: + time = 0 + flags = 1 + data = length 2105, hash CF15FB39 + sample 1: + time = 133000 + flags = 0 + data = length 382, hash B03670AC + sample 2: + time = 67000 + flags = 0 + data = length 383, hash 8E3D6EF0 + sample 3: + time = 33000 + flags = 0 + data = length 382, hash 24831438 + sample 4: + time = 17000 + flags = 0 + data = length 391, hash D4BB2736 + sample 5: + time = 50000 + flags = 0 + data = length 390, hash 1F4265A3 + sample 6: + time = 100000 + flags = 0 + data = length 383, hash C997C8E2 + sample 7: + time = 83000 + flags = 0 + data = length 391, hash D0250BAF + sample 8: + time = 117000 + flags = 0 + data = length 390, hash BB27F4DA + sample 9: + time = 267000 + flags = 0 + data = length 384, hash 313D2C13 + sample 10: + time = 200000 + flags = 0 + data = length 384, hash 2304913C + sample 11: + time = 167000 + flags = 0 + data = length 384, hash C7B28D8D + sample 12: + time = 150000 + flags = 0 + data = length 391, hash E4AA33BD + sample 13: + time = 184000 + flags = 0 + data = length 391, hash 180B0053 + sample 14: + time = 234000 + flags = 0 + data = length 383, hash 2D30E65B + sample 15: + time = 217000 + flags = 0 + data = length 391, hash D18B26C0 + sample 16: + time = 250000 + flags = 0 + data = length 390, hash 35919DCB + sample 17: + time = 400000 + flags = 0 + data = length 384, hash 2909DC4 + sample 18: + time = 334000 + flags = 0 + data = length 384, hash F45802ED + sample 19: + time = 300000 + flags = 0 + data = length 384, hash 9905FF3E + sample 20: + time = 284000 + flags = 0 + data = length 391, hash E6104ECE + sample 21: + time = 317000 + flags = 0 + data = length 391, hash 19711B64 + sample 22: + time = 367000 + flags = 0 + data = length 383, hash 6DBFFA8A + sample 23: + time = 350000 + flags = 0 + data = length 391, hash D2F141D1 + sample 24: + time = 384000 + flags = 0 + data = length 390, hash AFFB46BC + sample 25: + time = 534000 + flags = 0 + data = length 384, hash D3E40F75 + sample 26: + time = 467000 + flags = 0 + data = length 384, hash C5AB749E + sample 27: + time = 434000 + flags = 0 + data = length 384, hash 6A5970EF + sample 28: + time = 417000 + flags = 0 + data = length 391, hash E77669DF + sample 29: + time = 450000 + flags = 0 + data = length 391, hash 1AD73675 + sample 30: + time = 501000 + flags = 0 + data = length 383, hash AE4F0EB9 + sample 31: + time = 484000 + flags = 0 + data = length 391, hash D4575CE2 + sample 32: + time = 517000 + flags = 0 + data = length 390, hash 2A64EFAD + sample 33: + time = 667000 + flags = 0 + data = length 384, hash A5378126 + sample 34: + time = 601000 + flags = 0 + data = length 384, hash 96FEE64F + sample 35: + time = 567000 + flags = 0 + data = length 384, hash 3BACE2A0 + sample 36: + time = 551000 + flags = 0 + data = length 391, hash E8DC84F0 + sample 37: + time = 584000 + flags = 0 + data = length 391, hash 1C3D5186 + sample 38: + time = 634000 + flags = 0 + data = length 383, hash EEDE22E8 + sample 39: + time = 617000 + flags = 0 + data = length 391, hash D5BD77F3 + sample 40: + time = 651000 + flags = 0 + data = length 390, hash A4CE989E + sample 41: + time = 801000 + flags = 0 + data = length 384, hash 768AF2D7 + sample 42: + time = 734000 + flags = 0 + data = length 384, hash 68525800 + sample 43: + time = 701000 + flags = 0 + data = length 384, hash D005451 + sample 44: + time = 684000 + flags = 0 + data = length 391, hash EA42A001 + sample 45: + time = 717000 + flags = 0 + data = length 391, hash 1DA36C97 + sample 46: + time = 767000 + flags = 0 + data = length 383, hash 2F6D3717 + sample 47: + time = 751000 + flags = 0 + data = length 391, hash D7239304 + sample 48: + time = 784000 + flags = 0 + data = length 390, hash 1F38418F + sample 49: + time = 934000 + flags = 0 + data = length 384, hash 47DE6488 + sample 50: + time = 868000 + flags = 0 + data = length 384, hash 39A5C9B1 + sample 51: + time = 834000 + flags = 0 + data = length 384, hash DE53C602 + sample 52: + time = 817000 + flags = 0 + data = length 391, hash EBA8BB12 + sample 53: + time = 851000 + flags = 0 + data = length 391, hash 1F0987A8 + sample 54: + time = 901000 + flags = 0 + data = length 383, hash 6FFC4B46 + sample 55: + time = 884000 + flags = 0 + data = length 391, hash D889AE15 + sample 56: + time = 918000 + flags = 0 + data = length 390, hash 99A1EA80 +track 2: + total output bytes = 81920 + sample count = 32 + format 0: + id = 2 + sampleMimeType = audio/eac3 + channelCount = 6 + sampleRate = 48000 + selectionFlags = 1 + language = en + label = Surround 5.1 + sample 0: + time = 0 + flags = 1 + data = length 2560, hash B96751EE + sample 1: + time = 32000 + flags = 1 + data = length 2560, hash 45001B26 + sample 2: + time = 64000 + flags = 1 + data = length 2560, hash A3CBFFE4 + sample 3: + time = 96000 + flags = 1 + data = length 2560, hash 667C5C1A + sample 4: + time = 128000 + flags = 1 + data = length 2560, hash 7EC5AE9 + sample 5: + time = 160000 + flags = 1 + data = length 2560, hash 5F03C1F0 + sample 6: + time = 192000 + flags = 1 + data = length 2560, hash 7546E8D6 + sample 7: + time = 224000 + flags = 1 + data = length 2560, hash 9C5B6C2D + sample 8: + time = 256000 + flags = 1 + data = length 2560, hash 4F7BE9A5 + sample 9: + time = 288000 + flags = 1 + data = length 2560, hash 5D24A4BB + sample 10: + time = 320000 + flags = 1 + data = length 2560, hash 2B19480 + sample 11: + time = 352000 + flags = 1 + data = length 2560, hash D0DF951F + sample 12: + time = 384000 + flags = 1 + data = length 2560, hash CFE1F53A + sample 13: + time = 416000 + flags = 1 + data = length 2560, hash 7B14E1DB + sample 14: + time = 448000 + flags = 1 + data = length 2560, hash 77A4D01D + sample 15: + time = 480000 + flags = 1 + data = length 2560, hash 1CEADC6A + sample 16: + time = 512000 + flags = 1 + data = length 2560, hash F67D37C5 + sample 17: + time = 544000 + flags = 1 + data = length 2560, hash 4E6C1D09 + sample 18: + time = 576000 + flags = 1 + data = length 2560, hash E3BBDEAA + sample 19: + time = 608000 + flags = 1 + data = length 2560, hash 24E8B470 + sample 20: + time = 640000 + flags = 1 + data = length 2560, hash E12DFD77 + sample 21: + time = 672000 + flags = 1 + data = length 2560, hash FE039303 + sample 22: + time = 704000 + flags = 1 + data = length 2560, hash 4AD36C36 + sample 23: + time = 736000 + flags = 1 + data = length 2560, hash CE76D70E + sample 24: + time = 768000 + flags = 1 + data = length 2560, hash F6575F19 + sample 25: + time = 800000 + flags = 1 + data = length 2560, hash 9F23D09A + sample 26: + time = 832000 + flags = 1 + data = length 2560, hash D87FEE21 + sample 27: + time = 864000 + flags = 1 + data = length 2560, hash A9A51CE8 + sample 28: + time = 896000 + flags = 1 + data = length 2560, hash E0D6287D + sample 29: + time = 928000 + flags = 1 + data = length 2560, hash 7361A86 + sample 30: + time = 960000 + flags = 1 + data = length 2560, hash DFC493C + sample 31: + time = 992000 + flags = 1 + data = length 2560, hash F1B75A9A +tracksEnded = true diff --git a/testdata/src/test/assets/mkv/hev1_08_05.mkv.1.dump b/testdata/src/test/assets/mkv/hev1_08_05.mkv.1.dump new file mode 100644 index 00000000000..3aff63411e7 --- /dev/null +++ b/testdata/src/test/assets/mkv/hev1_08_05.mkv.1.dump @@ -0,0 +1,388 @@ +seekMap: + isSeekable = true + duration = 992000 + getPosition(0) = [[timeUs=0, position=3899]] + getPosition(1) = [[timeUs=0, position=3899]] + getPosition(496000) = [[timeUs=0, position=3899]] + getPosition(992000) = [[timeUs=0, position=3899]] +numberOfTracks = 2 +track 1: + total output bytes = 23785 + sample count = 57 + format 0: + id = 1 + sampleMimeType = video/dolby-vision + codecs = hev1.08.05 + width = 1920 + height = 1080 + language = en + initializationData: + data = length 1313, hash 8E1EA68D + sample 0: + time = 0 + flags = 1 + data = length 2105, hash CF15FB39 + sample 1: + time = 133000 + flags = 0 + data = length 382, hash B03670AC + sample 2: + time = 67000 + flags = 0 + data = length 383, hash 8E3D6EF0 + sample 3: + time = 33000 + flags = 0 + data = length 382, hash 24831438 + sample 4: + time = 17000 + flags = 0 + data = length 391, hash D4BB2736 + sample 5: + time = 50000 + flags = 0 + data = length 390, hash 1F4265A3 + sample 6: + time = 100000 + flags = 0 + data = length 383, hash C997C8E2 + sample 7: + time = 83000 + flags = 0 + data = length 391, hash D0250BAF + sample 8: + time = 117000 + flags = 0 + data = length 390, hash BB27F4DA + sample 9: + time = 267000 + flags = 0 + data = length 384, hash 313D2C13 + sample 10: + time = 200000 + flags = 0 + data = length 384, hash 2304913C + sample 11: + time = 167000 + flags = 0 + data = length 384, hash C7B28D8D + sample 12: + time = 150000 + flags = 0 + data = length 391, hash E4AA33BD + sample 13: + time = 184000 + flags = 0 + data = length 391, hash 180B0053 + sample 14: + time = 234000 + flags = 0 + data = length 383, hash 2D30E65B + sample 15: + time = 217000 + flags = 0 + data = length 391, hash D18B26C0 + sample 16: + time = 250000 + flags = 0 + data = length 390, hash 35919DCB + sample 17: + time = 400000 + flags = 0 + data = length 384, hash 2909DC4 + sample 18: + time = 334000 + flags = 0 + data = length 384, hash F45802ED + sample 19: + time = 300000 + flags = 0 + data = length 384, hash 9905FF3E + sample 20: + time = 284000 + flags = 0 + data = length 391, hash E6104ECE + sample 21: + time = 317000 + flags = 0 + data = length 391, hash 19711B64 + sample 22: + time = 367000 + flags = 0 + data = length 383, hash 6DBFFA8A + sample 23: + time = 350000 + flags = 0 + data = length 391, hash D2F141D1 + sample 24: + time = 384000 + flags = 0 + data = length 390, hash AFFB46BC + sample 25: + time = 534000 + flags = 0 + data = length 384, hash D3E40F75 + sample 26: + time = 467000 + flags = 0 + data = length 384, hash C5AB749E + sample 27: + time = 434000 + flags = 0 + data = length 384, hash 6A5970EF + sample 28: + time = 417000 + flags = 0 + data = length 391, hash E77669DF + sample 29: + time = 450000 + flags = 0 + data = length 391, hash 1AD73675 + sample 30: + time = 501000 + flags = 0 + data = length 383, hash AE4F0EB9 + sample 31: + time = 484000 + flags = 0 + data = length 391, hash D4575CE2 + sample 32: + time = 517000 + flags = 0 + data = length 390, hash 2A64EFAD + sample 33: + time = 667000 + flags = 0 + data = length 384, hash A5378126 + sample 34: + time = 601000 + flags = 0 + data = length 384, hash 96FEE64F + sample 35: + time = 567000 + flags = 0 + data = length 384, hash 3BACE2A0 + sample 36: + time = 551000 + flags = 0 + data = length 391, hash E8DC84F0 + sample 37: + time = 584000 + flags = 0 + data = length 391, hash 1C3D5186 + sample 38: + time = 634000 + flags = 0 + data = length 383, hash EEDE22E8 + sample 39: + time = 617000 + flags = 0 + data = length 391, hash D5BD77F3 + sample 40: + time = 651000 + flags = 0 + data = length 390, hash A4CE989E + sample 41: + time = 801000 + flags = 0 + data = length 384, hash 768AF2D7 + sample 42: + time = 734000 + flags = 0 + data = length 384, hash 68525800 + sample 43: + time = 701000 + flags = 0 + data = length 384, hash D005451 + sample 44: + time = 684000 + flags = 0 + data = length 391, hash EA42A001 + sample 45: + time = 717000 + flags = 0 + data = length 391, hash 1DA36C97 + sample 46: + time = 767000 + flags = 0 + data = length 383, hash 2F6D3717 + sample 47: + time = 751000 + flags = 0 + data = length 391, hash D7239304 + sample 48: + time = 784000 + flags = 0 + data = length 390, hash 1F38418F + sample 49: + time = 934000 + flags = 0 + data = length 384, hash 47DE6488 + sample 50: + time = 868000 + flags = 0 + data = length 384, hash 39A5C9B1 + sample 51: + time = 834000 + flags = 0 + data = length 384, hash DE53C602 + sample 52: + time = 817000 + flags = 0 + data = length 391, hash EBA8BB12 + sample 53: + time = 851000 + flags = 0 + data = length 391, hash 1F0987A8 + sample 54: + time = 901000 + flags = 0 + data = length 383, hash 6FFC4B46 + sample 55: + time = 884000 + flags = 0 + data = length 391, hash D889AE15 + sample 56: + time = 918000 + flags = 0 + data = length 390, hash 99A1EA80 +track 2: + total output bytes = 81920 + sample count = 32 + format 0: + id = 2 + sampleMimeType = audio/eac3 + channelCount = 6 + sampleRate = 48000 + selectionFlags = 1 + language = en + label = Surround 5.1 + sample 0: + time = 0 + flags = 1 + data = length 2560, hash B96751EE + sample 1: + time = 32000 + flags = 1 + data = length 2560, hash 45001B26 + sample 2: + time = 64000 + flags = 1 + data = length 2560, hash A3CBFFE4 + sample 3: + time = 96000 + flags = 1 + data = length 2560, hash 667C5C1A + sample 4: + time = 128000 + flags = 1 + data = length 2560, hash 7EC5AE9 + sample 5: + time = 160000 + flags = 1 + data = length 2560, hash 5F03C1F0 + sample 6: + time = 192000 + flags = 1 + data = length 2560, hash 7546E8D6 + sample 7: + time = 224000 + flags = 1 + data = length 2560, hash 9C5B6C2D + sample 8: + time = 256000 + flags = 1 + data = length 2560, hash 4F7BE9A5 + sample 9: + time = 288000 + flags = 1 + data = length 2560, hash 5D24A4BB + sample 10: + time = 320000 + flags = 1 + data = length 2560, hash 2B19480 + sample 11: + time = 352000 + flags = 1 + data = length 2560, hash D0DF951F + sample 12: + time = 384000 + flags = 1 + data = length 2560, hash CFE1F53A + sample 13: + time = 416000 + flags = 1 + data = length 2560, hash 7B14E1DB + sample 14: + time = 448000 + flags = 1 + data = length 2560, hash 77A4D01D + sample 15: + time = 480000 + flags = 1 + data = length 2560, hash 1CEADC6A + sample 16: + time = 512000 + flags = 1 + data = length 2560, hash F67D37C5 + sample 17: + time = 544000 + flags = 1 + data = length 2560, hash 4E6C1D09 + sample 18: + time = 576000 + flags = 1 + data = length 2560, hash E3BBDEAA + sample 19: + time = 608000 + flags = 1 + data = length 2560, hash 24E8B470 + sample 20: + time = 640000 + flags = 1 + data = length 2560, hash E12DFD77 + sample 21: + time = 672000 + flags = 1 + data = length 2560, hash FE039303 + sample 22: + time = 704000 + flags = 1 + data = length 2560, hash 4AD36C36 + sample 23: + time = 736000 + flags = 1 + data = length 2560, hash CE76D70E + sample 24: + time = 768000 + flags = 1 + data = length 2560, hash F6575F19 + sample 25: + time = 800000 + flags = 1 + data = length 2560, hash 9F23D09A + sample 26: + time = 832000 + flags = 1 + data = length 2560, hash D87FEE21 + sample 27: + time = 864000 + flags = 1 + data = length 2560, hash A9A51CE8 + sample 28: + time = 896000 + flags = 1 + data = length 2560, hash E0D6287D + sample 29: + time = 928000 + flags = 1 + data = length 2560, hash 7361A86 + sample 30: + time = 960000 + flags = 1 + data = length 2560, hash DFC493C + sample 31: + time = 992000 + flags = 1 + data = length 2560, hash F1B75A9A +tracksEnded = true diff --git a/testdata/src/test/assets/mkv/hev1_08_05.mkv.2.dump b/testdata/src/test/assets/mkv/hev1_08_05.mkv.2.dump new file mode 100644 index 00000000000..3aff63411e7 --- /dev/null +++ b/testdata/src/test/assets/mkv/hev1_08_05.mkv.2.dump @@ -0,0 +1,388 @@ +seekMap: + isSeekable = true + duration = 992000 + getPosition(0) = [[timeUs=0, position=3899]] + getPosition(1) = [[timeUs=0, position=3899]] + getPosition(496000) = [[timeUs=0, position=3899]] + getPosition(992000) = [[timeUs=0, position=3899]] +numberOfTracks = 2 +track 1: + total output bytes = 23785 + sample count = 57 + format 0: + id = 1 + sampleMimeType = video/dolby-vision + codecs = hev1.08.05 + width = 1920 + height = 1080 + language = en + initializationData: + data = length 1313, hash 8E1EA68D + sample 0: + time = 0 + flags = 1 + data = length 2105, hash CF15FB39 + sample 1: + time = 133000 + flags = 0 + data = length 382, hash B03670AC + sample 2: + time = 67000 + flags = 0 + data = length 383, hash 8E3D6EF0 + sample 3: + time = 33000 + flags = 0 + data = length 382, hash 24831438 + sample 4: + time = 17000 + flags = 0 + data = length 391, hash D4BB2736 + sample 5: + time = 50000 + flags = 0 + data = length 390, hash 1F4265A3 + sample 6: + time = 100000 + flags = 0 + data = length 383, hash C997C8E2 + sample 7: + time = 83000 + flags = 0 + data = length 391, hash D0250BAF + sample 8: + time = 117000 + flags = 0 + data = length 390, hash BB27F4DA + sample 9: + time = 267000 + flags = 0 + data = length 384, hash 313D2C13 + sample 10: + time = 200000 + flags = 0 + data = length 384, hash 2304913C + sample 11: + time = 167000 + flags = 0 + data = length 384, hash C7B28D8D + sample 12: + time = 150000 + flags = 0 + data = length 391, hash E4AA33BD + sample 13: + time = 184000 + flags = 0 + data = length 391, hash 180B0053 + sample 14: + time = 234000 + flags = 0 + data = length 383, hash 2D30E65B + sample 15: + time = 217000 + flags = 0 + data = length 391, hash D18B26C0 + sample 16: + time = 250000 + flags = 0 + data = length 390, hash 35919DCB + sample 17: + time = 400000 + flags = 0 + data = length 384, hash 2909DC4 + sample 18: + time = 334000 + flags = 0 + data = length 384, hash F45802ED + sample 19: + time = 300000 + flags = 0 + data = length 384, hash 9905FF3E + sample 20: + time = 284000 + flags = 0 + data = length 391, hash E6104ECE + sample 21: + time = 317000 + flags = 0 + data = length 391, hash 19711B64 + sample 22: + time = 367000 + flags = 0 + data = length 383, hash 6DBFFA8A + sample 23: + time = 350000 + flags = 0 + data = length 391, hash D2F141D1 + sample 24: + time = 384000 + flags = 0 + data = length 390, hash AFFB46BC + sample 25: + time = 534000 + flags = 0 + data = length 384, hash D3E40F75 + sample 26: + time = 467000 + flags = 0 + data = length 384, hash C5AB749E + sample 27: + time = 434000 + flags = 0 + data = length 384, hash 6A5970EF + sample 28: + time = 417000 + flags = 0 + data = length 391, hash E77669DF + sample 29: + time = 450000 + flags = 0 + data = length 391, hash 1AD73675 + sample 30: + time = 501000 + flags = 0 + data = length 383, hash AE4F0EB9 + sample 31: + time = 484000 + flags = 0 + data = length 391, hash D4575CE2 + sample 32: + time = 517000 + flags = 0 + data = length 390, hash 2A64EFAD + sample 33: + time = 667000 + flags = 0 + data = length 384, hash A5378126 + sample 34: + time = 601000 + flags = 0 + data = length 384, hash 96FEE64F + sample 35: + time = 567000 + flags = 0 + data = length 384, hash 3BACE2A0 + sample 36: + time = 551000 + flags = 0 + data = length 391, hash E8DC84F0 + sample 37: + time = 584000 + flags = 0 + data = length 391, hash 1C3D5186 + sample 38: + time = 634000 + flags = 0 + data = length 383, hash EEDE22E8 + sample 39: + time = 617000 + flags = 0 + data = length 391, hash D5BD77F3 + sample 40: + time = 651000 + flags = 0 + data = length 390, hash A4CE989E + sample 41: + time = 801000 + flags = 0 + data = length 384, hash 768AF2D7 + sample 42: + time = 734000 + flags = 0 + data = length 384, hash 68525800 + sample 43: + time = 701000 + flags = 0 + data = length 384, hash D005451 + sample 44: + time = 684000 + flags = 0 + data = length 391, hash EA42A001 + sample 45: + time = 717000 + flags = 0 + data = length 391, hash 1DA36C97 + sample 46: + time = 767000 + flags = 0 + data = length 383, hash 2F6D3717 + sample 47: + time = 751000 + flags = 0 + data = length 391, hash D7239304 + sample 48: + time = 784000 + flags = 0 + data = length 390, hash 1F38418F + sample 49: + time = 934000 + flags = 0 + data = length 384, hash 47DE6488 + sample 50: + time = 868000 + flags = 0 + data = length 384, hash 39A5C9B1 + sample 51: + time = 834000 + flags = 0 + data = length 384, hash DE53C602 + sample 52: + time = 817000 + flags = 0 + data = length 391, hash EBA8BB12 + sample 53: + time = 851000 + flags = 0 + data = length 391, hash 1F0987A8 + sample 54: + time = 901000 + flags = 0 + data = length 383, hash 6FFC4B46 + sample 55: + time = 884000 + flags = 0 + data = length 391, hash D889AE15 + sample 56: + time = 918000 + flags = 0 + data = length 390, hash 99A1EA80 +track 2: + total output bytes = 81920 + sample count = 32 + format 0: + id = 2 + sampleMimeType = audio/eac3 + channelCount = 6 + sampleRate = 48000 + selectionFlags = 1 + language = en + label = Surround 5.1 + sample 0: + time = 0 + flags = 1 + data = length 2560, hash B96751EE + sample 1: + time = 32000 + flags = 1 + data = length 2560, hash 45001B26 + sample 2: + time = 64000 + flags = 1 + data = length 2560, hash A3CBFFE4 + sample 3: + time = 96000 + flags = 1 + data = length 2560, hash 667C5C1A + sample 4: + time = 128000 + flags = 1 + data = length 2560, hash 7EC5AE9 + sample 5: + time = 160000 + flags = 1 + data = length 2560, hash 5F03C1F0 + sample 6: + time = 192000 + flags = 1 + data = length 2560, hash 7546E8D6 + sample 7: + time = 224000 + flags = 1 + data = length 2560, hash 9C5B6C2D + sample 8: + time = 256000 + flags = 1 + data = length 2560, hash 4F7BE9A5 + sample 9: + time = 288000 + flags = 1 + data = length 2560, hash 5D24A4BB + sample 10: + time = 320000 + flags = 1 + data = length 2560, hash 2B19480 + sample 11: + time = 352000 + flags = 1 + data = length 2560, hash D0DF951F + sample 12: + time = 384000 + flags = 1 + data = length 2560, hash CFE1F53A + sample 13: + time = 416000 + flags = 1 + data = length 2560, hash 7B14E1DB + sample 14: + time = 448000 + flags = 1 + data = length 2560, hash 77A4D01D + sample 15: + time = 480000 + flags = 1 + data = length 2560, hash 1CEADC6A + sample 16: + time = 512000 + flags = 1 + data = length 2560, hash F67D37C5 + sample 17: + time = 544000 + flags = 1 + data = length 2560, hash 4E6C1D09 + sample 18: + time = 576000 + flags = 1 + data = length 2560, hash E3BBDEAA + sample 19: + time = 608000 + flags = 1 + data = length 2560, hash 24E8B470 + sample 20: + time = 640000 + flags = 1 + data = length 2560, hash E12DFD77 + sample 21: + time = 672000 + flags = 1 + data = length 2560, hash FE039303 + sample 22: + time = 704000 + flags = 1 + data = length 2560, hash 4AD36C36 + sample 23: + time = 736000 + flags = 1 + data = length 2560, hash CE76D70E + sample 24: + time = 768000 + flags = 1 + data = length 2560, hash F6575F19 + sample 25: + time = 800000 + flags = 1 + data = length 2560, hash 9F23D09A + sample 26: + time = 832000 + flags = 1 + data = length 2560, hash D87FEE21 + sample 27: + time = 864000 + flags = 1 + data = length 2560, hash A9A51CE8 + sample 28: + time = 896000 + flags = 1 + data = length 2560, hash E0D6287D + sample 29: + time = 928000 + flags = 1 + data = length 2560, hash 7361A86 + sample 30: + time = 960000 + flags = 1 + data = length 2560, hash DFC493C + sample 31: + time = 992000 + flags = 1 + data = length 2560, hash F1B75A9A +tracksEnded = true diff --git a/testdata/src/test/assets/mkv/hev1_08_05.mkv.3.dump b/testdata/src/test/assets/mkv/hev1_08_05.mkv.3.dump new file mode 100644 index 00000000000..3aff63411e7 --- /dev/null +++ b/testdata/src/test/assets/mkv/hev1_08_05.mkv.3.dump @@ -0,0 +1,388 @@ +seekMap: + isSeekable = true + duration = 992000 + getPosition(0) = [[timeUs=0, position=3899]] + getPosition(1) = [[timeUs=0, position=3899]] + getPosition(496000) = [[timeUs=0, position=3899]] + getPosition(992000) = [[timeUs=0, position=3899]] +numberOfTracks = 2 +track 1: + total output bytes = 23785 + sample count = 57 + format 0: + id = 1 + sampleMimeType = video/dolby-vision + codecs = hev1.08.05 + width = 1920 + height = 1080 + language = en + initializationData: + data = length 1313, hash 8E1EA68D + sample 0: + time = 0 + flags = 1 + data = length 2105, hash CF15FB39 + sample 1: + time = 133000 + flags = 0 + data = length 382, hash B03670AC + sample 2: + time = 67000 + flags = 0 + data = length 383, hash 8E3D6EF0 + sample 3: + time = 33000 + flags = 0 + data = length 382, hash 24831438 + sample 4: + time = 17000 + flags = 0 + data = length 391, hash D4BB2736 + sample 5: + time = 50000 + flags = 0 + data = length 390, hash 1F4265A3 + sample 6: + time = 100000 + flags = 0 + data = length 383, hash C997C8E2 + sample 7: + time = 83000 + flags = 0 + data = length 391, hash D0250BAF + sample 8: + time = 117000 + flags = 0 + data = length 390, hash BB27F4DA + sample 9: + time = 267000 + flags = 0 + data = length 384, hash 313D2C13 + sample 10: + time = 200000 + flags = 0 + data = length 384, hash 2304913C + sample 11: + time = 167000 + flags = 0 + data = length 384, hash C7B28D8D + sample 12: + time = 150000 + flags = 0 + data = length 391, hash E4AA33BD + sample 13: + time = 184000 + flags = 0 + data = length 391, hash 180B0053 + sample 14: + time = 234000 + flags = 0 + data = length 383, hash 2D30E65B + sample 15: + time = 217000 + flags = 0 + data = length 391, hash D18B26C0 + sample 16: + time = 250000 + flags = 0 + data = length 390, hash 35919DCB + sample 17: + time = 400000 + flags = 0 + data = length 384, hash 2909DC4 + sample 18: + time = 334000 + flags = 0 + data = length 384, hash F45802ED + sample 19: + time = 300000 + flags = 0 + data = length 384, hash 9905FF3E + sample 20: + time = 284000 + flags = 0 + data = length 391, hash E6104ECE + sample 21: + time = 317000 + flags = 0 + data = length 391, hash 19711B64 + sample 22: + time = 367000 + flags = 0 + data = length 383, hash 6DBFFA8A + sample 23: + time = 350000 + flags = 0 + data = length 391, hash D2F141D1 + sample 24: + time = 384000 + flags = 0 + data = length 390, hash AFFB46BC + sample 25: + time = 534000 + flags = 0 + data = length 384, hash D3E40F75 + sample 26: + time = 467000 + flags = 0 + data = length 384, hash C5AB749E + sample 27: + time = 434000 + flags = 0 + data = length 384, hash 6A5970EF + sample 28: + time = 417000 + flags = 0 + data = length 391, hash E77669DF + sample 29: + time = 450000 + flags = 0 + data = length 391, hash 1AD73675 + sample 30: + time = 501000 + flags = 0 + data = length 383, hash AE4F0EB9 + sample 31: + time = 484000 + flags = 0 + data = length 391, hash D4575CE2 + sample 32: + time = 517000 + flags = 0 + data = length 390, hash 2A64EFAD + sample 33: + time = 667000 + flags = 0 + data = length 384, hash A5378126 + sample 34: + time = 601000 + flags = 0 + data = length 384, hash 96FEE64F + sample 35: + time = 567000 + flags = 0 + data = length 384, hash 3BACE2A0 + sample 36: + time = 551000 + flags = 0 + data = length 391, hash E8DC84F0 + sample 37: + time = 584000 + flags = 0 + data = length 391, hash 1C3D5186 + sample 38: + time = 634000 + flags = 0 + data = length 383, hash EEDE22E8 + sample 39: + time = 617000 + flags = 0 + data = length 391, hash D5BD77F3 + sample 40: + time = 651000 + flags = 0 + data = length 390, hash A4CE989E + sample 41: + time = 801000 + flags = 0 + data = length 384, hash 768AF2D7 + sample 42: + time = 734000 + flags = 0 + data = length 384, hash 68525800 + sample 43: + time = 701000 + flags = 0 + data = length 384, hash D005451 + sample 44: + time = 684000 + flags = 0 + data = length 391, hash EA42A001 + sample 45: + time = 717000 + flags = 0 + data = length 391, hash 1DA36C97 + sample 46: + time = 767000 + flags = 0 + data = length 383, hash 2F6D3717 + sample 47: + time = 751000 + flags = 0 + data = length 391, hash D7239304 + sample 48: + time = 784000 + flags = 0 + data = length 390, hash 1F38418F + sample 49: + time = 934000 + flags = 0 + data = length 384, hash 47DE6488 + sample 50: + time = 868000 + flags = 0 + data = length 384, hash 39A5C9B1 + sample 51: + time = 834000 + flags = 0 + data = length 384, hash DE53C602 + sample 52: + time = 817000 + flags = 0 + data = length 391, hash EBA8BB12 + sample 53: + time = 851000 + flags = 0 + data = length 391, hash 1F0987A8 + sample 54: + time = 901000 + flags = 0 + data = length 383, hash 6FFC4B46 + sample 55: + time = 884000 + flags = 0 + data = length 391, hash D889AE15 + sample 56: + time = 918000 + flags = 0 + data = length 390, hash 99A1EA80 +track 2: + total output bytes = 81920 + sample count = 32 + format 0: + id = 2 + sampleMimeType = audio/eac3 + channelCount = 6 + sampleRate = 48000 + selectionFlags = 1 + language = en + label = Surround 5.1 + sample 0: + time = 0 + flags = 1 + data = length 2560, hash B96751EE + sample 1: + time = 32000 + flags = 1 + data = length 2560, hash 45001B26 + sample 2: + time = 64000 + flags = 1 + data = length 2560, hash A3CBFFE4 + sample 3: + time = 96000 + flags = 1 + data = length 2560, hash 667C5C1A + sample 4: + time = 128000 + flags = 1 + data = length 2560, hash 7EC5AE9 + sample 5: + time = 160000 + flags = 1 + data = length 2560, hash 5F03C1F0 + sample 6: + time = 192000 + flags = 1 + data = length 2560, hash 7546E8D6 + sample 7: + time = 224000 + flags = 1 + data = length 2560, hash 9C5B6C2D + sample 8: + time = 256000 + flags = 1 + data = length 2560, hash 4F7BE9A5 + sample 9: + time = 288000 + flags = 1 + data = length 2560, hash 5D24A4BB + sample 10: + time = 320000 + flags = 1 + data = length 2560, hash 2B19480 + sample 11: + time = 352000 + flags = 1 + data = length 2560, hash D0DF951F + sample 12: + time = 384000 + flags = 1 + data = length 2560, hash CFE1F53A + sample 13: + time = 416000 + flags = 1 + data = length 2560, hash 7B14E1DB + sample 14: + time = 448000 + flags = 1 + data = length 2560, hash 77A4D01D + sample 15: + time = 480000 + flags = 1 + data = length 2560, hash 1CEADC6A + sample 16: + time = 512000 + flags = 1 + data = length 2560, hash F67D37C5 + sample 17: + time = 544000 + flags = 1 + data = length 2560, hash 4E6C1D09 + sample 18: + time = 576000 + flags = 1 + data = length 2560, hash E3BBDEAA + sample 19: + time = 608000 + flags = 1 + data = length 2560, hash 24E8B470 + sample 20: + time = 640000 + flags = 1 + data = length 2560, hash E12DFD77 + sample 21: + time = 672000 + flags = 1 + data = length 2560, hash FE039303 + sample 22: + time = 704000 + flags = 1 + data = length 2560, hash 4AD36C36 + sample 23: + time = 736000 + flags = 1 + data = length 2560, hash CE76D70E + sample 24: + time = 768000 + flags = 1 + data = length 2560, hash F6575F19 + sample 25: + time = 800000 + flags = 1 + data = length 2560, hash 9F23D09A + sample 26: + time = 832000 + flags = 1 + data = length 2560, hash D87FEE21 + sample 27: + time = 864000 + flags = 1 + data = length 2560, hash A9A51CE8 + sample 28: + time = 896000 + flags = 1 + data = length 2560, hash E0D6287D + sample 29: + time = 928000 + flags = 1 + data = length 2560, hash 7361A86 + sample 30: + time = 960000 + flags = 1 + data = length 2560, hash DFC493C + sample 31: + time = 992000 + flags = 1 + data = length 2560, hash F1B75A9A +tracksEnded = true diff --git a/testdata/src/test/assets/mkv/hev1_08_05.mkv.unknown_length.dump b/testdata/src/test/assets/mkv/hev1_08_05.mkv.unknown_length.dump new file mode 100644 index 00000000000..3aff63411e7 --- /dev/null +++ b/testdata/src/test/assets/mkv/hev1_08_05.mkv.unknown_length.dump @@ -0,0 +1,388 @@ +seekMap: + isSeekable = true + duration = 992000 + getPosition(0) = [[timeUs=0, position=3899]] + getPosition(1) = [[timeUs=0, position=3899]] + getPosition(496000) = [[timeUs=0, position=3899]] + getPosition(992000) = [[timeUs=0, position=3899]] +numberOfTracks = 2 +track 1: + total output bytes = 23785 + sample count = 57 + format 0: + id = 1 + sampleMimeType = video/dolby-vision + codecs = hev1.08.05 + width = 1920 + height = 1080 + language = en + initializationData: + data = length 1313, hash 8E1EA68D + sample 0: + time = 0 + flags = 1 + data = length 2105, hash CF15FB39 + sample 1: + time = 133000 + flags = 0 + data = length 382, hash B03670AC + sample 2: + time = 67000 + flags = 0 + data = length 383, hash 8E3D6EF0 + sample 3: + time = 33000 + flags = 0 + data = length 382, hash 24831438 + sample 4: + time = 17000 + flags = 0 + data = length 391, hash D4BB2736 + sample 5: + time = 50000 + flags = 0 + data = length 390, hash 1F4265A3 + sample 6: + time = 100000 + flags = 0 + data = length 383, hash C997C8E2 + sample 7: + time = 83000 + flags = 0 + data = length 391, hash D0250BAF + sample 8: + time = 117000 + flags = 0 + data = length 390, hash BB27F4DA + sample 9: + time = 267000 + flags = 0 + data = length 384, hash 313D2C13 + sample 10: + time = 200000 + flags = 0 + data = length 384, hash 2304913C + sample 11: + time = 167000 + flags = 0 + data = length 384, hash C7B28D8D + sample 12: + time = 150000 + flags = 0 + data = length 391, hash E4AA33BD + sample 13: + time = 184000 + flags = 0 + data = length 391, hash 180B0053 + sample 14: + time = 234000 + flags = 0 + data = length 383, hash 2D30E65B + sample 15: + time = 217000 + flags = 0 + data = length 391, hash D18B26C0 + sample 16: + time = 250000 + flags = 0 + data = length 390, hash 35919DCB + sample 17: + time = 400000 + flags = 0 + data = length 384, hash 2909DC4 + sample 18: + time = 334000 + flags = 0 + data = length 384, hash F45802ED + sample 19: + time = 300000 + flags = 0 + data = length 384, hash 9905FF3E + sample 20: + time = 284000 + flags = 0 + data = length 391, hash E6104ECE + sample 21: + time = 317000 + flags = 0 + data = length 391, hash 19711B64 + sample 22: + time = 367000 + flags = 0 + data = length 383, hash 6DBFFA8A + sample 23: + time = 350000 + flags = 0 + data = length 391, hash D2F141D1 + sample 24: + time = 384000 + flags = 0 + data = length 390, hash AFFB46BC + sample 25: + time = 534000 + flags = 0 + data = length 384, hash D3E40F75 + sample 26: + time = 467000 + flags = 0 + data = length 384, hash C5AB749E + sample 27: + time = 434000 + flags = 0 + data = length 384, hash 6A5970EF + sample 28: + time = 417000 + flags = 0 + data = length 391, hash E77669DF + sample 29: + time = 450000 + flags = 0 + data = length 391, hash 1AD73675 + sample 30: + time = 501000 + flags = 0 + data = length 383, hash AE4F0EB9 + sample 31: + time = 484000 + flags = 0 + data = length 391, hash D4575CE2 + sample 32: + time = 517000 + flags = 0 + data = length 390, hash 2A64EFAD + sample 33: + time = 667000 + flags = 0 + data = length 384, hash A5378126 + sample 34: + time = 601000 + flags = 0 + data = length 384, hash 96FEE64F + sample 35: + time = 567000 + flags = 0 + data = length 384, hash 3BACE2A0 + sample 36: + time = 551000 + flags = 0 + data = length 391, hash E8DC84F0 + sample 37: + time = 584000 + flags = 0 + data = length 391, hash 1C3D5186 + sample 38: + time = 634000 + flags = 0 + data = length 383, hash EEDE22E8 + sample 39: + time = 617000 + flags = 0 + data = length 391, hash D5BD77F3 + sample 40: + time = 651000 + flags = 0 + data = length 390, hash A4CE989E + sample 41: + time = 801000 + flags = 0 + data = length 384, hash 768AF2D7 + sample 42: + time = 734000 + flags = 0 + data = length 384, hash 68525800 + sample 43: + time = 701000 + flags = 0 + data = length 384, hash D005451 + sample 44: + time = 684000 + flags = 0 + data = length 391, hash EA42A001 + sample 45: + time = 717000 + flags = 0 + data = length 391, hash 1DA36C97 + sample 46: + time = 767000 + flags = 0 + data = length 383, hash 2F6D3717 + sample 47: + time = 751000 + flags = 0 + data = length 391, hash D7239304 + sample 48: + time = 784000 + flags = 0 + data = length 390, hash 1F38418F + sample 49: + time = 934000 + flags = 0 + data = length 384, hash 47DE6488 + sample 50: + time = 868000 + flags = 0 + data = length 384, hash 39A5C9B1 + sample 51: + time = 834000 + flags = 0 + data = length 384, hash DE53C602 + sample 52: + time = 817000 + flags = 0 + data = length 391, hash EBA8BB12 + sample 53: + time = 851000 + flags = 0 + data = length 391, hash 1F0987A8 + sample 54: + time = 901000 + flags = 0 + data = length 383, hash 6FFC4B46 + sample 55: + time = 884000 + flags = 0 + data = length 391, hash D889AE15 + sample 56: + time = 918000 + flags = 0 + data = length 390, hash 99A1EA80 +track 2: + total output bytes = 81920 + sample count = 32 + format 0: + id = 2 + sampleMimeType = audio/eac3 + channelCount = 6 + sampleRate = 48000 + selectionFlags = 1 + language = en + label = Surround 5.1 + sample 0: + time = 0 + flags = 1 + data = length 2560, hash B96751EE + sample 1: + time = 32000 + flags = 1 + data = length 2560, hash 45001B26 + sample 2: + time = 64000 + flags = 1 + data = length 2560, hash A3CBFFE4 + sample 3: + time = 96000 + flags = 1 + data = length 2560, hash 667C5C1A + sample 4: + time = 128000 + flags = 1 + data = length 2560, hash 7EC5AE9 + sample 5: + time = 160000 + flags = 1 + data = length 2560, hash 5F03C1F0 + sample 6: + time = 192000 + flags = 1 + data = length 2560, hash 7546E8D6 + sample 7: + time = 224000 + flags = 1 + data = length 2560, hash 9C5B6C2D + sample 8: + time = 256000 + flags = 1 + data = length 2560, hash 4F7BE9A5 + sample 9: + time = 288000 + flags = 1 + data = length 2560, hash 5D24A4BB + sample 10: + time = 320000 + flags = 1 + data = length 2560, hash 2B19480 + sample 11: + time = 352000 + flags = 1 + data = length 2560, hash D0DF951F + sample 12: + time = 384000 + flags = 1 + data = length 2560, hash CFE1F53A + sample 13: + time = 416000 + flags = 1 + data = length 2560, hash 7B14E1DB + sample 14: + time = 448000 + flags = 1 + data = length 2560, hash 77A4D01D + sample 15: + time = 480000 + flags = 1 + data = length 2560, hash 1CEADC6A + sample 16: + time = 512000 + flags = 1 + data = length 2560, hash F67D37C5 + sample 17: + time = 544000 + flags = 1 + data = length 2560, hash 4E6C1D09 + sample 18: + time = 576000 + flags = 1 + data = length 2560, hash E3BBDEAA + sample 19: + time = 608000 + flags = 1 + data = length 2560, hash 24E8B470 + sample 20: + time = 640000 + flags = 1 + data = length 2560, hash E12DFD77 + sample 21: + time = 672000 + flags = 1 + data = length 2560, hash FE039303 + sample 22: + time = 704000 + flags = 1 + data = length 2560, hash 4AD36C36 + sample 23: + time = 736000 + flags = 1 + data = length 2560, hash CE76D70E + sample 24: + time = 768000 + flags = 1 + data = length 2560, hash F6575F19 + sample 25: + time = 800000 + flags = 1 + data = length 2560, hash 9F23D09A + sample 26: + time = 832000 + flags = 1 + data = length 2560, hash D87FEE21 + sample 27: + time = 864000 + flags = 1 + data = length 2560, hash A9A51CE8 + sample 28: + time = 896000 + flags = 1 + data = length 2560, hash E0D6287D + sample 29: + time = 928000 + flags = 1 + data = length 2560, hash 7361A86 + sample 30: + time = 960000 + flags = 1 + data = length 2560, hash DFC493C + sample 31: + time = 992000 + flags = 1 + data = length 2560, hash F1B75A9A +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/dvhe_05_05.mp4 b/testdata/src/test/assets/mp4/dvhe_05_05.mp4 new file mode 100644 index 00000000000..bdaef405154 Binary files /dev/null and b/testdata/src/test/assets/mp4/dvhe_05_05.mp4 differ diff --git a/testdata/src/test/assets/mp4/dvhe_05_05.mp4.0.dump b/testdata/src/test/assets/mp4/dvhe_05_05.mp4.0.dump new file mode 100644 index 00000000000..42151d37364 --- /dev/null +++ b/testdata/src/test/assets/mp4/dvhe_05_05.mp4.0.dump @@ -0,0 +1,386 @@ +seekMap: + isSeekable = true + duration = 1023333 + getPosition(0) = [[timeUs=0, position=1913]] + getPosition(1) = [[timeUs=0, position=1913]] + getPosition(511666) = [[timeUs=0, position=1913]] + getPosition(1023333) = [[timeUs=0, position=1913]] +numberOfTracks = 2 +track 0: + total output bytes = 23598 + sample count = 57 + format 0: + id = 1 + sampleMimeType = video/dolby-vision + codecs = dvhe.05.05 + maxInputSize = 2149 + width = 1920 + height = 1080 + frameRate = 59.894962 + sample 0: + time = 0 + flags = 1 + data = length 2119, hash 60FAE28 + sample 1: + time = 133466 + flags = 0 + data = length 378, hash D06486C + sample 2: + time = 66733 + flags = 0 + data = length 379, hash 26D2D58C + sample 3: + time = 33366 + flags = 0 + data = length 380, hash 18AF19D8 + sample 4: + time = 16683 + flags = 0 + data = length 388, hash 774E37F0 + sample 5: + time = 50050 + flags = 0 + data = length 386, hash E117DAE4 + sample 6: + time = 100100 + flags = 0 + data = length 380, hash 940B0DA5 + sample 7: + time = 83416 + flags = 0 + data = length 387, hash EF9D22F0 + sample 8: + time = 116783 + flags = 0 + data = length 387, hash 57A7A5DC + sample 9: + time = 266933 + flags = 0 + data = length 380, hash 42B06C1D + sample 10: + time = 200200 + flags = 0 + data = length 380, hash 1C5D752E + sample 11: + time = 166833 + flags = 0 + data = length 381, hash 9468E4A0 + sample 12: + time = 150150 + flags = 0 + data = length 387, hash C04654A6 + sample 13: + time = 183516 + flags = 0 + data = length 387, hash D2AC3C12 + sample 14: + time = 233566 + flags = 0 + data = length 380, hash 2F4EEEE4 + sample 15: + time = 216883 + flags = 0 + data = length 387, hash 1AE3D887 + sample 16: + time = 250250 + flags = 0 + data = length 387, hash 82EE5B73 + sample 17: + time = 400400 + flags = 0 + data = length 380, hash 547E8A04 + sample 18: + time = 333666 + flags = 0 + data = length 380, hash 2E2B9315 + sample 19: + time = 300300 + flags = 0 + data = length 381, hash 11F15777 + sample 20: + time = 283616 + flags = 0 + data = length 387, hash EB8D0A3D + sample 21: + time = 316983 + flags = 0 + data = length 387, hash FDF2F1A9 + sample 22: + time = 367033 + flags = 0 + data = length 380, hash A11452D + sample 23: + time = 350350 + flags = 0 + data = length 387, hash 462A8E1E + sample 24: + time = 383716 + flags = 0 + data = length 387, hash AE35110A + sample 25: + time = 533866 + flags = 0 + data = length 380, hash 664CA7EB + sample 26: + time = 467133 + flags = 0 + data = length 380, hash 3FF9B0FC + sample 27: + time = 433766 + flags = 0 + data = length 381, hash 8F79CA4E + sample 28: + time = 417083 + flags = 0 + data = length 387, hash 16D3BFD4 + sample 29: + time = 450450 + flags = 0 + data = length 387, hash 2939A740 + sample 30: + time = 500500 + flags = 0 + data = length 380, hash E4D39B76 + sample 31: + time = 483816 + flags = 0 + data = length 387, hash 717143B5 + sample 32: + time = 517183 + flags = 0 + data = length 387, hash D97BC6A1 + sample 33: + time = 667333 + flags = 0 + data = length 380, hash 781AC5D2 + sample 34: + time = 600600 + flags = 0 + data = length 380, hash 51C7CEE3 + sample 35: + time = 567233 + flags = 0 + data = length 381, hash D023D25 + sample 36: + time = 550550 + flags = 0 + data = length 387, hash 421A756B + sample 37: + time = 583916 + flags = 0 + data = length 387, hash 54805CD7 + sample 38: + time = 633966 + flags = 0 + data = length 380, hash BF95F1BF + sample 39: + time = 617283 + flags = 0 + data = length 387, hash 9CB7F94C + sample 40: + time = 650650 + flags = 0 + data = length 387, hash 4C27C38 + sample 41: + time = 800800 + flags = 0 + data = length 380, hash 89E8E3B9 + sample 42: + time = 734066 + flags = 0 + data = length 380, hash 6395ECCA + sample 43: + time = 700700 + flags = 0 + data = length 381, hash 8A8AAFFC + sample 44: + time = 684016 + flags = 0 + data = length 387, hash 6D612B02 + sample 45: + time = 717383 + flags = 0 + data = length 387, hash 7FC7126E + sample 46: + time = 767433 + flags = 0 + data = length 380, hash 9A584808 + sample 47: + time = 750750 + flags = 0 + data = length 387, hash C7FEAEE3 + sample 48: + time = 784116 + flags = 0 + data = length 387, hash 300931CF + sample 49: + time = 934266 + flags = 0 + data = length 380, hash 9BB701A0 + sample 50: + time = 867533 + flags = 0 + data = length 380, hash 75640AB1 + sample 51: + time = 834166 + flags = 0 + data = length 381, hash 81322D3 + sample 52: + time = 817483 + flags = 0 + data = length 387, hash 98A7E099 + sample 53: + time = 850850 + flags = 0 + data = length 387, hash AB0DC805 + sample 54: + time = 900900 + flags = 0 + data = length 380, hash 751A9E51 + sample 55: + time = 884216 + flags = 0 + data = length 387, hash F345647A + sample 56: + time = 917583 + flags = 536870912 + data = length 387, hash 5B4FE766 +track 1: + total output bytes = 81920 + sample count = 32 + format 0: + id = 2 + sampleMimeType = audio/eac3-joc + maxInputSize = 2590 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 0 + flags = 1 + data = length 2560, hash B96751EE + sample 1: + time = 32000 + flags = 1 + data = length 2560, hash 45001B26 + sample 2: + time = 64000 + flags = 1 + data = length 2560, hash A3CBFFE4 + sample 3: + time = 96000 + flags = 1 + data = length 2560, hash 667C5C1A + sample 4: + time = 128000 + flags = 1 + data = length 2560, hash 7EC5AE9 + sample 5: + time = 160000 + flags = 1 + data = length 2560, hash 5F03C1F0 + sample 6: + time = 192000 + flags = 1 + data = length 2560, hash 7546E8D6 + sample 7: + time = 224000 + flags = 1 + data = length 2560, hash 9C5B6C2D + sample 8: + time = 256000 + flags = 1 + data = length 2560, hash 4F7BE9A5 + sample 9: + time = 288000 + flags = 1 + data = length 2560, hash 5D24A4BB + sample 10: + time = 320000 + flags = 1 + data = length 2560, hash 2B19480 + sample 11: + time = 352000 + flags = 1 + data = length 2560, hash D0DF951F + sample 12: + time = 384000 + flags = 1 + data = length 2560, hash CFE1F53A + sample 13: + time = 416000 + flags = 1 + data = length 2560, hash 7B14E1DB + sample 14: + time = 448000 + flags = 1 + data = length 2560, hash 77A4D01D + sample 15: + time = 480000 + flags = 1 + data = length 2560, hash 1CEADC6A + sample 16: + time = 512000 + flags = 1 + data = length 2560, hash F67D37C5 + sample 17: + time = 544000 + flags = 1 + data = length 2560, hash 4E6C1D09 + sample 18: + time = 576000 + flags = 1 + data = length 2560, hash E3BBDEAA + sample 19: + time = 608000 + flags = 1 + data = length 2560, hash 24E8B470 + sample 20: + time = 640000 + flags = 1 + data = length 2560, hash E12DFD77 + sample 21: + time = 672000 + flags = 1 + data = length 2560, hash FE039303 + sample 22: + time = 704000 + flags = 1 + data = length 2560, hash 4AD36C36 + sample 23: + time = 736000 + flags = 1 + data = length 2560, hash CE76D70E + sample 24: + time = 768000 + flags = 1 + data = length 2560, hash F6575F19 + sample 25: + time = 800000 + flags = 1 + data = length 2560, hash 9F23D09A + sample 26: + time = 832000 + flags = 1 + data = length 2560, hash D87FEE21 + sample 27: + time = 864000 + flags = 1 + data = length 2560, hash A9A51CE8 + sample 28: + time = 896000 + flags = 1 + data = length 2560, hash E0D6287D + sample 29: + time = 928000 + flags = 1 + data = length 2560, hash 7361A86 + sample 30: + time = 960000 + flags = 1 + data = length 2560, hash DFC493C + sample 31: + time = 992000 + flags = 536870913 + data = length 2560, hash F1B75A9A +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/dvhe_05_05.mp4.1.dump b/testdata/src/test/assets/mp4/dvhe_05_05.mp4.1.dump new file mode 100644 index 00000000000..ad4eb1746e7 --- /dev/null +++ b/testdata/src/test/assets/mp4/dvhe_05_05.mp4.1.dump @@ -0,0 +1,346 @@ +seekMap: + isSeekable = true + duration = 1023333 + getPosition(0) = [[timeUs=0, position=1913]] + getPosition(1) = [[timeUs=0, position=1913]] + getPosition(511666) = [[timeUs=0, position=1913]] + getPosition(1023333) = [[timeUs=0, position=1913]] +numberOfTracks = 2 +track 0: + total output bytes = 23598 + sample count = 57 + format 0: + id = 1 + sampleMimeType = video/dolby-vision + codecs = dvhe.05.05 + maxInputSize = 2149 + width = 1920 + height = 1080 + frameRate = 59.894962 + sample 0: + time = 0 + flags = 1 + data = length 2119, hash 60FAE28 + sample 1: + time = 133466 + flags = 0 + data = length 378, hash D06486C + sample 2: + time = 66733 + flags = 0 + data = length 379, hash 26D2D58C + sample 3: + time = 33366 + flags = 0 + data = length 380, hash 18AF19D8 + sample 4: + time = 16683 + flags = 0 + data = length 388, hash 774E37F0 + sample 5: + time = 50050 + flags = 0 + data = length 386, hash E117DAE4 + sample 6: + time = 100100 + flags = 0 + data = length 380, hash 940B0DA5 + sample 7: + time = 83416 + flags = 0 + data = length 387, hash EF9D22F0 + sample 8: + time = 116783 + flags = 0 + data = length 387, hash 57A7A5DC + sample 9: + time = 266933 + flags = 0 + data = length 380, hash 42B06C1D + sample 10: + time = 200200 + flags = 0 + data = length 380, hash 1C5D752E + sample 11: + time = 166833 + flags = 0 + data = length 381, hash 9468E4A0 + sample 12: + time = 150150 + flags = 0 + data = length 387, hash C04654A6 + sample 13: + time = 183516 + flags = 0 + data = length 387, hash D2AC3C12 + sample 14: + time = 233566 + flags = 0 + data = length 380, hash 2F4EEEE4 + sample 15: + time = 216883 + flags = 0 + data = length 387, hash 1AE3D887 + sample 16: + time = 250250 + flags = 0 + data = length 387, hash 82EE5B73 + sample 17: + time = 400400 + flags = 0 + data = length 380, hash 547E8A04 + sample 18: + time = 333666 + flags = 0 + data = length 380, hash 2E2B9315 + sample 19: + time = 300300 + flags = 0 + data = length 381, hash 11F15777 + sample 20: + time = 283616 + flags = 0 + data = length 387, hash EB8D0A3D + sample 21: + time = 316983 + flags = 0 + data = length 387, hash FDF2F1A9 + sample 22: + time = 367033 + flags = 0 + data = length 380, hash A11452D + sample 23: + time = 350350 + flags = 0 + data = length 387, hash 462A8E1E + sample 24: + time = 383716 + flags = 0 + data = length 387, hash AE35110A + sample 25: + time = 533866 + flags = 0 + data = length 380, hash 664CA7EB + sample 26: + time = 467133 + flags = 0 + data = length 380, hash 3FF9B0FC + sample 27: + time = 433766 + flags = 0 + data = length 381, hash 8F79CA4E + sample 28: + time = 417083 + flags = 0 + data = length 387, hash 16D3BFD4 + sample 29: + time = 450450 + flags = 0 + data = length 387, hash 2939A740 + sample 30: + time = 500500 + flags = 0 + data = length 380, hash E4D39B76 + sample 31: + time = 483816 + flags = 0 + data = length 387, hash 717143B5 + sample 32: + time = 517183 + flags = 0 + data = length 387, hash D97BC6A1 + sample 33: + time = 667333 + flags = 0 + data = length 380, hash 781AC5D2 + sample 34: + time = 600600 + flags = 0 + data = length 380, hash 51C7CEE3 + sample 35: + time = 567233 + flags = 0 + data = length 381, hash D023D25 + sample 36: + time = 550550 + flags = 0 + data = length 387, hash 421A756B + sample 37: + time = 583916 + flags = 0 + data = length 387, hash 54805CD7 + sample 38: + time = 633966 + flags = 0 + data = length 380, hash BF95F1BF + sample 39: + time = 617283 + flags = 0 + data = length 387, hash 9CB7F94C + sample 40: + time = 650650 + flags = 0 + data = length 387, hash 4C27C38 + sample 41: + time = 800800 + flags = 0 + data = length 380, hash 89E8E3B9 + sample 42: + time = 734066 + flags = 0 + data = length 380, hash 6395ECCA + sample 43: + time = 700700 + flags = 0 + data = length 381, hash 8A8AAFFC + sample 44: + time = 684016 + flags = 0 + data = length 387, hash 6D612B02 + sample 45: + time = 717383 + flags = 0 + data = length 387, hash 7FC7126E + sample 46: + time = 767433 + flags = 0 + data = length 380, hash 9A584808 + sample 47: + time = 750750 + flags = 0 + data = length 387, hash C7FEAEE3 + sample 48: + time = 784116 + flags = 0 + data = length 387, hash 300931CF + sample 49: + time = 934266 + flags = 0 + data = length 380, hash 9BB701A0 + sample 50: + time = 867533 + flags = 0 + data = length 380, hash 75640AB1 + sample 51: + time = 834166 + flags = 0 + data = length 381, hash 81322D3 + sample 52: + time = 817483 + flags = 0 + data = length 387, hash 98A7E099 + sample 53: + time = 850850 + flags = 0 + data = length 387, hash AB0DC805 + sample 54: + time = 900900 + flags = 0 + data = length 380, hash 751A9E51 + sample 55: + time = 884216 + flags = 0 + data = length 387, hash F345647A + sample 56: + time = 917583 + flags = 536870912 + data = length 387, hash 5B4FE766 +track 1: + total output bytes = 56320 + sample count = 22 + format 0: + id = 2 + sampleMimeType = audio/eac3-joc + maxInputSize = 2590 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 320000 + flags = 1 + data = length 2560, hash 2B19480 + sample 1: + time = 352000 + flags = 1 + data = length 2560, hash D0DF951F + sample 2: + time = 384000 + flags = 1 + data = length 2560, hash CFE1F53A + sample 3: + time = 416000 + flags = 1 + data = length 2560, hash 7B14E1DB + sample 4: + time = 448000 + flags = 1 + data = length 2560, hash 77A4D01D + sample 5: + time = 480000 + flags = 1 + data = length 2560, hash 1CEADC6A + sample 6: + time = 512000 + flags = 1 + data = length 2560, hash F67D37C5 + sample 7: + time = 544000 + flags = 1 + data = length 2560, hash 4E6C1D09 + sample 8: + time = 576000 + flags = 1 + data = length 2560, hash E3BBDEAA + sample 9: + time = 608000 + flags = 1 + data = length 2560, hash 24E8B470 + sample 10: + time = 640000 + flags = 1 + data = length 2560, hash E12DFD77 + sample 11: + time = 672000 + flags = 1 + data = length 2560, hash FE039303 + sample 12: + time = 704000 + flags = 1 + data = length 2560, hash 4AD36C36 + sample 13: + time = 736000 + flags = 1 + data = length 2560, hash CE76D70E + sample 14: + time = 768000 + flags = 1 + data = length 2560, hash F6575F19 + sample 15: + time = 800000 + flags = 1 + data = length 2560, hash 9F23D09A + sample 16: + time = 832000 + flags = 1 + data = length 2560, hash D87FEE21 + sample 17: + time = 864000 + flags = 1 + data = length 2560, hash A9A51CE8 + sample 18: + time = 896000 + flags = 1 + data = length 2560, hash E0D6287D + sample 19: + time = 928000 + flags = 1 + data = length 2560, hash 7361A86 + sample 20: + time = 960000 + flags = 1 + data = length 2560, hash DFC493C + sample 21: + time = 992000 + flags = 536870913 + data = length 2560, hash F1B75A9A +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/dvhe_05_05.mp4.2.dump b/testdata/src/test/assets/mp4/dvhe_05_05.mp4.2.dump new file mode 100644 index 00000000000..872b5578dbf --- /dev/null +++ b/testdata/src/test/assets/mp4/dvhe_05_05.mp4.2.dump @@ -0,0 +1,302 @@ +seekMap: + isSeekable = true + duration = 1023333 + getPosition(0) = [[timeUs=0, position=1913]] + getPosition(1) = [[timeUs=0, position=1913]] + getPosition(511666) = [[timeUs=0, position=1913]] + getPosition(1023333) = [[timeUs=0, position=1913]] +numberOfTracks = 2 +track 0: + total output bytes = 23598 + sample count = 57 + format 0: + id = 1 + sampleMimeType = video/dolby-vision + codecs = dvhe.05.05 + maxInputSize = 2149 + width = 1920 + height = 1080 + frameRate = 59.894962 + sample 0: + time = 0 + flags = 1 + data = length 2119, hash 60FAE28 + sample 1: + time = 133466 + flags = 0 + data = length 378, hash D06486C + sample 2: + time = 66733 + flags = 0 + data = length 379, hash 26D2D58C + sample 3: + time = 33366 + flags = 0 + data = length 380, hash 18AF19D8 + sample 4: + time = 16683 + flags = 0 + data = length 388, hash 774E37F0 + sample 5: + time = 50050 + flags = 0 + data = length 386, hash E117DAE4 + sample 6: + time = 100100 + flags = 0 + data = length 380, hash 940B0DA5 + sample 7: + time = 83416 + flags = 0 + data = length 387, hash EF9D22F0 + sample 8: + time = 116783 + flags = 0 + data = length 387, hash 57A7A5DC + sample 9: + time = 266933 + flags = 0 + data = length 380, hash 42B06C1D + sample 10: + time = 200200 + flags = 0 + data = length 380, hash 1C5D752E + sample 11: + time = 166833 + flags = 0 + data = length 381, hash 9468E4A0 + sample 12: + time = 150150 + flags = 0 + data = length 387, hash C04654A6 + sample 13: + time = 183516 + flags = 0 + data = length 387, hash D2AC3C12 + sample 14: + time = 233566 + flags = 0 + data = length 380, hash 2F4EEEE4 + sample 15: + time = 216883 + flags = 0 + data = length 387, hash 1AE3D887 + sample 16: + time = 250250 + flags = 0 + data = length 387, hash 82EE5B73 + sample 17: + time = 400400 + flags = 0 + data = length 380, hash 547E8A04 + sample 18: + time = 333666 + flags = 0 + data = length 380, hash 2E2B9315 + sample 19: + time = 300300 + flags = 0 + data = length 381, hash 11F15777 + sample 20: + time = 283616 + flags = 0 + data = length 387, hash EB8D0A3D + sample 21: + time = 316983 + flags = 0 + data = length 387, hash FDF2F1A9 + sample 22: + time = 367033 + flags = 0 + data = length 380, hash A11452D + sample 23: + time = 350350 + flags = 0 + data = length 387, hash 462A8E1E + sample 24: + time = 383716 + flags = 0 + data = length 387, hash AE35110A + sample 25: + time = 533866 + flags = 0 + data = length 380, hash 664CA7EB + sample 26: + time = 467133 + flags = 0 + data = length 380, hash 3FF9B0FC + sample 27: + time = 433766 + flags = 0 + data = length 381, hash 8F79CA4E + sample 28: + time = 417083 + flags = 0 + data = length 387, hash 16D3BFD4 + sample 29: + time = 450450 + flags = 0 + data = length 387, hash 2939A740 + sample 30: + time = 500500 + flags = 0 + data = length 380, hash E4D39B76 + sample 31: + time = 483816 + flags = 0 + data = length 387, hash 717143B5 + sample 32: + time = 517183 + flags = 0 + data = length 387, hash D97BC6A1 + sample 33: + time = 667333 + flags = 0 + data = length 380, hash 781AC5D2 + sample 34: + time = 600600 + flags = 0 + data = length 380, hash 51C7CEE3 + sample 35: + time = 567233 + flags = 0 + data = length 381, hash D023D25 + sample 36: + time = 550550 + flags = 0 + data = length 387, hash 421A756B + sample 37: + time = 583916 + flags = 0 + data = length 387, hash 54805CD7 + sample 38: + time = 633966 + flags = 0 + data = length 380, hash BF95F1BF + sample 39: + time = 617283 + flags = 0 + data = length 387, hash 9CB7F94C + sample 40: + time = 650650 + flags = 0 + data = length 387, hash 4C27C38 + sample 41: + time = 800800 + flags = 0 + data = length 380, hash 89E8E3B9 + sample 42: + time = 734066 + flags = 0 + data = length 380, hash 6395ECCA + sample 43: + time = 700700 + flags = 0 + data = length 381, hash 8A8AAFFC + sample 44: + time = 684016 + flags = 0 + data = length 387, hash 6D612B02 + sample 45: + time = 717383 + flags = 0 + data = length 387, hash 7FC7126E + sample 46: + time = 767433 + flags = 0 + data = length 380, hash 9A584808 + sample 47: + time = 750750 + flags = 0 + data = length 387, hash C7FEAEE3 + sample 48: + time = 784116 + flags = 0 + data = length 387, hash 300931CF + sample 49: + time = 934266 + flags = 0 + data = length 380, hash 9BB701A0 + sample 50: + time = 867533 + flags = 0 + data = length 380, hash 75640AB1 + sample 51: + time = 834166 + flags = 0 + data = length 381, hash 81322D3 + sample 52: + time = 817483 + flags = 0 + data = length 387, hash 98A7E099 + sample 53: + time = 850850 + flags = 0 + data = length 387, hash AB0DC805 + sample 54: + time = 900900 + flags = 0 + data = length 380, hash 751A9E51 + sample 55: + time = 884216 + flags = 0 + data = length 387, hash F345647A + sample 56: + time = 917583 + flags = 536870912 + data = length 387, hash 5B4FE766 +track 1: + total output bytes = 28160 + sample count = 11 + format 0: + id = 2 + sampleMimeType = audio/eac3-joc + maxInputSize = 2590 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 672000 + flags = 1 + data = length 2560, hash FE039303 + sample 1: + time = 704000 + flags = 1 + data = length 2560, hash 4AD36C36 + sample 2: + time = 736000 + flags = 1 + data = length 2560, hash CE76D70E + sample 3: + time = 768000 + flags = 1 + data = length 2560, hash F6575F19 + sample 4: + time = 800000 + flags = 1 + data = length 2560, hash 9F23D09A + sample 5: + time = 832000 + flags = 1 + data = length 2560, hash D87FEE21 + sample 6: + time = 864000 + flags = 1 + data = length 2560, hash A9A51CE8 + sample 7: + time = 896000 + flags = 1 + data = length 2560, hash E0D6287D + sample 8: + time = 928000 + flags = 1 + data = length 2560, hash 7361A86 + sample 9: + time = 960000 + flags = 1 + data = length 2560, hash DFC493C + sample 10: + time = 992000 + flags = 536870913 + data = length 2560, hash F1B75A9A +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/dvhe_05_05.mp4.3.dump b/testdata/src/test/assets/mp4/dvhe_05_05.mp4.3.dump new file mode 100644 index 00000000000..112339aa196 --- /dev/null +++ b/testdata/src/test/assets/mp4/dvhe_05_05.mp4.3.dump @@ -0,0 +1,262 @@ +seekMap: + isSeekable = true + duration = 1023333 + getPosition(0) = [[timeUs=0, position=1913]] + getPosition(1) = [[timeUs=0, position=1913]] + getPosition(511666) = [[timeUs=0, position=1913]] + getPosition(1023333) = [[timeUs=0, position=1913]] +numberOfTracks = 2 +track 0: + total output bytes = 23598 + sample count = 57 + format 0: + id = 1 + sampleMimeType = video/dolby-vision + codecs = dvhe.05.05 + maxInputSize = 2149 + width = 1920 + height = 1080 + frameRate = 59.894962 + sample 0: + time = 0 + flags = 1 + data = length 2119, hash 60FAE28 + sample 1: + time = 133466 + flags = 0 + data = length 378, hash D06486C + sample 2: + time = 66733 + flags = 0 + data = length 379, hash 26D2D58C + sample 3: + time = 33366 + flags = 0 + data = length 380, hash 18AF19D8 + sample 4: + time = 16683 + flags = 0 + data = length 388, hash 774E37F0 + sample 5: + time = 50050 + flags = 0 + data = length 386, hash E117DAE4 + sample 6: + time = 100100 + flags = 0 + data = length 380, hash 940B0DA5 + sample 7: + time = 83416 + flags = 0 + data = length 387, hash EF9D22F0 + sample 8: + time = 116783 + flags = 0 + data = length 387, hash 57A7A5DC + sample 9: + time = 266933 + flags = 0 + data = length 380, hash 42B06C1D + sample 10: + time = 200200 + flags = 0 + data = length 380, hash 1C5D752E + sample 11: + time = 166833 + flags = 0 + data = length 381, hash 9468E4A0 + sample 12: + time = 150150 + flags = 0 + data = length 387, hash C04654A6 + sample 13: + time = 183516 + flags = 0 + data = length 387, hash D2AC3C12 + sample 14: + time = 233566 + flags = 0 + data = length 380, hash 2F4EEEE4 + sample 15: + time = 216883 + flags = 0 + data = length 387, hash 1AE3D887 + sample 16: + time = 250250 + flags = 0 + data = length 387, hash 82EE5B73 + sample 17: + time = 400400 + flags = 0 + data = length 380, hash 547E8A04 + sample 18: + time = 333666 + flags = 0 + data = length 380, hash 2E2B9315 + sample 19: + time = 300300 + flags = 0 + data = length 381, hash 11F15777 + sample 20: + time = 283616 + flags = 0 + data = length 387, hash EB8D0A3D + sample 21: + time = 316983 + flags = 0 + data = length 387, hash FDF2F1A9 + sample 22: + time = 367033 + flags = 0 + data = length 380, hash A11452D + sample 23: + time = 350350 + flags = 0 + data = length 387, hash 462A8E1E + sample 24: + time = 383716 + flags = 0 + data = length 387, hash AE35110A + sample 25: + time = 533866 + flags = 0 + data = length 380, hash 664CA7EB + sample 26: + time = 467133 + flags = 0 + data = length 380, hash 3FF9B0FC + sample 27: + time = 433766 + flags = 0 + data = length 381, hash 8F79CA4E + sample 28: + time = 417083 + flags = 0 + data = length 387, hash 16D3BFD4 + sample 29: + time = 450450 + flags = 0 + data = length 387, hash 2939A740 + sample 30: + time = 500500 + flags = 0 + data = length 380, hash E4D39B76 + sample 31: + time = 483816 + flags = 0 + data = length 387, hash 717143B5 + sample 32: + time = 517183 + flags = 0 + data = length 387, hash D97BC6A1 + sample 33: + time = 667333 + flags = 0 + data = length 380, hash 781AC5D2 + sample 34: + time = 600600 + flags = 0 + data = length 380, hash 51C7CEE3 + sample 35: + time = 567233 + flags = 0 + data = length 381, hash D023D25 + sample 36: + time = 550550 + flags = 0 + data = length 387, hash 421A756B + sample 37: + time = 583916 + flags = 0 + data = length 387, hash 54805CD7 + sample 38: + time = 633966 + flags = 0 + data = length 380, hash BF95F1BF + sample 39: + time = 617283 + flags = 0 + data = length 387, hash 9CB7F94C + sample 40: + time = 650650 + flags = 0 + data = length 387, hash 4C27C38 + sample 41: + time = 800800 + flags = 0 + data = length 380, hash 89E8E3B9 + sample 42: + time = 734066 + flags = 0 + data = length 380, hash 6395ECCA + sample 43: + time = 700700 + flags = 0 + data = length 381, hash 8A8AAFFC + sample 44: + time = 684016 + flags = 0 + data = length 387, hash 6D612B02 + sample 45: + time = 717383 + flags = 0 + data = length 387, hash 7FC7126E + sample 46: + time = 767433 + flags = 0 + data = length 380, hash 9A584808 + sample 47: + time = 750750 + flags = 0 + data = length 387, hash C7FEAEE3 + sample 48: + time = 784116 + flags = 0 + data = length 387, hash 300931CF + sample 49: + time = 934266 + flags = 0 + data = length 380, hash 9BB701A0 + sample 50: + time = 867533 + flags = 0 + data = length 380, hash 75640AB1 + sample 51: + time = 834166 + flags = 0 + data = length 381, hash 81322D3 + sample 52: + time = 817483 + flags = 0 + data = length 387, hash 98A7E099 + sample 53: + time = 850850 + flags = 0 + data = length 387, hash AB0DC805 + sample 54: + time = 900900 + flags = 0 + data = length 380, hash 751A9E51 + sample 55: + time = 884216 + flags = 0 + data = length 387, hash F345647A + sample 56: + time = 917583 + flags = 536870912 + data = length 387, hash 5B4FE766 +track 1: + total output bytes = 2560 + sample count = 1 + format 0: + id = 2 + sampleMimeType = audio/eac3-joc + maxInputSize = 2590 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 992000 + flags = 536870913 + data = length 2560, hash F1B75A9A +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/dvhe_05_05.mp4.unknown_length.dump b/testdata/src/test/assets/mp4/dvhe_05_05.mp4.unknown_length.dump new file mode 100644 index 00000000000..42151d37364 --- /dev/null +++ b/testdata/src/test/assets/mp4/dvhe_05_05.mp4.unknown_length.dump @@ -0,0 +1,386 @@ +seekMap: + isSeekable = true + duration = 1023333 + getPosition(0) = [[timeUs=0, position=1913]] + getPosition(1) = [[timeUs=0, position=1913]] + getPosition(511666) = [[timeUs=0, position=1913]] + getPosition(1023333) = [[timeUs=0, position=1913]] +numberOfTracks = 2 +track 0: + total output bytes = 23598 + sample count = 57 + format 0: + id = 1 + sampleMimeType = video/dolby-vision + codecs = dvhe.05.05 + maxInputSize = 2149 + width = 1920 + height = 1080 + frameRate = 59.894962 + sample 0: + time = 0 + flags = 1 + data = length 2119, hash 60FAE28 + sample 1: + time = 133466 + flags = 0 + data = length 378, hash D06486C + sample 2: + time = 66733 + flags = 0 + data = length 379, hash 26D2D58C + sample 3: + time = 33366 + flags = 0 + data = length 380, hash 18AF19D8 + sample 4: + time = 16683 + flags = 0 + data = length 388, hash 774E37F0 + sample 5: + time = 50050 + flags = 0 + data = length 386, hash E117DAE4 + sample 6: + time = 100100 + flags = 0 + data = length 380, hash 940B0DA5 + sample 7: + time = 83416 + flags = 0 + data = length 387, hash EF9D22F0 + sample 8: + time = 116783 + flags = 0 + data = length 387, hash 57A7A5DC + sample 9: + time = 266933 + flags = 0 + data = length 380, hash 42B06C1D + sample 10: + time = 200200 + flags = 0 + data = length 380, hash 1C5D752E + sample 11: + time = 166833 + flags = 0 + data = length 381, hash 9468E4A0 + sample 12: + time = 150150 + flags = 0 + data = length 387, hash C04654A6 + sample 13: + time = 183516 + flags = 0 + data = length 387, hash D2AC3C12 + sample 14: + time = 233566 + flags = 0 + data = length 380, hash 2F4EEEE4 + sample 15: + time = 216883 + flags = 0 + data = length 387, hash 1AE3D887 + sample 16: + time = 250250 + flags = 0 + data = length 387, hash 82EE5B73 + sample 17: + time = 400400 + flags = 0 + data = length 380, hash 547E8A04 + sample 18: + time = 333666 + flags = 0 + data = length 380, hash 2E2B9315 + sample 19: + time = 300300 + flags = 0 + data = length 381, hash 11F15777 + sample 20: + time = 283616 + flags = 0 + data = length 387, hash EB8D0A3D + sample 21: + time = 316983 + flags = 0 + data = length 387, hash FDF2F1A9 + sample 22: + time = 367033 + flags = 0 + data = length 380, hash A11452D + sample 23: + time = 350350 + flags = 0 + data = length 387, hash 462A8E1E + sample 24: + time = 383716 + flags = 0 + data = length 387, hash AE35110A + sample 25: + time = 533866 + flags = 0 + data = length 380, hash 664CA7EB + sample 26: + time = 467133 + flags = 0 + data = length 380, hash 3FF9B0FC + sample 27: + time = 433766 + flags = 0 + data = length 381, hash 8F79CA4E + sample 28: + time = 417083 + flags = 0 + data = length 387, hash 16D3BFD4 + sample 29: + time = 450450 + flags = 0 + data = length 387, hash 2939A740 + sample 30: + time = 500500 + flags = 0 + data = length 380, hash E4D39B76 + sample 31: + time = 483816 + flags = 0 + data = length 387, hash 717143B5 + sample 32: + time = 517183 + flags = 0 + data = length 387, hash D97BC6A1 + sample 33: + time = 667333 + flags = 0 + data = length 380, hash 781AC5D2 + sample 34: + time = 600600 + flags = 0 + data = length 380, hash 51C7CEE3 + sample 35: + time = 567233 + flags = 0 + data = length 381, hash D023D25 + sample 36: + time = 550550 + flags = 0 + data = length 387, hash 421A756B + sample 37: + time = 583916 + flags = 0 + data = length 387, hash 54805CD7 + sample 38: + time = 633966 + flags = 0 + data = length 380, hash BF95F1BF + sample 39: + time = 617283 + flags = 0 + data = length 387, hash 9CB7F94C + sample 40: + time = 650650 + flags = 0 + data = length 387, hash 4C27C38 + sample 41: + time = 800800 + flags = 0 + data = length 380, hash 89E8E3B9 + sample 42: + time = 734066 + flags = 0 + data = length 380, hash 6395ECCA + sample 43: + time = 700700 + flags = 0 + data = length 381, hash 8A8AAFFC + sample 44: + time = 684016 + flags = 0 + data = length 387, hash 6D612B02 + sample 45: + time = 717383 + flags = 0 + data = length 387, hash 7FC7126E + sample 46: + time = 767433 + flags = 0 + data = length 380, hash 9A584808 + sample 47: + time = 750750 + flags = 0 + data = length 387, hash C7FEAEE3 + sample 48: + time = 784116 + flags = 0 + data = length 387, hash 300931CF + sample 49: + time = 934266 + flags = 0 + data = length 380, hash 9BB701A0 + sample 50: + time = 867533 + flags = 0 + data = length 380, hash 75640AB1 + sample 51: + time = 834166 + flags = 0 + data = length 381, hash 81322D3 + sample 52: + time = 817483 + flags = 0 + data = length 387, hash 98A7E099 + sample 53: + time = 850850 + flags = 0 + data = length 387, hash AB0DC805 + sample 54: + time = 900900 + flags = 0 + data = length 380, hash 751A9E51 + sample 55: + time = 884216 + flags = 0 + data = length 387, hash F345647A + sample 56: + time = 917583 + flags = 536870912 + data = length 387, hash 5B4FE766 +track 1: + total output bytes = 81920 + sample count = 32 + format 0: + id = 2 + sampleMimeType = audio/eac3-joc + maxInputSize = 2590 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 0 + flags = 1 + data = length 2560, hash B96751EE + sample 1: + time = 32000 + flags = 1 + data = length 2560, hash 45001B26 + sample 2: + time = 64000 + flags = 1 + data = length 2560, hash A3CBFFE4 + sample 3: + time = 96000 + flags = 1 + data = length 2560, hash 667C5C1A + sample 4: + time = 128000 + flags = 1 + data = length 2560, hash 7EC5AE9 + sample 5: + time = 160000 + flags = 1 + data = length 2560, hash 5F03C1F0 + sample 6: + time = 192000 + flags = 1 + data = length 2560, hash 7546E8D6 + sample 7: + time = 224000 + flags = 1 + data = length 2560, hash 9C5B6C2D + sample 8: + time = 256000 + flags = 1 + data = length 2560, hash 4F7BE9A5 + sample 9: + time = 288000 + flags = 1 + data = length 2560, hash 5D24A4BB + sample 10: + time = 320000 + flags = 1 + data = length 2560, hash 2B19480 + sample 11: + time = 352000 + flags = 1 + data = length 2560, hash D0DF951F + sample 12: + time = 384000 + flags = 1 + data = length 2560, hash CFE1F53A + sample 13: + time = 416000 + flags = 1 + data = length 2560, hash 7B14E1DB + sample 14: + time = 448000 + flags = 1 + data = length 2560, hash 77A4D01D + sample 15: + time = 480000 + flags = 1 + data = length 2560, hash 1CEADC6A + sample 16: + time = 512000 + flags = 1 + data = length 2560, hash F67D37C5 + sample 17: + time = 544000 + flags = 1 + data = length 2560, hash 4E6C1D09 + sample 18: + time = 576000 + flags = 1 + data = length 2560, hash E3BBDEAA + sample 19: + time = 608000 + flags = 1 + data = length 2560, hash 24E8B470 + sample 20: + time = 640000 + flags = 1 + data = length 2560, hash E12DFD77 + sample 21: + time = 672000 + flags = 1 + data = length 2560, hash FE039303 + sample 22: + time = 704000 + flags = 1 + data = length 2560, hash 4AD36C36 + sample 23: + time = 736000 + flags = 1 + data = length 2560, hash CE76D70E + sample 24: + time = 768000 + flags = 1 + data = length 2560, hash F6575F19 + sample 25: + time = 800000 + flags = 1 + data = length 2560, hash 9F23D09A + sample 26: + time = 832000 + flags = 1 + data = length 2560, hash D87FEE21 + sample 27: + time = 864000 + flags = 1 + data = length 2560, hash A9A51CE8 + sample 28: + time = 896000 + flags = 1 + data = length 2560, hash E0D6287D + sample 29: + time = 928000 + flags = 1 + data = length 2560, hash 7361A86 + sample 30: + time = 960000 + flags = 1 + data = length 2560, hash DFC493C + sample 31: + time = 992000 + flags = 536870913 + data = length 2560, hash F1B75A9A +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/hev1_08_05.mp4 b/testdata/src/test/assets/mp4/hev1_08_05.mp4 new file mode 100644 index 00000000000..134f306e811 Binary files /dev/null and b/testdata/src/test/assets/mp4/hev1_08_05.mp4 differ diff --git a/testdata/src/test/assets/mp4/hev1_08_05.mp4.0.dump b/testdata/src/test/assets/mp4/hev1_08_05.mp4.0.dump new file mode 100644 index 00000000000..b2304021875 --- /dev/null +++ b/testdata/src/test/assets/mp4/hev1_08_05.mp4.0.dump @@ -0,0 +1,386 @@ +seekMap: + isSeekable = true + duration = 1023333 + getPosition(0) = [[timeUs=0, position=1913]] + getPosition(1) = [[timeUs=0, position=1913]] + getPosition(511666) = [[timeUs=0, position=1913]] + getPosition(1023333) = [[timeUs=0, position=1913]] +numberOfTracks = 2 +track 0: + total output bytes = 23785 + sample count = 57 + format 0: + id = 1 + sampleMimeType = video/dolby-vision + codecs = hev1.08.05 + maxInputSize = 2135 + width = 1920 + height = 1080 + frameRate = 59.894962 + sample 0: + time = 0 + flags = 1 + data = length 2105, hash CF15FB39 + sample 1: + time = 133466 + flags = 0 + data = length 382, hash B03670AC + sample 2: + time = 66733 + flags = 0 + data = length 383, hash 8E3D6EF0 + sample 3: + time = 33366 + flags = 0 + data = length 382, hash 24831438 + sample 4: + time = 16683 + flags = 0 + data = length 391, hash D4BB2736 + sample 5: + time = 50050 + flags = 0 + data = length 390, hash 1F4265A3 + sample 6: + time = 100100 + flags = 0 + data = length 383, hash C997C8E2 + sample 7: + time = 83416 + flags = 0 + data = length 391, hash D0250BAF + sample 8: + time = 116783 + flags = 0 + data = length 390, hash BB27F4DA + sample 9: + time = 266933 + flags = 0 + data = length 384, hash 313D2C13 + sample 10: + time = 200200 + flags = 0 + data = length 384, hash 2304913C + sample 11: + time = 166833 + flags = 0 + data = length 384, hash C7B28D8D + sample 12: + time = 150150 + flags = 0 + data = length 391, hash E4AA33BD + sample 13: + time = 183516 + flags = 0 + data = length 391, hash 180B0053 + sample 14: + time = 233566 + flags = 0 + data = length 383, hash 2D30E65B + sample 15: + time = 216883 + flags = 0 + data = length 391, hash D18B26C0 + sample 16: + time = 250250 + flags = 0 + data = length 390, hash 35919DCB + sample 17: + time = 400400 + flags = 0 + data = length 384, hash 2909DC4 + sample 18: + time = 333666 + flags = 0 + data = length 384, hash F45802ED + sample 19: + time = 300300 + flags = 0 + data = length 384, hash 9905FF3E + sample 20: + time = 283616 + flags = 0 + data = length 391, hash E6104ECE + sample 21: + time = 316983 + flags = 0 + data = length 391, hash 19711B64 + sample 22: + time = 367033 + flags = 0 + data = length 383, hash 6DBFFA8A + sample 23: + time = 350350 + flags = 0 + data = length 391, hash D2F141D1 + sample 24: + time = 383716 + flags = 0 + data = length 390, hash AFFB46BC + sample 25: + time = 533866 + flags = 0 + data = length 384, hash D3E40F75 + sample 26: + time = 467133 + flags = 0 + data = length 384, hash C5AB749E + sample 27: + time = 433766 + flags = 0 + data = length 384, hash 6A5970EF + sample 28: + time = 417083 + flags = 0 + data = length 391, hash E77669DF + sample 29: + time = 450450 + flags = 0 + data = length 391, hash 1AD73675 + sample 30: + time = 500500 + flags = 0 + data = length 383, hash AE4F0EB9 + sample 31: + time = 483816 + flags = 0 + data = length 391, hash D4575CE2 + sample 32: + time = 517183 + flags = 0 + data = length 390, hash 2A64EFAD + sample 33: + time = 667333 + flags = 0 + data = length 384, hash A5378126 + sample 34: + time = 600600 + flags = 0 + data = length 384, hash 96FEE64F + sample 35: + time = 567233 + flags = 0 + data = length 384, hash 3BACE2A0 + sample 36: + time = 550550 + flags = 0 + data = length 391, hash E8DC84F0 + sample 37: + time = 583916 + flags = 0 + data = length 391, hash 1C3D5186 + sample 38: + time = 633966 + flags = 0 + data = length 383, hash EEDE22E8 + sample 39: + time = 617283 + flags = 0 + data = length 391, hash D5BD77F3 + sample 40: + time = 650650 + flags = 0 + data = length 390, hash A4CE989E + sample 41: + time = 800800 + flags = 0 + data = length 384, hash 768AF2D7 + sample 42: + time = 734066 + flags = 0 + data = length 384, hash 68525800 + sample 43: + time = 700700 + flags = 0 + data = length 384, hash D005451 + sample 44: + time = 684016 + flags = 0 + data = length 391, hash EA42A001 + sample 45: + time = 717383 + flags = 0 + data = length 391, hash 1DA36C97 + sample 46: + time = 767433 + flags = 0 + data = length 383, hash 2F6D3717 + sample 47: + time = 750750 + flags = 0 + data = length 391, hash D7239304 + sample 48: + time = 784116 + flags = 0 + data = length 390, hash 1F38418F + sample 49: + time = 934266 + flags = 0 + data = length 384, hash 47DE6488 + sample 50: + time = 867533 + flags = 0 + data = length 384, hash 39A5C9B1 + sample 51: + time = 834166 + flags = 0 + data = length 384, hash DE53C602 + sample 52: + time = 817483 + flags = 0 + data = length 391, hash EBA8BB12 + sample 53: + time = 850850 + flags = 0 + data = length 391, hash 1F0987A8 + sample 54: + time = 900900 + flags = 0 + data = length 383, hash 6FFC4B46 + sample 55: + time = 884216 + flags = 0 + data = length 391, hash D889AE15 + sample 56: + time = 917583 + flags = 536870912 + data = length 390, hash 99A1EA80 +track 1: + total output bytes = 81920 + sample count = 32 + format 0: + id = 2 + sampleMimeType = audio/eac3-joc + maxInputSize = 2590 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 0 + flags = 1 + data = length 2560, hash B96751EE + sample 1: + time = 32000 + flags = 1 + data = length 2560, hash 45001B26 + sample 2: + time = 64000 + flags = 1 + data = length 2560, hash A3CBFFE4 + sample 3: + time = 96000 + flags = 1 + data = length 2560, hash 667C5C1A + sample 4: + time = 128000 + flags = 1 + data = length 2560, hash 7EC5AE9 + sample 5: + time = 160000 + flags = 1 + data = length 2560, hash 5F03C1F0 + sample 6: + time = 192000 + flags = 1 + data = length 2560, hash 7546E8D6 + sample 7: + time = 224000 + flags = 1 + data = length 2560, hash 9C5B6C2D + sample 8: + time = 256000 + flags = 1 + data = length 2560, hash 4F7BE9A5 + sample 9: + time = 288000 + flags = 1 + data = length 2560, hash 5D24A4BB + sample 10: + time = 320000 + flags = 1 + data = length 2560, hash 2B19480 + sample 11: + time = 352000 + flags = 1 + data = length 2560, hash D0DF951F + sample 12: + time = 384000 + flags = 1 + data = length 2560, hash CFE1F53A + sample 13: + time = 416000 + flags = 1 + data = length 2560, hash 7B14E1DB + sample 14: + time = 448000 + flags = 1 + data = length 2560, hash 77A4D01D + sample 15: + time = 480000 + flags = 1 + data = length 2560, hash 1CEADC6A + sample 16: + time = 512000 + flags = 1 + data = length 2560, hash F67D37C5 + sample 17: + time = 544000 + flags = 1 + data = length 2560, hash 4E6C1D09 + sample 18: + time = 576000 + flags = 1 + data = length 2560, hash E3BBDEAA + sample 19: + time = 608000 + flags = 1 + data = length 2560, hash 24E8B470 + sample 20: + time = 640000 + flags = 1 + data = length 2560, hash E12DFD77 + sample 21: + time = 672000 + flags = 1 + data = length 2560, hash FE039303 + sample 22: + time = 704000 + flags = 1 + data = length 2560, hash 4AD36C36 + sample 23: + time = 736000 + flags = 1 + data = length 2560, hash CE76D70E + sample 24: + time = 768000 + flags = 1 + data = length 2560, hash F6575F19 + sample 25: + time = 800000 + flags = 1 + data = length 2560, hash 9F23D09A + sample 26: + time = 832000 + flags = 1 + data = length 2560, hash D87FEE21 + sample 27: + time = 864000 + flags = 1 + data = length 2560, hash A9A51CE8 + sample 28: + time = 896000 + flags = 1 + data = length 2560, hash E0D6287D + sample 29: + time = 928000 + flags = 1 + data = length 2560, hash 7361A86 + sample 30: + time = 960000 + flags = 1 + data = length 2560, hash DFC493C + sample 31: + time = 992000 + flags = 536870913 + data = length 2560, hash F1B75A9A +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/hev1_08_05.mp4.1.dump b/testdata/src/test/assets/mp4/hev1_08_05.mp4.1.dump new file mode 100644 index 00000000000..2610f71e1b4 --- /dev/null +++ b/testdata/src/test/assets/mp4/hev1_08_05.mp4.1.dump @@ -0,0 +1,346 @@ +seekMap: + isSeekable = true + duration = 1023333 + getPosition(0) = [[timeUs=0, position=1913]] + getPosition(1) = [[timeUs=0, position=1913]] + getPosition(511666) = [[timeUs=0, position=1913]] + getPosition(1023333) = [[timeUs=0, position=1913]] +numberOfTracks = 2 +track 0: + total output bytes = 23785 + sample count = 57 + format 0: + id = 1 + sampleMimeType = video/dolby-vision + codecs = hev1.08.05 + maxInputSize = 2135 + width = 1920 + height = 1080 + frameRate = 59.894962 + sample 0: + time = 0 + flags = 1 + data = length 2105, hash CF15FB39 + sample 1: + time = 133466 + flags = 0 + data = length 382, hash B03670AC + sample 2: + time = 66733 + flags = 0 + data = length 383, hash 8E3D6EF0 + sample 3: + time = 33366 + flags = 0 + data = length 382, hash 24831438 + sample 4: + time = 16683 + flags = 0 + data = length 391, hash D4BB2736 + sample 5: + time = 50050 + flags = 0 + data = length 390, hash 1F4265A3 + sample 6: + time = 100100 + flags = 0 + data = length 383, hash C997C8E2 + sample 7: + time = 83416 + flags = 0 + data = length 391, hash D0250BAF + sample 8: + time = 116783 + flags = 0 + data = length 390, hash BB27F4DA + sample 9: + time = 266933 + flags = 0 + data = length 384, hash 313D2C13 + sample 10: + time = 200200 + flags = 0 + data = length 384, hash 2304913C + sample 11: + time = 166833 + flags = 0 + data = length 384, hash C7B28D8D + sample 12: + time = 150150 + flags = 0 + data = length 391, hash E4AA33BD + sample 13: + time = 183516 + flags = 0 + data = length 391, hash 180B0053 + sample 14: + time = 233566 + flags = 0 + data = length 383, hash 2D30E65B + sample 15: + time = 216883 + flags = 0 + data = length 391, hash D18B26C0 + sample 16: + time = 250250 + flags = 0 + data = length 390, hash 35919DCB + sample 17: + time = 400400 + flags = 0 + data = length 384, hash 2909DC4 + sample 18: + time = 333666 + flags = 0 + data = length 384, hash F45802ED + sample 19: + time = 300300 + flags = 0 + data = length 384, hash 9905FF3E + sample 20: + time = 283616 + flags = 0 + data = length 391, hash E6104ECE + sample 21: + time = 316983 + flags = 0 + data = length 391, hash 19711B64 + sample 22: + time = 367033 + flags = 0 + data = length 383, hash 6DBFFA8A + sample 23: + time = 350350 + flags = 0 + data = length 391, hash D2F141D1 + sample 24: + time = 383716 + flags = 0 + data = length 390, hash AFFB46BC + sample 25: + time = 533866 + flags = 0 + data = length 384, hash D3E40F75 + sample 26: + time = 467133 + flags = 0 + data = length 384, hash C5AB749E + sample 27: + time = 433766 + flags = 0 + data = length 384, hash 6A5970EF + sample 28: + time = 417083 + flags = 0 + data = length 391, hash E77669DF + sample 29: + time = 450450 + flags = 0 + data = length 391, hash 1AD73675 + sample 30: + time = 500500 + flags = 0 + data = length 383, hash AE4F0EB9 + sample 31: + time = 483816 + flags = 0 + data = length 391, hash D4575CE2 + sample 32: + time = 517183 + flags = 0 + data = length 390, hash 2A64EFAD + sample 33: + time = 667333 + flags = 0 + data = length 384, hash A5378126 + sample 34: + time = 600600 + flags = 0 + data = length 384, hash 96FEE64F + sample 35: + time = 567233 + flags = 0 + data = length 384, hash 3BACE2A0 + sample 36: + time = 550550 + flags = 0 + data = length 391, hash E8DC84F0 + sample 37: + time = 583916 + flags = 0 + data = length 391, hash 1C3D5186 + sample 38: + time = 633966 + flags = 0 + data = length 383, hash EEDE22E8 + sample 39: + time = 617283 + flags = 0 + data = length 391, hash D5BD77F3 + sample 40: + time = 650650 + flags = 0 + data = length 390, hash A4CE989E + sample 41: + time = 800800 + flags = 0 + data = length 384, hash 768AF2D7 + sample 42: + time = 734066 + flags = 0 + data = length 384, hash 68525800 + sample 43: + time = 700700 + flags = 0 + data = length 384, hash D005451 + sample 44: + time = 684016 + flags = 0 + data = length 391, hash EA42A001 + sample 45: + time = 717383 + flags = 0 + data = length 391, hash 1DA36C97 + sample 46: + time = 767433 + flags = 0 + data = length 383, hash 2F6D3717 + sample 47: + time = 750750 + flags = 0 + data = length 391, hash D7239304 + sample 48: + time = 784116 + flags = 0 + data = length 390, hash 1F38418F + sample 49: + time = 934266 + flags = 0 + data = length 384, hash 47DE6488 + sample 50: + time = 867533 + flags = 0 + data = length 384, hash 39A5C9B1 + sample 51: + time = 834166 + flags = 0 + data = length 384, hash DE53C602 + sample 52: + time = 817483 + flags = 0 + data = length 391, hash EBA8BB12 + sample 53: + time = 850850 + flags = 0 + data = length 391, hash 1F0987A8 + sample 54: + time = 900900 + flags = 0 + data = length 383, hash 6FFC4B46 + sample 55: + time = 884216 + flags = 0 + data = length 391, hash D889AE15 + sample 56: + time = 917583 + flags = 536870912 + data = length 390, hash 99A1EA80 +track 1: + total output bytes = 56320 + sample count = 22 + format 0: + id = 2 + sampleMimeType = audio/eac3-joc + maxInputSize = 2590 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 320000 + flags = 1 + data = length 2560, hash 2B19480 + sample 1: + time = 352000 + flags = 1 + data = length 2560, hash D0DF951F + sample 2: + time = 384000 + flags = 1 + data = length 2560, hash CFE1F53A + sample 3: + time = 416000 + flags = 1 + data = length 2560, hash 7B14E1DB + sample 4: + time = 448000 + flags = 1 + data = length 2560, hash 77A4D01D + sample 5: + time = 480000 + flags = 1 + data = length 2560, hash 1CEADC6A + sample 6: + time = 512000 + flags = 1 + data = length 2560, hash F67D37C5 + sample 7: + time = 544000 + flags = 1 + data = length 2560, hash 4E6C1D09 + sample 8: + time = 576000 + flags = 1 + data = length 2560, hash E3BBDEAA + sample 9: + time = 608000 + flags = 1 + data = length 2560, hash 24E8B470 + sample 10: + time = 640000 + flags = 1 + data = length 2560, hash E12DFD77 + sample 11: + time = 672000 + flags = 1 + data = length 2560, hash FE039303 + sample 12: + time = 704000 + flags = 1 + data = length 2560, hash 4AD36C36 + sample 13: + time = 736000 + flags = 1 + data = length 2560, hash CE76D70E + sample 14: + time = 768000 + flags = 1 + data = length 2560, hash F6575F19 + sample 15: + time = 800000 + flags = 1 + data = length 2560, hash 9F23D09A + sample 16: + time = 832000 + flags = 1 + data = length 2560, hash D87FEE21 + sample 17: + time = 864000 + flags = 1 + data = length 2560, hash A9A51CE8 + sample 18: + time = 896000 + flags = 1 + data = length 2560, hash E0D6287D + sample 19: + time = 928000 + flags = 1 + data = length 2560, hash 7361A86 + sample 20: + time = 960000 + flags = 1 + data = length 2560, hash DFC493C + sample 21: + time = 992000 + flags = 536870913 + data = length 2560, hash F1B75A9A +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/hev1_08_05.mp4.2.dump b/testdata/src/test/assets/mp4/hev1_08_05.mp4.2.dump new file mode 100644 index 00000000000..eb6fd50288b --- /dev/null +++ b/testdata/src/test/assets/mp4/hev1_08_05.mp4.2.dump @@ -0,0 +1,302 @@ +seekMap: + isSeekable = true + duration = 1023333 + getPosition(0) = [[timeUs=0, position=1913]] + getPosition(1) = [[timeUs=0, position=1913]] + getPosition(511666) = [[timeUs=0, position=1913]] + getPosition(1023333) = [[timeUs=0, position=1913]] +numberOfTracks = 2 +track 0: + total output bytes = 23785 + sample count = 57 + format 0: + id = 1 + sampleMimeType = video/dolby-vision + codecs = hev1.08.05 + maxInputSize = 2135 + width = 1920 + height = 1080 + frameRate = 59.894962 + sample 0: + time = 0 + flags = 1 + data = length 2105, hash CF15FB39 + sample 1: + time = 133466 + flags = 0 + data = length 382, hash B03670AC + sample 2: + time = 66733 + flags = 0 + data = length 383, hash 8E3D6EF0 + sample 3: + time = 33366 + flags = 0 + data = length 382, hash 24831438 + sample 4: + time = 16683 + flags = 0 + data = length 391, hash D4BB2736 + sample 5: + time = 50050 + flags = 0 + data = length 390, hash 1F4265A3 + sample 6: + time = 100100 + flags = 0 + data = length 383, hash C997C8E2 + sample 7: + time = 83416 + flags = 0 + data = length 391, hash D0250BAF + sample 8: + time = 116783 + flags = 0 + data = length 390, hash BB27F4DA + sample 9: + time = 266933 + flags = 0 + data = length 384, hash 313D2C13 + sample 10: + time = 200200 + flags = 0 + data = length 384, hash 2304913C + sample 11: + time = 166833 + flags = 0 + data = length 384, hash C7B28D8D + sample 12: + time = 150150 + flags = 0 + data = length 391, hash E4AA33BD + sample 13: + time = 183516 + flags = 0 + data = length 391, hash 180B0053 + sample 14: + time = 233566 + flags = 0 + data = length 383, hash 2D30E65B + sample 15: + time = 216883 + flags = 0 + data = length 391, hash D18B26C0 + sample 16: + time = 250250 + flags = 0 + data = length 390, hash 35919DCB + sample 17: + time = 400400 + flags = 0 + data = length 384, hash 2909DC4 + sample 18: + time = 333666 + flags = 0 + data = length 384, hash F45802ED + sample 19: + time = 300300 + flags = 0 + data = length 384, hash 9905FF3E + sample 20: + time = 283616 + flags = 0 + data = length 391, hash E6104ECE + sample 21: + time = 316983 + flags = 0 + data = length 391, hash 19711B64 + sample 22: + time = 367033 + flags = 0 + data = length 383, hash 6DBFFA8A + sample 23: + time = 350350 + flags = 0 + data = length 391, hash D2F141D1 + sample 24: + time = 383716 + flags = 0 + data = length 390, hash AFFB46BC + sample 25: + time = 533866 + flags = 0 + data = length 384, hash D3E40F75 + sample 26: + time = 467133 + flags = 0 + data = length 384, hash C5AB749E + sample 27: + time = 433766 + flags = 0 + data = length 384, hash 6A5970EF + sample 28: + time = 417083 + flags = 0 + data = length 391, hash E77669DF + sample 29: + time = 450450 + flags = 0 + data = length 391, hash 1AD73675 + sample 30: + time = 500500 + flags = 0 + data = length 383, hash AE4F0EB9 + sample 31: + time = 483816 + flags = 0 + data = length 391, hash D4575CE2 + sample 32: + time = 517183 + flags = 0 + data = length 390, hash 2A64EFAD + sample 33: + time = 667333 + flags = 0 + data = length 384, hash A5378126 + sample 34: + time = 600600 + flags = 0 + data = length 384, hash 96FEE64F + sample 35: + time = 567233 + flags = 0 + data = length 384, hash 3BACE2A0 + sample 36: + time = 550550 + flags = 0 + data = length 391, hash E8DC84F0 + sample 37: + time = 583916 + flags = 0 + data = length 391, hash 1C3D5186 + sample 38: + time = 633966 + flags = 0 + data = length 383, hash EEDE22E8 + sample 39: + time = 617283 + flags = 0 + data = length 391, hash D5BD77F3 + sample 40: + time = 650650 + flags = 0 + data = length 390, hash A4CE989E + sample 41: + time = 800800 + flags = 0 + data = length 384, hash 768AF2D7 + sample 42: + time = 734066 + flags = 0 + data = length 384, hash 68525800 + sample 43: + time = 700700 + flags = 0 + data = length 384, hash D005451 + sample 44: + time = 684016 + flags = 0 + data = length 391, hash EA42A001 + sample 45: + time = 717383 + flags = 0 + data = length 391, hash 1DA36C97 + sample 46: + time = 767433 + flags = 0 + data = length 383, hash 2F6D3717 + sample 47: + time = 750750 + flags = 0 + data = length 391, hash D7239304 + sample 48: + time = 784116 + flags = 0 + data = length 390, hash 1F38418F + sample 49: + time = 934266 + flags = 0 + data = length 384, hash 47DE6488 + sample 50: + time = 867533 + flags = 0 + data = length 384, hash 39A5C9B1 + sample 51: + time = 834166 + flags = 0 + data = length 384, hash DE53C602 + sample 52: + time = 817483 + flags = 0 + data = length 391, hash EBA8BB12 + sample 53: + time = 850850 + flags = 0 + data = length 391, hash 1F0987A8 + sample 54: + time = 900900 + flags = 0 + data = length 383, hash 6FFC4B46 + sample 55: + time = 884216 + flags = 0 + data = length 391, hash D889AE15 + sample 56: + time = 917583 + flags = 536870912 + data = length 390, hash 99A1EA80 +track 1: + total output bytes = 28160 + sample count = 11 + format 0: + id = 2 + sampleMimeType = audio/eac3-joc + maxInputSize = 2590 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 672000 + flags = 1 + data = length 2560, hash FE039303 + sample 1: + time = 704000 + flags = 1 + data = length 2560, hash 4AD36C36 + sample 2: + time = 736000 + flags = 1 + data = length 2560, hash CE76D70E + sample 3: + time = 768000 + flags = 1 + data = length 2560, hash F6575F19 + sample 4: + time = 800000 + flags = 1 + data = length 2560, hash 9F23D09A + sample 5: + time = 832000 + flags = 1 + data = length 2560, hash D87FEE21 + sample 6: + time = 864000 + flags = 1 + data = length 2560, hash A9A51CE8 + sample 7: + time = 896000 + flags = 1 + data = length 2560, hash E0D6287D + sample 8: + time = 928000 + flags = 1 + data = length 2560, hash 7361A86 + sample 9: + time = 960000 + flags = 1 + data = length 2560, hash DFC493C + sample 10: + time = 992000 + flags = 536870913 + data = length 2560, hash F1B75A9A +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/hev1_08_05.mp4.3.dump b/testdata/src/test/assets/mp4/hev1_08_05.mp4.3.dump new file mode 100644 index 00000000000..cc41a8f3eee --- /dev/null +++ b/testdata/src/test/assets/mp4/hev1_08_05.mp4.3.dump @@ -0,0 +1,262 @@ +seekMap: + isSeekable = true + duration = 1023333 + getPosition(0) = [[timeUs=0, position=1913]] + getPosition(1) = [[timeUs=0, position=1913]] + getPosition(511666) = [[timeUs=0, position=1913]] + getPosition(1023333) = [[timeUs=0, position=1913]] +numberOfTracks = 2 +track 0: + total output bytes = 23785 + sample count = 57 + format 0: + id = 1 + sampleMimeType = video/dolby-vision + codecs = hev1.08.05 + maxInputSize = 2135 + width = 1920 + height = 1080 + frameRate = 59.894962 + sample 0: + time = 0 + flags = 1 + data = length 2105, hash CF15FB39 + sample 1: + time = 133466 + flags = 0 + data = length 382, hash B03670AC + sample 2: + time = 66733 + flags = 0 + data = length 383, hash 8E3D6EF0 + sample 3: + time = 33366 + flags = 0 + data = length 382, hash 24831438 + sample 4: + time = 16683 + flags = 0 + data = length 391, hash D4BB2736 + sample 5: + time = 50050 + flags = 0 + data = length 390, hash 1F4265A3 + sample 6: + time = 100100 + flags = 0 + data = length 383, hash C997C8E2 + sample 7: + time = 83416 + flags = 0 + data = length 391, hash D0250BAF + sample 8: + time = 116783 + flags = 0 + data = length 390, hash BB27F4DA + sample 9: + time = 266933 + flags = 0 + data = length 384, hash 313D2C13 + sample 10: + time = 200200 + flags = 0 + data = length 384, hash 2304913C + sample 11: + time = 166833 + flags = 0 + data = length 384, hash C7B28D8D + sample 12: + time = 150150 + flags = 0 + data = length 391, hash E4AA33BD + sample 13: + time = 183516 + flags = 0 + data = length 391, hash 180B0053 + sample 14: + time = 233566 + flags = 0 + data = length 383, hash 2D30E65B + sample 15: + time = 216883 + flags = 0 + data = length 391, hash D18B26C0 + sample 16: + time = 250250 + flags = 0 + data = length 390, hash 35919DCB + sample 17: + time = 400400 + flags = 0 + data = length 384, hash 2909DC4 + sample 18: + time = 333666 + flags = 0 + data = length 384, hash F45802ED + sample 19: + time = 300300 + flags = 0 + data = length 384, hash 9905FF3E + sample 20: + time = 283616 + flags = 0 + data = length 391, hash E6104ECE + sample 21: + time = 316983 + flags = 0 + data = length 391, hash 19711B64 + sample 22: + time = 367033 + flags = 0 + data = length 383, hash 6DBFFA8A + sample 23: + time = 350350 + flags = 0 + data = length 391, hash D2F141D1 + sample 24: + time = 383716 + flags = 0 + data = length 390, hash AFFB46BC + sample 25: + time = 533866 + flags = 0 + data = length 384, hash D3E40F75 + sample 26: + time = 467133 + flags = 0 + data = length 384, hash C5AB749E + sample 27: + time = 433766 + flags = 0 + data = length 384, hash 6A5970EF + sample 28: + time = 417083 + flags = 0 + data = length 391, hash E77669DF + sample 29: + time = 450450 + flags = 0 + data = length 391, hash 1AD73675 + sample 30: + time = 500500 + flags = 0 + data = length 383, hash AE4F0EB9 + sample 31: + time = 483816 + flags = 0 + data = length 391, hash D4575CE2 + sample 32: + time = 517183 + flags = 0 + data = length 390, hash 2A64EFAD + sample 33: + time = 667333 + flags = 0 + data = length 384, hash A5378126 + sample 34: + time = 600600 + flags = 0 + data = length 384, hash 96FEE64F + sample 35: + time = 567233 + flags = 0 + data = length 384, hash 3BACE2A0 + sample 36: + time = 550550 + flags = 0 + data = length 391, hash E8DC84F0 + sample 37: + time = 583916 + flags = 0 + data = length 391, hash 1C3D5186 + sample 38: + time = 633966 + flags = 0 + data = length 383, hash EEDE22E8 + sample 39: + time = 617283 + flags = 0 + data = length 391, hash D5BD77F3 + sample 40: + time = 650650 + flags = 0 + data = length 390, hash A4CE989E + sample 41: + time = 800800 + flags = 0 + data = length 384, hash 768AF2D7 + sample 42: + time = 734066 + flags = 0 + data = length 384, hash 68525800 + sample 43: + time = 700700 + flags = 0 + data = length 384, hash D005451 + sample 44: + time = 684016 + flags = 0 + data = length 391, hash EA42A001 + sample 45: + time = 717383 + flags = 0 + data = length 391, hash 1DA36C97 + sample 46: + time = 767433 + flags = 0 + data = length 383, hash 2F6D3717 + sample 47: + time = 750750 + flags = 0 + data = length 391, hash D7239304 + sample 48: + time = 784116 + flags = 0 + data = length 390, hash 1F38418F + sample 49: + time = 934266 + flags = 0 + data = length 384, hash 47DE6488 + sample 50: + time = 867533 + flags = 0 + data = length 384, hash 39A5C9B1 + sample 51: + time = 834166 + flags = 0 + data = length 384, hash DE53C602 + sample 52: + time = 817483 + flags = 0 + data = length 391, hash EBA8BB12 + sample 53: + time = 850850 + flags = 0 + data = length 391, hash 1F0987A8 + sample 54: + time = 900900 + flags = 0 + data = length 383, hash 6FFC4B46 + sample 55: + time = 884216 + flags = 0 + data = length 391, hash D889AE15 + sample 56: + time = 917583 + flags = 536870912 + data = length 390, hash 99A1EA80 +track 1: + total output bytes = 2560 + sample count = 1 + format 0: + id = 2 + sampleMimeType = audio/eac3-joc + maxInputSize = 2590 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 992000 + flags = 536870913 + data = length 2560, hash F1B75A9A +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/hev1_08_05.mp4.unknown_length.dump b/testdata/src/test/assets/mp4/hev1_08_05.mp4.unknown_length.dump new file mode 100644 index 00000000000..b2304021875 --- /dev/null +++ b/testdata/src/test/assets/mp4/hev1_08_05.mp4.unknown_length.dump @@ -0,0 +1,386 @@ +seekMap: + isSeekable = true + duration = 1023333 + getPosition(0) = [[timeUs=0, position=1913]] + getPosition(1) = [[timeUs=0, position=1913]] + getPosition(511666) = [[timeUs=0, position=1913]] + getPosition(1023333) = [[timeUs=0, position=1913]] +numberOfTracks = 2 +track 0: + total output bytes = 23785 + sample count = 57 + format 0: + id = 1 + sampleMimeType = video/dolby-vision + codecs = hev1.08.05 + maxInputSize = 2135 + width = 1920 + height = 1080 + frameRate = 59.894962 + sample 0: + time = 0 + flags = 1 + data = length 2105, hash CF15FB39 + sample 1: + time = 133466 + flags = 0 + data = length 382, hash B03670AC + sample 2: + time = 66733 + flags = 0 + data = length 383, hash 8E3D6EF0 + sample 3: + time = 33366 + flags = 0 + data = length 382, hash 24831438 + sample 4: + time = 16683 + flags = 0 + data = length 391, hash D4BB2736 + sample 5: + time = 50050 + flags = 0 + data = length 390, hash 1F4265A3 + sample 6: + time = 100100 + flags = 0 + data = length 383, hash C997C8E2 + sample 7: + time = 83416 + flags = 0 + data = length 391, hash D0250BAF + sample 8: + time = 116783 + flags = 0 + data = length 390, hash BB27F4DA + sample 9: + time = 266933 + flags = 0 + data = length 384, hash 313D2C13 + sample 10: + time = 200200 + flags = 0 + data = length 384, hash 2304913C + sample 11: + time = 166833 + flags = 0 + data = length 384, hash C7B28D8D + sample 12: + time = 150150 + flags = 0 + data = length 391, hash E4AA33BD + sample 13: + time = 183516 + flags = 0 + data = length 391, hash 180B0053 + sample 14: + time = 233566 + flags = 0 + data = length 383, hash 2D30E65B + sample 15: + time = 216883 + flags = 0 + data = length 391, hash D18B26C0 + sample 16: + time = 250250 + flags = 0 + data = length 390, hash 35919DCB + sample 17: + time = 400400 + flags = 0 + data = length 384, hash 2909DC4 + sample 18: + time = 333666 + flags = 0 + data = length 384, hash F45802ED + sample 19: + time = 300300 + flags = 0 + data = length 384, hash 9905FF3E + sample 20: + time = 283616 + flags = 0 + data = length 391, hash E6104ECE + sample 21: + time = 316983 + flags = 0 + data = length 391, hash 19711B64 + sample 22: + time = 367033 + flags = 0 + data = length 383, hash 6DBFFA8A + sample 23: + time = 350350 + flags = 0 + data = length 391, hash D2F141D1 + sample 24: + time = 383716 + flags = 0 + data = length 390, hash AFFB46BC + sample 25: + time = 533866 + flags = 0 + data = length 384, hash D3E40F75 + sample 26: + time = 467133 + flags = 0 + data = length 384, hash C5AB749E + sample 27: + time = 433766 + flags = 0 + data = length 384, hash 6A5970EF + sample 28: + time = 417083 + flags = 0 + data = length 391, hash E77669DF + sample 29: + time = 450450 + flags = 0 + data = length 391, hash 1AD73675 + sample 30: + time = 500500 + flags = 0 + data = length 383, hash AE4F0EB9 + sample 31: + time = 483816 + flags = 0 + data = length 391, hash D4575CE2 + sample 32: + time = 517183 + flags = 0 + data = length 390, hash 2A64EFAD + sample 33: + time = 667333 + flags = 0 + data = length 384, hash A5378126 + sample 34: + time = 600600 + flags = 0 + data = length 384, hash 96FEE64F + sample 35: + time = 567233 + flags = 0 + data = length 384, hash 3BACE2A0 + sample 36: + time = 550550 + flags = 0 + data = length 391, hash E8DC84F0 + sample 37: + time = 583916 + flags = 0 + data = length 391, hash 1C3D5186 + sample 38: + time = 633966 + flags = 0 + data = length 383, hash EEDE22E8 + sample 39: + time = 617283 + flags = 0 + data = length 391, hash D5BD77F3 + sample 40: + time = 650650 + flags = 0 + data = length 390, hash A4CE989E + sample 41: + time = 800800 + flags = 0 + data = length 384, hash 768AF2D7 + sample 42: + time = 734066 + flags = 0 + data = length 384, hash 68525800 + sample 43: + time = 700700 + flags = 0 + data = length 384, hash D005451 + sample 44: + time = 684016 + flags = 0 + data = length 391, hash EA42A001 + sample 45: + time = 717383 + flags = 0 + data = length 391, hash 1DA36C97 + sample 46: + time = 767433 + flags = 0 + data = length 383, hash 2F6D3717 + sample 47: + time = 750750 + flags = 0 + data = length 391, hash D7239304 + sample 48: + time = 784116 + flags = 0 + data = length 390, hash 1F38418F + sample 49: + time = 934266 + flags = 0 + data = length 384, hash 47DE6488 + sample 50: + time = 867533 + flags = 0 + data = length 384, hash 39A5C9B1 + sample 51: + time = 834166 + flags = 0 + data = length 384, hash DE53C602 + sample 52: + time = 817483 + flags = 0 + data = length 391, hash EBA8BB12 + sample 53: + time = 850850 + flags = 0 + data = length 391, hash 1F0987A8 + sample 54: + time = 900900 + flags = 0 + data = length 383, hash 6FFC4B46 + sample 55: + time = 884216 + flags = 0 + data = length 391, hash D889AE15 + sample 56: + time = 917583 + flags = 536870912 + data = length 390, hash 99A1EA80 +track 1: + total output bytes = 81920 + sample count = 32 + format 0: + id = 2 + sampleMimeType = audio/eac3-joc + maxInputSize = 2590 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 0 + flags = 1 + data = length 2560, hash B96751EE + sample 1: + time = 32000 + flags = 1 + data = length 2560, hash 45001B26 + sample 2: + time = 64000 + flags = 1 + data = length 2560, hash A3CBFFE4 + sample 3: + time = 96000 + flags = 1 + data = length 2560, hash 667C5C1A + sample 4: + time = 128000 + flags = 1 + data = length 2560, hash 7EC5AE9 + sample 5: + time = 160000 + flags = 1 + data = length 2560, hash 5F03C1F0 + sample 6: + time = 192000 + flags = 1 + data = length 2560, hash 7546E8D6 + sample 7: + time = 224000 + flags = 1 + data = length 2560, hash 9C5B6C2D + sample 8: + time = 256000 + flags = 1 + data = length 2560, hash 4F7BE9A5 + sample 9: + time = 288000 + flags = 1 + data = length 2560, hash 5D24A4BB + sample 10: + time = 320000 + flags = 1 + data = length 2560, hash 2B19480 + sample 11: + time = 352000 + flags = 1 + data = length 2560, hash D0DF951F + sample 12: + time = 384000 + flags = 1 + data = length 2560, hash CFE1F53A + sample 13: + time = 416000 + flags = 1 + data = length 2560, hash 7B14E1DB + sample 14: + time = 448000 + flags = 1 + data = length 2560, hash 77A4D01D + sample 15: + time = 480000 + flags = 1 + data = length 2560, hash 1CEADC6A + sample 16: + time = 512000 + flags = 1 + data = length 2560, hash F67D37C5 + sample 17: + time = 544000 + flags = 1 + data = length 2560, hash 4E6C1D09 + sample 18: + time = 576000 + flags = 1 + data = length 2560, hash E3BBDEAA + sample 19: + time = 608000 + flags = 1 + data = length 2560, hash 24E8B470 + sample 20: + time = 640000 + flags = 1 + data = length 2560, hash E12DFD77 + sample 21: + time = 672000 + flags = 1 + data = length 2560, hash FE039303 + sample 22: + time = 704000 + flags = 1 + data = length 2560, hash 4AD36C36 + sample 23: + time = 736000 + flags = 1 + data = length 2560, hash CE76D70E + sample 24: + time = 768000 + flags = 1 + data = length 2560, hash F6575F19 + sample 25: + time = 800000 + flags = 1 + data = length 2560, hash 9F23D09A + sample 26: + time = 832000 + flags = 1 + data = length 2560, hash D87FEE21 + sample 27: + time = 864000 + flags = 1 + data = length 2560, hash A9A51CE8 + sample 28: + time = 896000 + flags = 1 + data = length 2560, hash E0D6287D + sample 29: + time = 928000 + flags = 1 + data = length 2560, hash 7361A86 + sample 30: + time = 960000 + flags = 1 + data = length 2560, hash DFC493C + sample 31: + time = 992000 + flags = 536870913 + data = length 2560, hash F1B75A9A +tracksEnded = true