diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/e2etest/MkvPlaybackTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/e2etest/MkvPlaybackTest.java index 6572413d6b4..8a60e0416b1 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/e2etest/MkvPlaybackTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/e2etest/MkvPlaybackTest.java @@ -47,8 +47,10 @@ public static ImmutableList mediaSamples() { "sample_with_htc_rotation_track_name.mkv", "sample_with_ssa_subtitles.mkv", "sample_with_null_terminated_ssa_subtitles.mkv", + "sample_with_overlapping_ssa_subtitles.mkv", "sample_with_srt.mkv", "sample_with_null_terminated_srt.mkv", + "sample_with_overlapping_srt.mkv", "sample_with_vtt_subtitles.mkv", "sample_with_null_terminated_vtt_subtitles.mkv"); } diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/mkv/MatroskaExtractorTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/mkv/MatroskaExtractorTest.java index 69ad2ee7abf..6af83493485 100644 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/mkv/MatroskaExtractorTest.java +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/mkv/MatroskaExtractorTest.java @@ -52,6 +52,12 @@ public void mkvSample_withNullTerminatedSubripSubtitles() throws Exception { MatroskaExtractor::new, "media/mkv/sample_with_null_terminated_srt.mkv", simulationConfig); } + @Test + public void mkvSample_withOverlappingSubripSubtitles() throws Exception { + ExtractorAsserts.assertBehavior( + MatroskaExtractor::new, "media/mkv/sample_with_overlapping_srt.mkv", simulationConfig); + } + @Test public void mkvSample_withSsaSubtitles() throws Exception { ExtractorAsserts.assertBehavior( @@ -67,6 +73,14 @@ public void mkvSample_withNullTerminatedSsaSubtitles() throws Exception { simulationConfig); } + @Test + public void mkvSample_withOverlappingSsaSubtitles() throws Exception { + ExtractorAsserts.assertBehavior( + MatroskaExtractor::new, + "media/mkv/sample_with_overlapping_ssa_subtitles.mkv", + simulationConfig); + } + @Test public void mkvSample_withVttSubtitles() throws Exception { ExtractorAsserts.assertBehavior( diff --git a/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_srt.mkv.0.dump b/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_srt.mkv.0.dump new file mode 100644 index 00000000000..9b1477a5d03 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_srt.mkv.0.dump @@ -0,0 +1,289 @@ +seekMap: + isSeekable = true + duration = 1072000 + getPosition(0) = [[timeUs=67000, position=5679]] + getPosition(1) = [[timeUs=67000, position=5679]] + getPosition(536000) = [[timeUs=200000, position=5679]] + getPosition(1072000) = [[timeUs=200000, position=5679]] +numberOfTracks = 3 +track 1: + total output bytes = 89502 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.640034 + width = 1080 + height = 720 + selectionFlags = 1 + language = und + initializationData: + data = length 30, hash F6F3D010 + data = length 10, hash 7A0D0F2B + sample 0: + time = 67000 + flags = 1 + data = length 36477, hash F0F36CFE + sample 1: + time = 134000 + flags = 0 + data = length 5341, hash 40B85E2 + sample 2: + time = 100000 + flags = 0 + data = length 596, hash 357B4D92 + sample 3: + time = 267000 + flags = 0 + data = length 7704, hash A39EDA06 + sample 4: + time = 200000 + flags = 0 + data = length 989, hash 2813C72D + sample 5: + time = 167000 + flags = 0 + data = length 721, hash C50D1C73 + sample 6: + time = 234000 + flags = 0 + data = length 519, hash 65FE1911 + sample 7: + time = 400000 + flags = 0 + data = length 6160, hash E1CAC0EC + sample 8: + time = 334000 + flags = 0 + data = length 953, hash 7160C661 + sample 9: + time = 300000 + flags = 0 + data = length 620, hash 7A7AE07C + sample 10: + time = 367000 + flags = 0 + data = length 405, hash 5CC7F4E7 + sample 11: + time = 500000 + flags = 0 + data = length 4852, hash 9DB6979D + sample 12: + time = 467000 + flags = 0 + data = length 547, hash E31A6979 + sample 13: + time = 434000 + flags = 0 + data = length 570, hash FEC40D00 + sample 14: + time = 634000 + flags = 0 + data = length 5525, hash 7C478F7E + sample 15: + time = 567000 + flags = 0 + data = length 1082, hash DA07059A + sample 16: + time = 534000 + flags = 0 + data = length 807, hash 93478E6B + sample 17: + time = 600000 + flags = 0 + data = length 744, hash 9A8E6026 + sample 18: + time = 767000 + flags = 0 + data = length 4732, hash C73B23C0 + sample 19: + time = 700000 + flags = 0 + data = length 1004, hash 8A19A228 + sample 20: + time = 667000 + flags = 0 + data = length 794, hash 8126022C + sample 21: + time = 734000 + flags = 0 + data = length 645, hash F08300E5 + sample 22: + time = 900000 + flags = 0 + data = length 2684, hash 727FE378 + sample 23: + time = 834000 + flags = 0 + data = length 787, hash 419A7821 + sample 24: + time = 800000 + flags = 0 + data = length 649, hash 5C159346 + sample 25: + time = 867000 + flags = 0 + data = length 509, hash F912D655 + sample 26: + time = 1034000 + flags = 0 + data = length 1226, hash 29815C21 + sample 27: + time = 967000 + flags = 0 + data = length 898, hash D997AD0A + sample 28: + time = 934000 + flags = 0 + data = length 476, hash A0423645 + sample 29: + time = 1000000 + flags = 0 + data = length 486, hash DDF32CBB +track 2: + total output bytes = 12120 + sample count = 29 + format 0: + id = 2 + sampleMimeType = audio/ac3 + channelCount = 1 + sampleRate = 44100 + selectionFlags = 1 + language = und + sample 0: + time = 129000 + flags = 1 + data = length 416, hash 211F2286 + sample 1: + time = 163829 + flags = 1 + data = length 418, hash 77425A86 + sample 2: + time = 198659 + flags = 1 + data = length 418, hash A0FE5CA1 + sample 3: + time = 233489 + flags = 1 + data = length 418, hash 2309B066 + sample 4: + time = 268319 + flags = 1 + data = length 418, hash 928A653B + sample 5: + time = 303149 + flags = 1 + data = length 418, hash 3422F0CB + sample 6: + time = 337979 + flags = 1 + data = length 418, hash EFF43D5B + sample 7: + time = 372809 + flags = 1 + data = length 418, hash FC8093C7 + sample 8: + time = 408000 + flags = 1 + data = length 418, hash CCC08A16 + sample 9: + time = 442829 + flags = 1 + data = length 418, hash 2A6EE863 + sample 10: + time = 477659 + flags = 1 + data = length 418, hash D69A9251 + sample 11: + time = 512489 + flags = 1 + data = length 418, hash BCFB758D + sample 12: + time = 547319 + flags = 1 + data = length 418, hash 11B66799 + sample 13: + time = 582149 + flags = 1 + data = length 418, hash C824D392 + sample 14: + time = 616979 + flags = 1 + data = length 418, hash C167D872 + sample 15: + time = 651809 + flags = 1 + data = length 418, hash 4221C855 + sample 16: + time = 687000 + flags = 1 + data = length 418, hash 4D4FF934 + sample 17: + time = 721829 + flags = 1 + data = length 418, hash 984AA025 + sample 18: + time = 756659 + flags = 1 + data = length 418, hash BB788B46 + sample 19: + time = 791489 + flags = 1 + data = length 418, hash 9EFBFD97 + sample 20: + time = 826319 + flags = 1 + data = length 418, hash DF1A460C + sample 21: + time = 861149 + flags = 1 + data = length 418, hash 2BDB56A + sample 22: + time = 895979 + flags = 1 + data = length 418, hash CA230060 + sample 23: + time = 930809 + flags = 1 + data = length 418, hash D2F19F41 + sample 24: + time = 965000 + flags = 1 + data = length 418, hash AF392D79 + sample 25: + time = 999829 + flags = 1 + data = length 418, hash C5D7F2A3 + sample 26: + time = 1034659 + flags = 1 + data = length 418, hash 733A35AE + sample 27: + time = 1069489 + flags = 1 + data = length 418, hash DE46E5D3 + sample 28: + time = 1104319 + flags = 1 + data = length 418, hash 56AB8D37 +track 3: + total output bytes = 215 + sample count = 3 + format 0: + id = 3 + sampleMimeType = application/x-subrip + selectionFlags = 1 + language = und + sample 0: + time = 100000 + flags = 1 + data = length 68, hash 426935FB + sample 1: + time = 150000 + flags = 1 + data = length 73, hash D923EBF7 + sample 2: + time = 200000 + flags = 1 + data = length 74, hash 34E0AB33 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_srt.mkv.1.dump b/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_srt.mkv.1.dump new file mode 100644 index 00000000000..9b1477a5d03 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_srt.mkv.1.dump @@ -0,0 +1,289 @@ +seekMap: + isSeekable = true + duration = 1072000 + getPosition(0) = [[timeUs=67000, position=5679]] + getPosition(1) = [[timeUs=67000, position=5679]] + getPosition(536000) = [[timeUs=200000, position=5679]] + getPosition(1072000) = [[timeUs=200000, position=5679]] +numberOfTracks = 3 +track 1: + total output bytes = 89502 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.640034 + width = 1080 + height = 720 + selectionFlags = 1 + language = und + initializationData: + data = length 30, hash F6F3D010 + data = length 10, hash 7A0D0F2B + sample 0: + time = 67000 + flags = 1 + data = length 36477, hash F0F36CFE + sample 1: + time = 134000 + flags = 0 + data = length 5341, hash 40B85E2 + sample 2: + time = 100000 + flags = 0 + data = length 596, hash 357B4D92 + sample 3: + time = 267000 + flags = 0 + data = length 7704, hash A39EDA06 + sample 4: + time = 200000 + flags = 0 + data = length 989, hash 2813C72D + sample 5: + time = 167000 + flags = 0 + data = length 721, hash C50D1C73 + sample 6: + time = 234000 + flags = 0 + data = length 519, hash 65FE1911 + sample 7: + time = 400000 + flags = 0 + data = length 6160, hash E1CAC0EC + sample 8: + time = 334000 + flags = 0 + data = length 953, hash 7160C661 + sample 9: + time = 300000 + flags = 0 + data = length 620, hash 7A7AE07C + sample 10: + time = 367000 + flags = 0 + data = length 405, hash 5CC7F4E7 + sample 11: + time = 500000 + flags = 0 + data = length 4852, hash 9DB6979D + sample 12: + time = 467000 + flags = 0 + data = length 547, hash E31A6979 + sample 13: + time = 434000 + flags = 0 + data = length 570, hash FEC40D00 + sample 14: + time = 634000 + flags = 0 + data = length 5525, hash 7C478F7E + sample 15: + time = 567000 + flags = 0 + data = length 1082, hash DA07059A + sample 16: + time = 534000 + flags = 0 + data = length 807, hash 93478E6B + sample 17: + time = 600000 + flags = 0 + data = length 744, hash 9A8E6026 + sample 18: + time = 767000 + flags = 0 + data = length 4732, hash C73B23C0 + sample 19: + time = 700000 + flags = 0 + data = length 1004, hash 8A19A228 + sample 20: + time = 667000 + flags = 0 + data = length 794, hash 8126022C + sample 21: + time = 734000 + flags = 0 + data = length 645, hash F08300E5 + sample 22: + time = 900000 + flags = 0 + data = length 2684, hash 727FE378 + sample 23: + time = 834000 + flags = 0 + data = length 787, hash 419A7821 + sample 24: + time = 800000 + flags = 0 + data = length 649, hash 5C159346 + sample 25: + time = 867000 + flags = 0 + data = length 509, hash F912D655 + sample 26: + time = 1034000 + flags = 0 + data = length 1226, hash 29815C21 + sample 27: + time = 967000 + flags = 0 + data = length 898, hash D997AD0A + sample 28: + time = 934000 + flags = 0 + data = length 476, hash A0423645 + sample 29: + time = 1000000 + flags = 0 + data = length 486, hash DDF32CBB +track 2: + total output bytes = 12120 + sample count = 29 + format 0: + id = 2 + sampleMimeType = audio/ac3 + channelCount = 1 + sampleRate = 44100 + selectionFlags = 1 + language = und + sample 0: + time = 129000 + flags = 1 + data = length 416, hash 211F2286 + sample 1: + time = 163829 + flags = 1 + data = length 418, hash 77425A86 + sample 2: + time = 198659 + flags = 1 + data = length 418, hash A0FE5CA1 + sample 3: + time = 233489 + flags = 1 + data = length 418, hash 2309B066 + sample 4: + time = 268319 + flags = 1 + data = length 418, hash 928A653B + sample 5: + time = 303149 + flags = 1 + data = length 418, hash 3422F0CB + sample 6: + time = 337979 + flags = 1 + data = length 418, hash EFF43D5B + sample 7: + time = 372809 + flags = 1 + data = length 418, hash FC8093C7 + sample 8: + time = 408000 + flags = 1 + data = length 418, hash CCC08A16 + sample 9: + time = 442829 + flags = 1 + data = length 418, hash 2A6EE863 + sample 10: + time = 477659 + flags = 1 + data = length 418, hash D69A9251 + sample 11: + time = 512489 + flags = 1 + data = length 418, hash BCFB758D + sample 12: + time = 547319 + flags = 1 + data = length 418, hash 11B66799 + sample 13: + time = 582149 + flags = 1 + data = length 418, hash C824D392 + sample 14: + time = 616979 + flags = 1 + data = length 418, hash C167D872 + sample 15: + time = 651809 + flags = 1 + data = length 418, hash 4221C855 + sample 16: + time = 687000 + flags = 1 + data = length 418, hash 4D4FF934 + sample 17: + time = 721829 + flags = 1 + data = length 418, hash 984AA025 + sample 18: + time = 756659 + flags = 1 + data = length 418, hash BB788B46 + sample 19: + time = 791489 + flags = 1 + data = length 418, hash 9EFBFD97 + sample 20: + time = 826319 + flags = 1 + data = length 418, hash DF1A460C + sample 21: + time = 861149 + flags = 1 + data = length 418, hash 2BDB56A + sample 22: + time = 895979 + flags = 1 + data = length 418, hash CA230060 + sample 23: + time = 930809 + flags = 1 + data = length 418, hash D2F19F41 + sample 24: + time = 965000 + flags = 1 + data = length 418, hash AF392D79 + sample 25: + time = 999829 + flags = 1 + data = length 418, hash C5D7F2A3 + sample 26: + time = 1034659 + flags = 1 + data = length 418, hash 733A35AE + sample 27: + time = 1069489 + flags = 1 + data = length 418, hash DE46E5D3 + sample 28: + time = 1104319 + flags = 1 + data = length 418, hash 56AB8D37 +track 3: + total output bytes = 215 + sample count = 3 + format 0: + id = 3 + sampleMimeType = application/x-subrip + selectionFlags = 1 + language = und + sample 0: + time = 100000 + flags = 1 + data = length 68, hash 426935FB + sample 1: + time = 150000 + flags = 1 + data = length 73, hash D923EBF7 + sample 2: + time = 200000 + flags = 1 + data = length 74, hash 34E0AB33 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_srt.mkv.2.dump b/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_srt.mkv.2.dump new file mode 100644 index 00000000000..9b1477a5d03 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_srt.mkv.2.dump @@ -0,0 +1,289 @@ +seekMap: + isSeekable = true + duration = 1072000 + getPosition(0) = [[timeUs=67000, position=5679]] + getPosition(1) = [[timeUs=67000, position=5679]] + getPosition(536000) = [[timeUs=200000, position=5679]] + getPosition(1072000) = [[timeUs=200000, position=5679]] +numberOfTracks = 3 +track 1: + total output bytes = 89502 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.640034 + width = 1080 + height = 720 + selectionFlags = 1 + language = und + initializationData: + data = length 30, hash F6F3D010 + data = length 10, hash 7A0D0F2B + sample 0: + time = 67000 + flags = 1 + data = length 36477, hash F0F36CFE + sample 1: + time = 134000 + flags = 0 + data = length 5341, hash 40B85E2 + sample 2: + time = 100000 + flags = 0 + data = length 596, hash 357B4D92 + sample 3: + time = 267000 + flags = 0 + data = length 7704, hash A39EDA06 + sample 4: + time = 200000 + flags = 0 + data = length 989, hash 2813C72D + sample 5: + time = 167000 + flags = 0 + data = length 721, hash C50D1C73 + sample 6: + time = 234000 + flags = 0 + data = length 519, hash 65FE1911 + sample 7: + time = 400000 + flags = 0 + data = length 6160, hash E1CAC0EC + sample 8: + time = 334000 + flags = 0 + data = length 953, hash 7160C661 + sample 9: + time = 300000 + flags = 0 + data = length 620, hash 7A7AE07C + sample 10: + time = 367000 + flags = 0 + data = length 405, hash 5CC7F4E7 + sample 11: + time = 500000 + flags = 0 + data = length 4852, hash 9DB6979D + sample 12: + time = 467000 + flags = 0 + data = length 547, hash E31A6979 + sample 13: + time = 434000 + flags = 0 + data = length 570, hash FEC40D00 + sample 14: + time = 634000 + flags = 0 + data = length 5525, hash 7C478F7E + sample 15: + time = 567000 + flags = 0 + data = length 1082, hash DA07059A + sample 16: + time = 534000 + flags = 0 + data = length 807, hash 93478E6B + sample 17: + time = 600000 + flags = 0 + data = length 744, hash 9A8E6026 + sample 18: + time = 767000 + flags = 0 + data = length 4732, hash C73B23C0 + sample 19: + time = 700000 + flags = 0 + data = length 1004, hash 8A19A228 + sample 20: + time = 667000 + flags = 0 + data = length 794, hash 8126022C + sample 21: + time = 734000 + flags = 0 + data = length 645, hash F08300E5 + sample 22: + time = 900000 + flags = 0 + data = length 2684, hash 727FE378 + sample 23: + time = 834000 + flags = 0 + data = length 787, hash 419A7821 + sample 24: + time = 800000 + flags = 0 + data = length 649, hash 5C159346 + sample 25: + time = 867000 + flags = 0 + data = length 509, hash F912D655 + sample 26: + time = 1034000 + flags = 0 + data = length 1226, hash 29815C21 + sample 27: + time = 967000 + flags = 0 + data = length 898, hash D997AD0A + sample 28: + time = 934000 + flags = 0 + data = length 476, hash A0423645 + sample 29: + time = 1000000 + flags = 0 + data = length 486, hash DDF32CBB +track 2: + total output bytes = 12120 + sample count = 29 + format 0: + id = 2 + sampleMimeType = audio/ac3 + channelCount = 1 + sampleRate = 44100 + selectionFlags = 1 + language = und + sample 0: + time = 129000 + flags = 1 + data = length 416, hash 211F2286 + sample 1: + time = 163829 + flags = 1 + data = length 418, hash 77425A86 + sample 2: + time = 198659 + flags = 1 + data = length 418, hash A0FE5CA1 + sample 3: + time = 233489 + flags = 1 + data = length 418, hash 2309B066 + sample 4: + time = 268319 + flags = 1 + data = length 418, hash 928A653B + sample 5: + time = 303149 + flags = 1 + data = length 418, hash 3422F0CB + sample 6: + time = 337979 + flags = 1 + data = length 418, hash EFF43D5B + sample 7: + time = 372809 + flags = 1 + data = length 418, hash FC8093C7 + sample 8: + time = 408000 + flags = 1 + data = length 418, hash CCC08A16 + sample 9: + time = 442829 + flags = 1 + data = length 418, hash 2A6EE863 + sample 10: + time = 477659 + flags = 1 + data = length 418, hash D69A9251 + sample 11: + time = 512489 + flags = 1 + data = length 418, hash BCFB758D + sample 12: + time = 547319 + flags = 1 + data = length 418, hash 11B66799 + sample 13: + time = 582149 + flags = 1 + data = length 418, hash C824D392 + sample 14: + time = 616979 + flags = 1 + data = length 418, hash C167D872 + sample 15: + time = 651809 + flags = 1 + data = length 418, hash 4221C855 + sample 16: + time = 687000 + flags = 1 + data = length 418, hash 4D4FF934 + sample 17: + time = 721829 + flags = 1 + data = length 418, hash 984AA025 + sample 18: + time = 756659 + flags = 1 + data = length 418, hash BB788B46 + sample 19: + time = 791489 + flags = 1 + data = length 418, hash 9EFBFD97 + sample 20: + time = 826319 + flags = 1 + data = length 418, hash DF1A460C + sample 21: + time = 861149 + flags = 1 + data = length 418, hash 2BDB56A + sample 22: + time = 895979 + flags = 1 + data = length 418, hash CA230060 + sample 23: + time = 930809 + flags = 1 + data = length 418, hash D2F19F41 + sample 24: + time = 965000 + flags = 1 + data = length 418, hash AF392D79 + sample 25: + time = 999829 + flags = 1 + data = length 418, hash C5D7F2A3 + sample 26: + time = 1034659 + flags = 1 + data = length 418, hash 733A35AE + sample 27: + time = 1069489 + flags = 1 + data = length 418, hash DE46E5D3 + sample 28: + time = 1104319 + flags = 1 + data = length 418, hash 56AB8D37 +track 3: + total output bytes = 215 + sample count = 3 + format 0: + id = 3 + sampleMimeType = application/x-subrip + selectionFlags = 1 + language = und + sample 0: + time = 100000 + flags = 1 + data = length 68, hash 426935FB + sample 1: + time = 150000 + flags = 1 + data = length 73, hash D923EBF7 + sample 2: + time = 200000 + flags = 1 + data = length 74, hash 34E0AB33 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_srt.mkv.3.dump b/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_srt.mkv.3.dump new file mode 100644 index 00000000000..9b1477a5d03 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_srt.mkv.3.dump @@ -0,0 +1,289 @@ +seekMap: + isSeekable = true + duration = 1072000 + getPosition(0) = [[timeUs=67000, position=5679]] + getPosition(1) = [[timeUs=67000, position=5679]] + getPosition(536000) = [[timeUs=200000, position=5679]] + getPosition(1072000) = [[timeUs=200000, position=5679]] +numberOfTracks = 3 +track 1: + total output bytes = 89502 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.640034 + width = 1080 + height = 720 + selectionFlags = 1 + language = und + initializationData: + data = length 30, hash F6F3D010 + data = length 10, hash 7A0D0F2B + sample 0: + time = 67000 + flags = 1 + data = length 36477, hash F0F36CFE + sample 1: + time = 134000 + flags = 0 + data = length 5341, hash 40B85E2 + sample 2: + time = 100000 + flags = 0 + data = length 596, hash 357B4D92 + sample 3: + time = 267000 + flags = 0 + data = length 7704, hash A39EDA06 + sample 4: + time = 200000 + flags = 0 + data = length 989, hash 2813C72D + sample 5: + time = 167000 + flags = 0 + data = length 721, hash C50D1C73 + sample 6: + time = 234000 + flags = 0 + data = length 519, hash 65FE1911 + sample 7: + time = 400000 + flags = 0 + data = length 6160, hash E1CAC0EC + sample 8: + time = 334000 + flags = 0 + data = length 953, hash 7160C661 + sample 9: + time = 300000 + flags = 0 + data = length 620, hash 7A7AE07C + sample 10: + time = 367000 + flags = 0 + data = length 405, hash 5CC7F4E7 + sample 11: + time = 500000 + flags = 0 + data = length 4852, hash 9DB6979D + sample 12: + time = 467000 + flags = 0 + data = length 547, hash E31A6979 + sample 13: + time = 434000 + flags = 0 + data = length 570, hash FEC40D00 + sample 14: + time = 634000 + flags = 0 + data = length 5525, hash 7C478F7E + sample 15: + time = 567000 + flags = 0 + data = length 1082, hash DA07059A + sample 16: + time = 534000 + flags = 0 + data = length 807, hash 93478E6B + sample 17: + time = 600000 + flags = 0 + data = length 744, hash 9A8E6026 + sample 18: + time = 767000 + flags = 0 + data = length 4732, hash C73B23C0 + sample 19: + time = 700000 + flags = 0 + data = length 1004, hash 8A19A228 + sample 20: + time = 667000 + flags = 0 + data = length 794, hash 8126022C + sample 21: + time = 734000 + flags = 0 + data = length 645, hash F08300E5 + sample 22: + time = 900000 + flags = 0 + data = length 2684, hash 727FE378 + sample 23: + time = 834000 + flags = 0 + data = length 787, hash 419A7821 + sample 24: + time = 800000 + flags = 0 + data = length 649, hash 5C159346 + sample 25: + time = 867000 + flags = 0 + data = length 509, hash F912D655 + sample 26: + time = 1034000 + flags = 0 + data = length 1226, hash 29815C21 + sample 27: + time = 967000 + flags = 0 + data = length 898, hash D997AD0A + sample 28: + time = 934000 + flags = 0 + data = length 476, hash A0423645 + sample 29: + time = 1000000 + flags = 0 + data = length 486, hash DDF32CBB +track 2: + total output bytes = 12120 + sample count = 29 + format 0: + id = 2 + sampleMimeType = audio/ac3 + channelCount = 1 + sampleRate = 44100 + selectionFlags = 1 + language = und + sample 0: + time = 129000 + flags = 1 + data = length 416, hash 211F2286 + sample 1: + time = 163829 + flags = 1 + data = length 418, hash 77425A86 + sample 2: + time = 198659 + flags = 1 + data = length 418, hash A0FE5CA1 + sample 3: + time = 233489 + flags = 1 + data = length 418, hash 2309B066 + sample 4: + time = 268319 + flags = 1 + data = length 418, hash 928A653B + sample 5: + time = 303149 + flags = 1 + data = length 418, hash 3422F0CB + sample 6: + time = 337979 + flags = 1 + data = length 418, hash EFF43D5B + sample 7: + time = 372809 + flags = 1 + data = length 418, hash FC8093C7 + sample 8: + time = 408000 + flags = 1 + data = length 418, hash CCC08A16 + sample 9: + time = 442829 + flags = 1 + data = length 418, hash 2A6EE863 + sample 10: + time = 477659 + flags = 1 + data = length 418, hash D69A9251 + sample 11: + time = 512489 + flags = 1 + data = length 418, hash BCFB758D + sample 12: + time = 547319 + flags = 1 + data = length 418, hash 11B66799 + sample 13: + time = 582149 + flags = 1 + data = length 418, hash C824D392 + sample 14: + time = 616979 + flags = 1 + data = length 418, hash C167D872 + sample 15: + time = 651809 + flags = 1 + data = length 418, hash 4221C855 + sample 16: + time = 687000 + flags = 1 + data = length 418, hash 4D4FF934 + sample 17: + time = 721829 + flags = 1 + data = length 418, hash 984AA025 + sample 18: + time = 756659 + flags = 1 + data = length 418, hash BB788B46 + sample 19: + time = 791489 + flags = 1 + data = length 418, hash 9EFBFD97 + sample 20: + time = 826319 + flags = 1 + data = length 418, hash DF1A460C + sample 21: + time = 861149 + flags = 1 + data = length 418, hash 2BDB56A + sample 22: + time = 895979 + flags = 1 + data = length 418, hash CA230060 + sample 23: + time = 930809 + flags = 1 + data = length 418, hash D2F19F41 + sample 24: + time = 965000 + flags = 1 + data = length 418, hash AF392D79 + sample 25: + time = 999829 + flags = 1 + data = length 418, hash C5D7F2A3 + sample 26: + time = 1034659 + flags = 1 + data = length 418, hash 733A35AE + sample 27: + time = 1069489 + flags = 1 + data = length 418, hash DE46E5D3 + sample 28: + time = 1104319 + flags = 1 + data = length 418, hash 56AB8D37 +track 3: + total output bytes = 215 + sample count = 3 + format 0: + id = 3 + sampleMimeType = application/x-subrip + selectionFlags = 1 + language = und + sample 0: + time = 100000 + flags = 1 + data = length 68, hash 426935FB + sample 1: + time = 150000 + flags = 1 + data = length 73, hash D923EBF7 + sample 2: + time = 200000 + flags = 1 + data = length 74, hash 34E0AB33 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_srt.mkv.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_srt.mkv.unknown_length.dump new file mode 100644 index 00000000000..9b1477a5d03 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_srt.mkv.unknown_length.dump @@ -0,0 +1,289 @@ +seekMap: + isSeekable = true + duration = 1072000 + getPosition(0) = [[timeUs=67000, position=5679]] + getPosition(1) = [[timeUs=67000, position=5679]] + getPosition(536000) = [[timeUs=200000, position=5679]] + getPosition(1072000) = [[timeUs=200000, position=5679]] +numberOfTracks = 3 +track 1: + total output bytes = 89502 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.640034 + width = 1080 + height = 720 + selectionFlags = 1 + language = und + initializationData: + data = length 30, hash F6F3D010 + data = length 10, hash 7A0D0F2B + sample 0: + time = 67000 + flags = 1 + data = length 36477, hash F0F36CFE + sample 1: + time = 134000 + flags = 0 + data = length 5341, hash 40B85E2 + sample 2: + time = 100000 + flags = 0 + data = length 596, hash 357B4D92 + sample 3: + time = 267000 + flags = 0 + data = length 7704, hash A39EDA06 + sample 4: + time = 200000 + flags = 0 + data = length 989, hash 2813C72D + sample 5: + time = 167000 + flags = 0 + data = length 721, hash C50D1C73 + sample 6: + time = 234000 + flags = 0 + data = length 519, hash 65FE1911 + sample 7: + time = 400000 + flags = 0 + data = length 6160, hash E1CAC0EC + sample 8: + time = 334000 + flags = 0 + data = length 953, hash 7160C661 + sample 9: + time = 300000 + flags = 0 + data = length 620, hash 7A7AE07C + sample 10: + time = 367000 + flags = 0 + data = length 405, hash 5CC7F4E7 + sample 11: + time = 500000 + flags = 0 + data = length 4852, hash 9DB6979D + sample 12: + time = 467000 + flags = 0 + data = length 547, hash E31A6979 + sample 13: + time = 434000 + flags = 0 + data = length 570, hash FEC40D00 + sample 14: + time = 634000 + flags = 0 + data = length 5525, hash 7C478F7E + sample 15: + time = 567000 + flags = 0 + data = length 1082, hash DA07059A + sample 16: + time = 534000 + flags = 0 + data = length 807, hash 93478E6B + sample 17: + time = 600000 + flags = 0 + data = length 744, hash 9A8E6026 + sample 18: + time = 767000 + flags = 0 + data = length 4732, hash C73B23C0 + sample 19: + time = 700000 + flags = 0 + data = length 1004, hash 8A19A228 + sample 20: + time = 667000 + flags = 0 + data = length 794, hash 8126022C + sample 21: + time = 734000 + flags = 0 + data = length 645, hash F08300E5 + sample 22: + time = 900000 + flags = 0 + data = length 2684, hash 727FE378 + sample 23: + time = 834000 + flags = 0 + data = length 787, hash 419A7821 + sample 24: + time = 800000 + flags = 0 + data = length 649, hash 5C159346 + sample 25: + time = 867000 + flags = 0 + data = length 509, hash F912D655 + sample 26: + time = 1034000 + flags = 0 + data = length 1226, hash 29815C21 + sample 27: + time = 967000 + flags = 0 + data = length 898, hash D997AD0A + sample 28: + time = 934000 + flags = 0 + data = length 476, hash A0423645 + sample 29: + time = 1000000 + flags = 0 + data = length 486, hash DDF32CBB +track 2: + total output bytes = 12120 + sample count = 29 + format 0: + id = 2 + sampleMimeType = audio/ac3 + channelCount = 1 + sampleRate = 44100 + selectionFlags = 1 + language = und + sample 0: + time = 129000 + flags = 1 + data = length 416, hash 211F2286 + sample 1: + time = 163829 + flags = 1 + data = length 418, hash 77425A86 + sample 2: + time = 198659 + flags = 1 + data = length 418, hash A0FE5CA1 + sample 3: + time = 233489 + flags = 1 + data = length 418, hash 2309B066 + sample 4: + time = 268319 + flags = 1 + data = length 418, hash 928A653B + sample 5: + time = 303149 + flags = 1 + data = length 418, hash 3422F0CB + sample 6: + time = 337979 + flags = 1 + data = length 418, hash EFF43D5B + sample 7: + time = 372809 + flags = 1 + data = length 418, hash FC8093C7 + sample 8: + time = 408000 + flags = 1 + data = length 418, hash CCC08A16 + sample 9: + time = 442829 + flags = 1 + data = length 418, hash 2A6EE863 + sample 10: + time = 477659 + flags = 1 + data = length 418, hash D69A9251 + sample 11: + time = 512489 + flags = 1 + data = length 418, hash BCFB758D + sample 12: + time = 547319 + flags = 1 + data = length 418, hash 11B66799 + sample 13: + time = 582149 + flags = 1 + data = length 418, hash C824D392 + sample 14: + time = 616979 + flags = 1 + data = length 418, hash C167D872 + sample 15: + time = 651809 + flags = 1 + data = length 418, hash 4221C855 + sample 16: + time = 687000 + flags = 1 + data = length 418, hash 4D4FF934 + sample 17: + time = 721829 + flags = 1 + data = length 418, hash 984AA025 + sample 18: + time = 756659 + flags = 1 + data = length 418, hash BB788B46 + sample 19: + time = 791489 + flags = 1 + data = length 418, hash 9EFBFD97 + sample 20: + time = 826319 + flags = 1 + data = length 418, hash DF1A460C + sample 21: + time = 861149 + flags = 1 + data = length 418, hash 2BDB56A + sample 22: + time = 895979 + flags = 1 + data = length 418, hash CA230060 + sample 23: + time = 930809 + flags = 1 + data = length 418, hash D2F19F41 + sample 24: + time = 965000 + flags = 1 + data = length 418, hash AF392D79 + sample 25: + time = 999829 + flags = 1 + data = length 418, hash C5D7F2A3 + sample 26: + time = 1034659 + flags = 1 + data = length 418, hash 733A35AE + sample 27: + time = 1069489 + flags = 1 + data = length 418, hash DE46E5D3 + sample 28: + time = 1104319 + flags = 1 + data = length 418, hash 56AB8D37 +track 3: + total output bytes = 215 + sample count = 3 + format 0: + id = 3 + sampleMimeType = application/x-subrip + selectionFlags = 1 + language = und + sample 0: + time = 100000 + flags = 1 + data = length 68, hash 426935FB + sample 1: + time = 150000 + flags = 1 + data = length 73, hash D923EBF7 + sample 2: + time = 200000 + flags = 1 + data = length 74, hash 34E0AB33 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_ssa_subtitles.mkv.0.dump b/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_ssa_subtitles.mkv.0.dump new file mode 100644 index 00000000000..2dee994ce7f --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_ssa_subtitles.mkv.0.dump @@ -0,0 +1,292 @@ +seekMap: + isSeekable = true + duration = 1072000 + getPosition(0) = [[timeUs=67000, position=5775]] + getPosition(1) = [[timeUs=67000, position=5775]] + getPosition(536000) = [[timeUs=200000, position=5775]] + getPosition(1072000) = [[timeUs=200000, position=5775]] +numberOfTracks = 3 +track 1: + total output bytes = 89502 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.640034 + width = 1080 + height = 720 + selectionFlags = 1 + language = und + initializationData: + data = length 30, hash F6F3D010 + data = length 10, hash 7A0D0F2B + sample 0: + time = 67000 + flags = 1 + data = length 36477, hash F0F36CFE + sample 1: + time = 134000 + flags = 0 + data = length 5341, hash 40B85E2 + sample 2: + time = 100000 + flags = 0 + data = length 596, hash 357B4D92 + sample 3: + time = 267000 + flags = 0 + data = length 7704, hash A39EDA06 + sample 4: + time = 200000 + flags = 0 + data = length 989, hash 2813C72D + sample 5: + time = 167000 + flags = 0 + data = length 721, hash C50D1C73 + sample 6: + time = 234000 + flags = 0 + data = length 519, hash 65FE1911 + sample 7: + time = 400000 + flags = 0 + data = length 6160, hash E1CAC0EC + sample 8: + time = 334000 + flags = 0 + data = length 953, hash 7160C661 + sample 9: + time = 300000 + flags = 0 + data = length 620, hash 7A7AE07C + sample 10: + time = 367000 + flags = 0 + data = length 405, hash 5CC7F4E7 + sample 11: + time = 500000 + flags = 0 + data = length 4852, hash 9DB6979D + sample 12: + time = 467000 + flags = 0 + data = length 547, hash E31A6979 + sample 13: + time = 434000 + flags = 0 + data = length 570, hash FEC40D00 + sample 14: + time = 634000 + flags = 0 + data = length 5525, hash 7C478F7E + sample 15: + time = 567000 + flags = 0 + data = length 1082, hash DA07059A + sample 16: + time = 534000 + flags = 0 + data = length 807, hash 93478E6B + sample 17: + time = 600000 + flags = 0 + data = length 744, hash 9A8E6026 + sample 18: + time = 767000 + flags = 0 + data = length 4732, hash C73B23C0 + sample 19: + time = 700000 + flags = 0 + data = length 1004, hash 8A19A228 + sample 20: + time = 667000 + flags = 0 + data = length 794, hash 8126022C + sample 21: + time = 734000 + flags = 0 + data = length 645, hash F08300E5 + sample 22: + time = 900000 + flags = 0 + data = length 2684, hash 727FE378 + sample 23: + time = 834000 + flags = 0 + data = length 787, hash 419A7821 + sample 24: + time = 800000 + flags = 0 + data = length 649, hash 5C159346 + sample 25: + time = 867000 + flags = 0 + data = length 509, hash F912D655 + sample 26: + time = 1034000 + flags = 0 + data = length 1226, hash 29815C21 + sample 27: + time = 967000 + flags = 0 + data = length 898, hash D997AD0A + sample 28: + time = 934000 + flags = 0 + data = length 476, hash A0423645 + sample 29: + time = 1000000 + flags = 0 + data = length 486, hash DDF32CBB +track 2: + total output bytes = 12120 + sample count = 29 + format 0: + id = 2 + sampleMimeType = audio/ac3 + channelCount = 1 + sampleRate = 44100 + selectionFlags = 1 + language = und + sample 0: + time = 129000 + flags = 1 + data = length 416, hash 211F2286 + sample 1: + time = 163829 + flags = 1 + data = length 418, hash 77425A86 + sample 2: + time = 198659 + flags = 1 + data = length 418, hash A0FE5CA1 + sample 3: + time = 233489 + flags = 1 + data = length 418, hash 2309B066 + sample 4: + time = 268319 + flags = 1 + data = length 418, hash 928A653B + sample 5: + time = 303149 + flags = 1 + data = length 418, hash 3422F0CB + sample 6: + time = 337979 + flags = 1 + data = length 418, hash EFF43D5B + sample 7: + time = 372809 + flags = 1 + data = length 418, hash FC8093C7 + sample 8: + time = 408000 + flags = 1 + data = length 418, hash CCC08A16 + sample 9: + time = 442829 + flags = 1 + data = length 418, hash 2A6EE863 + sample 10: + time = 477659 + flags = 1 + data = length 418, hash D69A9251 + sample 11: + time = 512489 + flags = 1 + data = length 418, hash BCFB758D + sample 12: + time = 547319 + flags = 1 + data = length 418, hash 11B66799 + sample 13: + time = 582149 + flags = 1 + data = length 418, hash C824D392 + sample 14: + time = 616979 + flags = 1 + data = length 418, hash C167D872 + sample 15: + time = 651809 + flags = 1 + data = length 418, hash 4221C855 + sample 16: + time = 687000 + flags = 1 + data = length 418, hash 4D4FF934 + sample 17: + time = 721829 + flags = 1 + data = length 418, hash 984AA025 + sample 18: + time = 756659 + flags = 1 + data = length 418, hash BB788B46 + sample 19: + time = 791489 + flags = 1 + data = length 418, hash 9EFBFD97 + sample 20: + time = 826319 + flags = 1 + data = length 418, hash DF1A460C + sample 21: + time = 861149 + flags = 1 + data = length 418, hash 2BDB56A + sample 22: + time = 895979 + flags = 1 + data = length 418, hash CA230060 + sample 23: + time = 930809 + flags = 1 + data = length 418, hash D2F19F41 + sample 24: + time = 965000 + flags = 1 + data = length 418, hash AF392D79 + sample 25: + time = 999829 + flags = 1 + data = length 418, hash C5D7F2A3 + sample 26: + time = 1034659 + flags = 1 + data = length 418, hash 733A35AE + sample 27: + time = 1069489 + flags = 1 + data = length 418, hash DE46E5D3 + sample 28: + time = 1104319 + flags = 1 + data = length 418, hash 56AB8D37 +track 3: + total output bytes = 242 + sample count = 3 + format 0: + id = 3 + sampleMimeType = text/x-ssa + selectionFlags = 1 + language = und + initializationData: + data = length 90, hash A5E21974 + data = length 93, hash 48D1F6B7 + sample 0: + time = 100000 + flags = 1 + data = length 77, hash D184A98A + sample 1: + time = 150000 + flags = 1 + data = length 82, hash 3BFFF106 + sample 2: + time = 200000 + flags = 1 + data = length 83, hash E5B3F343 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_ssa_subtitles.mkv.1.dump b/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_ssa_subtitles.mkv.1.dump new file mode 100644 index 00000000000..2dee994ce7f --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_ssa_subtitles.mkv.1.dump @@ -0,0 +1,292 @@ +seekMap: + isSeekable = true + duration = 1072000 + getPosition(0) = [[timeUs=67000, position=5775]] + getPosition(1) = [[timeUs=67000, position=5775]] + getPosition(536000) = [[timeUs=200000, position=5775]] + getPosition(1072000) = [[timeUs=200000, position=5775]] +numberOfTracks = 3 +track 1: + total output bytes = 89502 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.640034 + width = 1080 + height = 720 + selectionFlags = 1 + language = und + initializationData: + data = length 30, hash F6F3D010 + data = length 10, hash 7A0D0F2B + sample 0: + time = 67000 + flags = 1 + data = length 36477, hash F0F36CFE + sample 1: + time = 134000 + flags = 0 + data = length 5341, hash 40B85E2 + sample 2: + time = 100000 + flags = 0 + data = length 596, hash 357B4D92 + sample 3: + time = 267000 + flags = 0 + data = length 7704, hash A39EDA06 + sample 4: + time = 200000 + flags = 0 + data = length 989, hash 2813C72D + sample 5: + time = 167000 + flags = 0 + data = length 721, hash C50D1C73 + sample 6: + time = 234000 + flags = 0 + data = length 519, hash 65FE1911 + sample 7: + time = 400000 + flags = 0 + data = length 6160, hash E1CAC0EC + sample 8: + time = 334000 + flags = 0 + data = length 953, hash 7160C661 + sample 9: + time = 300000 + flags = 0 + data = length 620, hash 7A7AE07C + sample 10: + time = 367000 + flags = 0 + data = length 405, hash 5CC7F4E7 + sample 11: + time = 500000 + flags = 0 + data = length 4852, hash 9DB6979D + sample 12: + time = 467000 + flags = 0 + data = length 547, hash E31A6979 + sample 13: + time = 434000 + flags = 0 + data = length 570, hash FEC40D00 + sample 14: + time = 634000 + flags = 0 + data = length 5525, hash 7C478F7E + sample 15: + time = 567000 + flags = 0 + data = length 1082, hash DA07059A + sample 16: + time = 534000 + flags = 0 + data = length 807, hash 93478E6B + sample 17: + time = 600000 + flags = 0 + data = length 744, hash 9A8E6026 + sample 18: + time = 767000 + flags = 0 + data = length 4732, hash C73B23C0 + sample 19: + time = 700000 + flags = 0 + data = length 1004, hash 8A19A228 + sample 20: + time = 667000 + flags = 0 + data = length 794, hash 8126022C + sample 21: + time = 734000 + flags = 0 + data = length 645, hash F08300E5 + sample 22: + time = 900000 + flags = 0 + data = length 2684, hash 727FE378 + sample 23: + time = 834000 + flags = 0 + data = length 787, hash 419A7821 + sample 24: + time = 800000 + flags = 0 + data = length 649, hash 5C159346 + sample 25: + time = 867000 + flags = 0 + data = length 509, hash F912D655 + sample 26: + time = 1034000 + flags = 0 + data = length 1226, hash 29815C21 + sample 27: + time = 967000 + flags = 0 + data = length 898, hash D997AD0A + sample 28: + time = 934000 + flags = 0 + data = length 476, hash A0423645 + sample 29: + time = 1000000 + flags = 0 + data = length 486, hash DDF32CBB +track 2: + total output bytes = 12120 + sample count = 29 + format 0: + id = 2 + sampleMimeType = audio/ac3 + channelCount = 1 + sampleRate = 44100 + selectionFlags = 1 + language = und + sample 0: + time = 129000 + flags = 1 + data = length 416, hash 211F2286 + sample 1: + time = 163829 + flags = 1 + data = length 418, hash 77425A86 + sample 2: + time = 198659 + flags = 1 + data = length 418, hash A0FE5CA1 + sample 3: + time = 233489 + flags = 1 + data = length 418, hash 2309B066 + sample 4: + time = 268319 + flags = 1 + data = length 418, hash 928A653B + sample 5: + time = 303149 + flags = 1 + data = length 418, hash 3422F0CB + sample 6: + time = 337979 + flags = 1 + data = length 418, hash EFF43D5B + sample 7: + time = 372809 + flags = 1 + data = length 418, hash FC8093C7 + sample 8: + time = 408000 + flags = 1 + data = length 418, hash CCC08A16 + sample 9: + time = 442829 + flags = 1 + data = length 418, hash 2A6EE863 + sample 10: + time = 477659 + flags = 1 + data = length 418, hash D69A9251 + sample 11: + time = 512489 + flags = 1 + data = length 418, hash BCFB758D + sample 12: + time = 547319 + flags = 1 + data = length 418, hash 11B66799 + sample 13: + time = 582149 + flags = 1 + data = length 418, hash C824D392 + sample 14: + time = 616979 + flags = 1 + data = length 418, hash C167D872 + sample 15: + time = 651809 + flags = 1 + data = length 418, hash 4221C855 + sample 16: + time = 687000 + flags = 1 + data = length 418, hash 4D4FF934 + sample 17: + time = 721829 + flags = 1 + data = length 418, hash 984AA025 + sample 18: + time = 756659 + flags = 1 + data = length 418, hash BB788B46 + sample 19: + time = 791489 + flags = 1 + data = length 418, hash 9EFBFD97 + sample 20: + time = 826319 + flags = 1 + data = length 418, hash DF1A460C + sample 21: + time = 861149 + flags = 1 + data = length 418, hash 2BDB56A + sample 22: + time = 895979 + flags = 1 + data = length 418, hash CA230060 + sample 23: + time = 930809 + flags = 1 + data = length 418, hash D2F19F41 + sample 24: + time = 965000 + flags = 1 + data = length 418, hash AF392D79 + sample 25: + time = 999829 + flags = 1 + data = length 418, hash C5D7F2A3 + sample 26: + time = 1034659 + flags = 1 + data = length 418, hash 733A35AE + sample 27: + time = 1069489 + flags = 1 + data = length 418, hash DE46E5D3 + sample 28: + time = 1104319 + flags = 1 + data = length 418, hash 56AB8D37 +track 3: + total output bytes = 242 + sample count = 3 + format 0: + id = 3 + sampleMimeType = text/x-ssa + selectionFlags = 1 + language = und + initializationData: + data = length 90, hash A5E21974 + data = length 93, hash 48D1F6B7 + sample 0: + time = 100000 + flags = 1 + data = length 77, hash D184A98A + sample 1: + time = 150000 + flags = 1 + data = length 82, hash 3BFFF106 + sample 2: + time = 200000 + flags = 1 + data = length 83, hash E5B3F343 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_ssa_subtitles.mkv.2.dump b/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_ssa_subtitles.mkv.2.dump new file mode 100644 index 00000000000..2dee994ce7f --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_ssa_subtitles.mkv.2.dump @@ -0,0 +1,292 @@ +seekMap: + isSeekable = true + duration = 1072000 + getPosition(0) = [[timeUs=67000, position=5775]] + getPosition(1) = [[timeUs=67000, position=5775]] + getPosition(536000) = [[timeUs=200000, position=5775]] + getPosition(1072000) = [[timeUs=200000, position=5775]] +numberOfTracks = 3 +track 1: + total output bytes = 89502 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.640034 + width = 1080 + height = 720 + selectionFlags = 1 + language = und + initializationData: + data = length 30, hash F6F3D010 + data = length 10, hash 7A0D0F2B + sample 0: + time = 67000 + flags = 1 + data = length 36477, hash F0F36CFE + sample 1: + time = 134000 + flags = 0 + data = length 5341, hash 40B85E2 + sample 2: + time = 100000 + flags = 0 + data = length 596, hash 357B4D92 + sample 3: + time = 267000 + flags = 0 + data = length 7704, hash A39EDA06 + sample 4: + time = 200000 + flags = 0 + data = length 989, hash 2813C72D + sample 5: + time = 167000 + flags = 0 + data = length 721, hash C50D1C73 + sample 6: + time = 234000 + flags = 0 + data = length 519, hash 65FE1911 + sample 7: + time = 400000 + flags = 0 + data = length 6160, hash E1CAC0EC + sample 8: + time = 334000 + flags = 0 + data = length 953, hash 7160C661 + sample 9: + time = 300000 + flags = 0 + data = length 620, hash 7A7AE07C + sample 10: + time = 367000 + flags = 0 + data = length 405, hash 5CC7F4E7 + sample 11: + time = 500000 + flags = 0 + data = length 4852, hash 9DB6979D + sample 12: + time = 467000 + flags = 0 + data = length 547, hash E31A6979 + sample 13: + time = 434000 + flags = 0 + data = length 570, hash FEC40D00 + sample 14: + time = 634000 + flags = 0 + data = length 5525, hash 7C478F7E + sample 15: + time = 567000 + flags = 0 + data = length 1082, hash DA07059A + sample 16: + time = 534000 + flags = 0 + data = length 807, hash 93478E6B + sample 17: + time = 600000 + flags = 0 + data = length 744, hash 9A8E6026 + sample 18: + time = 767000 + flags = 0 + data = length 4732, hash C73B23C0 + sample 19: + time = 700000 + flags = 0 + data = length 1004, hash 8A19A228 + sample 20: + time = 667000 + flags = 0 + data = length 794, hash 8126022C + sample 21: + time = 734000 + flags = 0 + data = length 645, hash F08300E5 + sample 22: + time = 900000 + flags = 0 + data = length 2684, hash 727FE378 + sample 23: + time = 834000 + flags = 0 + data = length 787, hash 419A7821 + sample 24: + time = 800000 + flags = 0 + data = length 649, hash 5C159346 + sample 25: + time = 867000 + flags = 0 + data = length 509, hash F912D655 + sample 26: + time = 1034000 + flags = 0 + data = length 1226, hash 29815C21 + sample 27: + time = 967000 + flags = 0 + data = length 898, hash D997AD0A + sample 28: + time = 934000 + flags = 0 + data = length 476, hash A0423645 + sample 29: + time = 1000000 + flags = 0 + data = length 486, hash DDF32CBB +track 2: + total output bytes = 12120 + sample count = 29 + format 0: + id = 2 + sampleMimeType = audio/ac3 + channelCount = 1 + sampleRate = 44100 + selectionFlags = 1 + language = und + sample 0: + time = 129000 + flags = 1 + data = length 416, hash 211F2286 + sample 1: + time = 163829 + flags = 1 + data = length 418, hash 77425A86 + sample 2: + time = 198659 + flags = 1 + data = length 418, hash A0FE5CA1 + sample 3: + time = 233489 + flags = 1 + data = length 418, hash 2309B066 + sample 4: + time = 268319 + flags = 1 + data = length 418, hash 928A653B + sample 5: + time = 303149 + flags = 1 + data = length 418, hash 3422F0CB + sample 6: + time = 337979 + flags = 1 + data = length 418, hash EFF43D5B + sample 7: + time = 372809 + flags = 1 + data = length 418, hash FC8093C7 + sample 8: + time = 408000 + flags = 1 + data = length 418, hash CCC08A16 + sample 9: + time = 442829 + flags = 1 + data = length 418, hash 2A6EE863 + sample 10: + time = 477659 + flags = 1 + data = length 418, hash D69A9251 + sample 11: + time = 512489 + flags = 1 + data = length 418, hash BCFB758D + sample 12: + time = 547319 + flags = 1 + data = length 418, hash 11B66799 + sample 13: + time = 582149 + flags = 1 + data = length 418, hash C824D392 + sample 14: + time = 616979 + flags = 1 + data = length 418, hash C167D872 + sample 15: + time = 651809 + flags = 1 + data = length 418, hash 4221C855 + sample 16: + time = 687000 + flags = 1 + data = length 418, hash 4D4FF934 + sample 17: + time = 721829 + flags = 1 + data = length 418, hash 984AA025 + sample 18: + time = 756659 + flags = 1 + data = length 418, hash BB788B46 + sample 19: + time = 791489 + flags = 1 + data = length 418, hash 9EFBFD97 + sample 20: + time = 826319 + flags = 1 + data = length 418, hash DF1A460C + sample 21: + time = 861149 + flags = 1 + data = length 418, hash 2BDB56A + sample 22: + time = 895979 + flags = 1 + data = length 418, hash CA230060 + sample 23: + time = 930809 + flags = 1 + data = length 418, hash D2F19F41 + sample 24: + time = 965000 + flags = 1 + data = length 418, hash AF392D79 + sample 25: + time = 999829 + flags = 1 + data = length 418, hash C5D7F2A3 + sample 26: + time = 1034659 + flags = 1 + data = length 418, hash 733A35AE + sample 27: + time = 1069489 + flags = 1 + data = length 418, hash DE46E5D3 + sample 28: + time = 1104319 + flags = 1 + data = length 418, hash 56AB8D37 +track 3: + total output bytes = 242 + sample count = 3 + format 0: + id = 3 + sampleMimeType = text/x-ssa + selectionFlags = 1 + language = und + initializationData: + data = length 90, hash A5E21974 + data = length 93, hash 48D1F6B7 + sample 0: + time = 100000 + flags = 1 + data = length 77, hash D184A98A + sample 1: + time = 150000 + flags = 1 + data = length 82, hash 3BFFF106 + sample 2: + time = 200000 + flags = 1 + data = length 83, hash E5B3F343 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_ssa_subtitles.mkv.3.dump b/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_ssa_subtitles.mkv.3.dump new file mode 100644 index 00000000000..2dee994ce7f --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_ssa_subtitles.mkv.3.dump @@ -0,0 +1,292 @@ +seekMap: + isSeekable = true + duration = 1072000 + getPosition(0) = [[timeUs=67000, position=5775]] + getPosition(1) = [[timeUs=67000, position=5775]] + getPosition(536000) = [[timeUs=200000, position=5775]] + getPosition(1072000) = [[timeUs=200000, position=5775]] +numberOfTracks = 3 +track 1: + total output bytes = 89502 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.640034 + width = 1080 + height = 720 + selectionFlags = 1 + language = und + initializationData: + data = length 30, hash F6F3D010 + data = length 10, hash 7A0D0F2B + sample 0: + time = 67000 + flags = 1 + data = length 36477, hash F0F36CFE + sample 1: + time = 134000 + flags = 0 + data = length 5341, hash 40B85E2 + sample 2: + time = 100000 + flags = 0 + data = length 596, hash 357B4D92 + sample 3: + time = 267000 + flags = 0 + data = length 7704, hash A39EDA06 + sample 4: + time = 200000 + flags = 0 + data = length 989, hash 2813C72D + sample 5: + time = 167000 + flags = 0 + data = length 721, hash C50D1C73 + sample 6: + time = 234000 + flags = 0 + data = length 519, hash 65FE1911 + sample 7: + time = 400000 + flags = 0 + data = length 6160, hash E1CAC0EC + sample 8: + time = 334000 + flags = 0 + data = length 953, hash 7160C661 + sample 9: + time = 300000 + flags = 0 + data = length 620, hash 7A7AE07C + sample 10: + time = 367000 + flags = 0 + data = length 405, hash 5CC7F4E7 + sample 11: + time = 500000 + flags = 0 + data = length 4852, hash 9DB6979D + sample 12: + time = 467000 + flags = 0 + data = length 547, hash E31A6979 + sample 13: + time = 434000 + flags = 0 + data = length 570, hash FEC40D00 + sample 14: + time = 634000 + flags = 0 + data = length 5525, hash 7C478F7E + sample 15: + time = 567000 + flags = 0 + data = length 1082, hash DA07059A + sample 16: + time = 534000 + flags = 0 + data = length 807, hash 93478E6B + sample 17: + time = 600000 + flags = 0 + data = length 744, hash 9A8E6026 + sample 18: + time = 767000 + flags = 0 + data = length 4732, hash C73B23C0 + sample 19: + time = 700000 + flags = 0 + data = length 1004, hash 8A19A228 + sample 20: + time = 667000 + flags = 0 + data = length 794, hash 8126022C + sample 21: + time = 734000 + flags = 0 + data = length 645, hash F08300E5 + sample 22: + time = 900000 + flags = 0 + data = length 2684, hash 727FE378 + sample 23: + time = 834000 + flags = 0 + data = length 787, hash 419A7821 + sample 24: + time = 800000 + flags = 0 + data = length 649, hash 5C159346 + sample 25: + time = 867000 + flags = 0 + data = length 509, hash F912D655 + sample 26: + time = 1034000 + flags = 0 + data = length 1226, hash 29815C21 + sample 27: + time = 967000 + flags = 0 + data = length 898, hash D997AD0A + sample 28: + time = 934000 + flags = 0 + data = length 476, hash A0423645 + sample 29: + time = 1000000 + flags = 0 + data = length 486, hash DDF32CBB +track 2: + total output bytes = 12120 + sample count = 29 + format 0: + id = 2 + sampleMimeType = audio/ac3 + channelCount = 1 + sampleRate = 44100 + selectionFlags = 1 + language = und + sample 0: + time = 129000 + flags = 1 + data = length 416, hash 211F2286 + sample 1: + time = 163829 + flags = 1 + data = length 418, hash 77425A86 + sample 2: + time = 198659 + flags = 1 + data = length 418, hash A0FE5CA1 + sample 3: + time = 233489 + flags = 1 + data = length 418, hash 2309B066 + sample 4: + time = 268319 + flags = 1 + data = length 418, hash 928A653B + sample 5: + time = 303149 + flags = 1 + data = length 418, hash 3422F0CB + sample 6: + time = 337979 + flags = 1 + data = length 418, hash EFF43D5B + sample 7: + time = 372809 + flags = 1 + data = length 418, hash FC8093C7 + sample 8: + time = 408000 + flags = 1 + data = length 418, hash CCC08A16 + sample 9: + time = 442829 + flags = 1 + data = length 418, hash 2A6EE863 + sample 10: + time = 477659 + flags = 1 + data = length 418, hash D69A9251 + sample 11: + time = 512489 + flags = 1 + data = length 418, hash BCFB758D + sample 12: + time = 547319 + flags = 1 + data = length 418, hash 11B66799 + sample 13: + time = 582149 + flags = 1 + data = length 418, hash C824D392 + sample 14: + time = 616979 + flags = 1 + data = length 418, hash C167D872 + sample 15: + time = 651809 + flags = 1 + data = length 418, hash 4221C855 + sample 16: + time = 687000 + flags = 1 + data = length 418, hash 4D4FF934 + sample 17: + time = 721829 + flags = 1 + data = length 418, hash 984AA025 + sample 18: + time = 756659 + flags = 1 + data = length 418, hash BB788B46 + sample 19: + time = 791489 + flags = 1 + data = length 418, hash 9EFBFD97 + sample 20: + time = 826319 + flags = 1 + data = length 418, hash DF1A460C + sample 21: + time = 861149 + flags = 1 + data = length 418, hash 2BDB56A + sample 22: + time = 895979 + flags = 1 + data = length 418, hash CA230060 + sample 23: + time = 930809 + flags = 1 + data = length 418, hash D2F19F41 + sample 24: + time = 965000 + flags = 1 + data = length 418, hash AF392D79 + sample 25: + time = 999829 + flags = 1 + data = length 418, hash C5D7F2A3 + sample 26: + time = 1034659 + flags = 1 + data = length 418, hash 733A35AE + sample 27: + time = 1069489 + flags = 1 + data = length 418, hash DE46E5D3 + sample 28: + time = 1104319 + flags = 1 + data = length 418, hash 56AB8D37 +track 3: + total output bytes = 242 + sample count = 3 + format 0: + id = 3 + sampleMimeType = text/x-ssa + selectionFlags = 1 + language = und + initializationData: + data = length 90, hash A5E21974 + data = length 93, hash 48D1F6B7 + sample 0: + time = 100000 + flags = 1 + data = length 77, hash D184A98A + sample 1: + time = 150000 + flags = 1 + data = length 82, hash 3BFFF106 + sample 2: + time = 200000 + flags = 1 + data = length 83, hash E5B3F343 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_ssa_subtitles.mkv.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_ssa_subtitles.mkv.unknown_length.dump new file mode 100644 index 00000000000..2dee994ce7f --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mkv/sample_with_overlapping_ssa_subtitles.mkv.unknown_length.dump @@ -0,0 +1,292 @@ +seekMap: + isSeekable = true + duration = 1072000 + getPosition(0) = [[timeUs=67000, position=5775]] + getPosition(1) = [[timeUs=67000, position=5775]] + getPosition(536000) = [[timeUs=200000, position=5775]] + getPosition(1072000) = [[timeUs=200000, position=5775]] +numberOfTracks = 3 +track 1: + total output bytes = 89502 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.640034 + width = 1080 + height = 720 + selectionFlags = 1 + language = und + initializationData: + data = length 30, hash F6F3D010 + data = length 10, hash 7A0D0F2B + sample 0: + time = 67000 + flags = 1 + data = length 36477, hash F0F36CFE + sample 1: + time = 134000 + flags = 0 + data = length 5341, hash 40B85E2 + sample 2: + time = 100000 + flags = 0 + data = length 596, hash 357B4D92 + sample 3: + time = 267000 + flags = 0 + data = length 7704, hash A39EDA06 + sample 4: + time = 200000 + flags = 0 + data = length 989, hash 2813C72D + sample 5: + time = 167000 + flags = 0 + data = length 721, hash C50D1C73 + sample 6: + time = 234000 + flags = 0 + data = length 519, hash 65FE1911 + sample 7: + time = 400000 + flags = 0 + data = length 6160, hash E1CAC0EC + sample 8: + time = 334000 + flags = 0 + data = length 953, hash 7160C661 + sample 9: + time = 300000 + flags = 0 + data = length 620, hash 7A7AE07C + sample 10: + time = 367000 + flags = 0 + data = length 405, hash 5CC7F4E7 + sample 11: + time = 500000 + flags = 0 + data = length 4852, hash 9DB6979D + sample 12: + time = 467000 + flags = 0 + data = length 547, hash E31A6979 + sample 13: + time = 434000 + flags = 0 + data = length 570, hash FEC40D00 + sample 14: + time = 634000 + flags = 0 + data = length 5525, hash 7C478F7E + sample 15: + time = 567000 + flags = 0 + data = length 1082, hash DA07059A + sample 16: + time = 534000 + flags = 0 + data = length 807, hash 93478E6B + sample 17: + time = 600000 + flags = 0 + data = length 744, hash 9A8E6026 + sample 18: + time = 767000 + flags = 0 + data = length 4732, hash C73B23C0 + sample 19: + time = 700000 + flags = 0 + data = length 1004, hash 8A19A228 + sample 20: + time = 667000 + flags = 0 + data = length 794, hash 8126022C + sample 21: + time = 734000 + flags = 0 + data = length 645, hash F08300E5 + sample 22: + time = 900000 + flags = 0 + data = length 2684, hash 727FE378 + sample 23: + time = 834000 + flags = 0 + data = length 787, hash 419A7821 + sample 24: + time = 800000 + flags = 0 + data = length 649, hash 5C159346 + sample 25: + time = 867000 + flags = 0 + data = length 509, hash F912D655 + sample 26: + time = 1034000 + flags = 0 + data = length 1226, hash 29815C21 + sample 27: + time = 967000 + flags = 0 + data = length 898, hash D997AD0A + sample 28: + time = 934000 + flags = 0 + data = length 476, hash A0423645 + sample 29: + time = 1000000 + flags = 0 + data = length 486, hash DDF32CBB +track 2: + total output bytes = 12120 + sample count = 29 + format 0: + id = 2 + sampleMimeType = audio/ac3 + channelCount = 1 + sampleRate = 44100 + selectionFlags = 1 + language = und + sample 0: + time = 129000 + flags = 1 + data = length 416, hash 211F2286 + sample 1: + time = 163829 + flags = 1 + data = length 418, hash 77425A86 + sample 2: + time = 198659 + flags = 1 + data = length 418, hash A0FE5CA1 + sample 3: + time = 233489 + flags = 1 + data = length 418, hash 2309B066 + sample 4: + time = 268319 + flags = 1 + data = length 418, hash 928A653B + sample 5: + time = 303149 + flags = 1 + data = length 418, hash 3422F0CB + sample 6: + time = 337979 + flags = 1 + data = length 418, hash EFF43D5B + sample 7: + time = 372809 + flags = 1 + data = length 418, hash FC8093C7 + sample 8: + time = 408000 + flags = 1 + data = length 418, hash CCC08A16 + sample 9: + time = 442829 + flags = 1 + data = length 418, hash 2A6EE863 + sample 10: + time = 477659 + flags = 1 + data = length 418, hash D69A9251 + sample 11: + time = 512489 + flags = 1 + data = length 418, hash BCFB758D + sample 12: + time = 547319 + flags = 1 + data = length 418, hash 11B66799 + sample 13: + time = 582149 + flags = 1 + data = length 418, hash C824D392 + sample 14: + time = 616979 + flags = 1 + data = length 418, hash C167D872 + sample 15: + time = 651809 + flags = 1 + data = length 418, hash 4221C855 + sample 16: + time = 687000 + flags = 1 + data = length 418, hash 4D4FF934 + sample 17: + time = 721829 + flags = 1 + data = length 418, hash 984AA025 + sample 18: + time = 756659 + flags = 1 + data = length 418, hash BB788B46 + sample 19: + time = 791489 + flags = 1 + data = length 418, hash 9EFBFD97 + sample 20: + time = 826319 + flags = 1 + data = length 418, hash DF1A460C + sample 21: + time = 861149 + flags = 1 + data = length 418, hash 2BDB56A + sample 22: + time = 895979 + flags = 1 + data = length 418, hash CA230060 + sample 23: + time = 930809 + flags = 1 + data = length 418, hash D2F19F41 + sample 24: + time = 965000 + flags = 1 + data = length 418, hash AF392D79 + sample 25: + time = 999829 + flags = 1 + data = length 418, hash C5D7F2A3 + sample 26: + time = 1034659 + flags = 1 + data = length 418, hash 733A35AE + sample 27: + time = 1069489 + flags = 1 + data = length 418, hash DE46E5D3 + sample 28: + time = 1104319 + flags = 1 + data = length 418, hash 56AB8D37 +track 3: + total output bytes = 242 + sample count = 3 + format 0: + id = 3 + sampleMimeType = text/x-ssa + selectionFlags = 1 + language = und + initializationData: + data = length 90, hash A5E21974 + data = length 93, hash 48D1F6B7 + sample 0: + time = 100000 + flags = 1 + data = length 77, hash D184A98A + sample 1: + time = 150000 + flags = 1 + data = length 82, hash 3BFFF106 + sample 2: + time = 200000 + flags = 1 + data = length 83, hash E5B3F343 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/media/mkv/sample_with_overlapping_srt.mkv b/libraries/test_data/src/test/assets/media/mkv/sample_with_overlapping_srt.mkv new file mode 100644 index 00000000000..5862bb1d63d Binary files /dev/null and b/libraries/test_data/src/test/assets/media/mkv/sample_with_overlapping_srt.mkv differ diff --git a/libraries/test_data/src/test/assets/media/mkv/sample_with_overlapping_ssa_subtitles.mkv b/libraries/test_data/src/test/assets/media/mkv/sample_with_overlapping_ssa_subtitles.mkv new file mode 100644 index 00000000000..74487ba1d27 Binary files /dev/null and b/libraries/test_data/src/test/assets/media/mkv/sample_with_overlapping_ssa_subtitles.mkv differ diff --git a/libraries/test_data/src/test/assets/playbackdumps/mkv/sample_with_overlapping_srt.mkv.dump b/libraries/test_data/src/test/assets/playbackdumps/mkv/sample_with_overlapping_srt.mkv.dump new file mode 100644 index 00000000000..180c71315f3 --- /dev/null +++ b/libraries/test_data/src/test/assets/playbackdumps/mkv/sample_with_overlapping_srt.mkv.dump @@ -0,0 +1,524 @@ +MediaCodecAdapter (exotest.audio.ac3): + inputBuffers: + count = 30 + input buffer #0: + timeUs = 1000000129000 + contents = length 416, hash 211F2286 + input buffer #1: + timeUs = 1000000163829 + contents = length 418, hash 77425A86 + input buffer #2: + timeUs = 1000000198659 + contents = length 418, hash A0FE5CA1 + input buffer #3: + timeUs = 1000000233489 + contents = length 418, hash 2309B066 + input buffer #4: + timeUs = 1000000268319 + contents = length 418, hash 928A653B + input buffer #5: + timeUs = 1000000303149 + contents = length 418, hash 3422F0CB + input buffer #6: + timeUs = 1000000337979 + contents = length 418, hash EFF43D5B + input buffer #7: + timeUs = 1000000372809 + contents = length 418, hash FC8093C7 + input buffer #8: + timeUs = 1000000408000 + contents = length 418, hash CCC08A16 + input buffer #9: + timeUs = 1000000442829 + contents = length 418, hash 2A6EE863 + input buffer #10: + timeUs = 1000000477659 + contents = length 418, hash D69A9251 + input buffer #11: + timeUs = 1000000512489 + contents = length 418, hash BCFB758D + input buffer #12: + timeUs = 1000000547319 + contents = length 418, hash 11B66799 + input buffer #13: + timeUs = 1000000582149 + contents = length 418, hash C824D392 + input buffer #14: + timeUs = 1000000616979 + contents = length 418, hash C167D872 + input buffer #15: + timeUs = 1000000651809 + contents = length 418, hash 4221C855 + input buffer #16: + timeUs = 1000000687000 + contents = length 418, hash 4D4FF934 + input buffer #17: + timeUs = 1000000721829 + contents = length 418, hash 984AA025 + input buffer #18: + timeUs = 1000000756659 + contents = length 418, hash BB788B46 + input buffer #19: + timeUs = 1000000791489 + contents = length 418, hash 9EFBFD97 + input buffer #20: + timeUs = 1000000826319 + contents = length 418, hash DF1A460C + input buffer #21: + timeUs = 1000000861149 + contents = length 418, hash 2BDB56A + input buffer #22: + timeUs = 1000000895979 + contents = length 418, hash CA230060 + input buffer #23: + timeUs = 1000000930809 + contents = length 418, hash D2F19F41 + input buffer #24: + timeUs = 1000000965000 + contents = length 418, hash AF392D79 + input buffer #25: + timeUs = 1000000999829 + contents = length 418, hash C5D7F2A3 + input buffer #26: + timeUs = 1000001034659 + contents = length 418, hash 733A35AE + input buffer #27: + timeUs = 1000001069489 + contents = length 418, hash DE46E5D3 + input buffer #28: + timeUs = 1000001104319 + contents = length 418, hash 56AB8D37 + input buffer #29: + timeUs = 0 + flags = 4 + contents = length 0, hash 1 + outputBuffers: + count = 29 + output buffer #0: + timeUs = 1000000129000 + size = 0 + rendered = false + output buffer #1: + timeUs = 1000000163829 + size = 0 + rendered = false + output buffer #2: + timeUs = 1000000198659 + size = 0 + rendered = false + output buffer #3: + timeUs = 1000000233489 + size = 0 + rendered = false + output buffer #4: + timeUs = 1000000268319 + size = 0 + rendered = false + output buffer #5: + timeUs = 1000000303149 + size = 0 + rendered = false + output buffer #6: + timeUs = 1000000337979 + size = 0 + rendered = false + output buffer #7: + timeUs = 1000000372809 + size = 0 + rendered = false + output buffer #8: + timeUs = 1000000408000 + size = 0 + rendered = false + output buffer #9: + timeUs = 1000000442829 + size = 0 + rendered = false + output buffer #10: + timeUs = 1000000477659 + size = 0 + rendered = false + output buffer #11: + timeUs = 1000000512489 + size = 0 + rendered = false + output buffer #12: + timeUs = 1000000547319 + size = 0 + rendered = false + output buffer #13: + timeUs = 1000000582149 + size = 0 + rendered = false + output buffer #14: + timeUs = 1000000616979 + size = 0 + rendered = false + output buffer #15: + timeUs = 1000000651809 + size = 0 + rendered = false + output buffer #16: + timeUs = 1000000687000 + size = 0 + rendered = false + output buffer #17: + timeUs = 1000000721829 + size = 0 + rendered = false + output buffer #18: + timeUs = 1000000756659 + size = 0 + rendered = false + output buffer #19: + timeUs = 1000000791489 + size = 0 + rendered = false + output buffer #20: + timeUs = 1000000826319 + size = 0 + rendered = false + output buffer #21: + timeUs = 1000000861149 + size = 0 + rendered = false + output buffer #22: + timeUs = 1000000895979 + size = 0 + rendered = false + output buffer #23: + timeUs = 1000000930809 + size = 0 + rendered = false + output buffer #24: + timeUs = 1000000965000 + size = 0 + rendered = false + output buffer #25: + timeUs = 1000000999829 + size = 0 + rendered = false + output buffer #26: + timeUs = 1000001034659 + size = 0 + rendered = false + output buffer #27: + timeUs = 1000001069489 + size = 0 + rendered = false + output buffer #28: + timeUs = 1000001104319 + size = 0 + rendered = false +MediaCodecAdapter (exotest.video.avc): + inputBuffers: + count = 31 + input buffer #0: + timeUs = 1000000067000 + contents = length 36477, hash F0F36CFE + input buffer #1: + timeUs = 1000000134000 + contents = length 5341, hash 40B85E2 + input buffer #2: + timeUs = 1000000100000 + contents = length 596, hash 357B4D92 + input buffer #3: + timeUs = 1000000267000 + contents = length 7704, hash A39EDA06 + input buffer #4: + timeUs = 1000000200000 + contents = length 989, hash 2813C72D + input buffer #5: + timeUs = 1000000167000 + contents = length 721, hash C50D1C73 + input buffer #6: + timeUs = 1000000234000 + contents = length 519, hash 65FE1911 + input buffer #7: + timeUs = 1000000400000 + contents = length 6160, hash E1CAC0EC + input buffer #8: + timeUs = 1000000334000 + contents = length 953, hash 7160C661 + input buffer #9: + timeUs = 1000000300000 + contents = length 620, hash 7A7AE07C + input buffer #10: + timeUs = 1000000367000 + contents = length 405, hash 5CC7F4E7 + input buffer #11: + timeUs = 1000000500000 + contents = length 4852, hash 9DB6979D + input buffer #12: + timeUs = 1000000467000 + contents = length 547, hash E31A6979 + input buffer #13: + timeUs = 1000000434000 + contents = length 570, hash FEC40D00 + input buffer #14: + timeUs = 1000000634000 + contents = length 5525, hash 7C478F7E + input buffer #15: + timeUs = 1000000567000 + contents = length 1082, hash DA07059A + input buffer #16: + timeUs = 1000000534000 + contents = length 807, hash 93478E6B + input buffer #17: + timeUs = 1000000600000 + contents = length 744, hash 9A8E6026 + input buffer #18: + timeUs = 1000000767000 + contents = length 4732, hash C73B23C0 + input buffer #19: + timeUs = 1000000700000 + contents = length 1004, hash 8A19A228 + input buffer #20: + timeUs = 1000000667000 + contents = length 794, hash 8126022C + input buffer #21: + timeUs = 1000000734000 + contents = length 645, hash F08300E5 + input buffer #22: + timeUs = 1000000900000 + contents = length 2684, hash 727FE378 + input buffer #23: + timeUs = 1000000834000 + contents = length 787, hash 419A7821 + input buffer #24: + timeUs = 1000000800000 + contents = length 649, hash 5C159346 + input buffer #25: + timeUs = 1000000867000 + contents = length 509, hash F912D655 + input buffer #26: + timeUs = 1000001034000 + contents = length 1226, hash 29815C21 + input buffer #27: + timeUs = 1000000967000 + contents = length 898, hash D997AD0A + input buffer #28: + timeUs = 1000000934000 + contents = length 476, hash A0423645 + input buffer #29: + timeUs = 1000001000000 + contents = length 486, hash DDF32CBB + input buffer #30: + timeUs = 0 + flags = 4 + contents = length 0, hash 1 + outputBuffers: + count = 30 + output buffer #0: + timeUs = 1000000067000 + size = 36477 + rendered = true + output buffer #1: + timeUs = 1000000134000 + size = 5341 + rendered = true + output buffer #2: + timeUs = 1000000100000 + size = 596 + rendered = true + output buffer #3: + timeUs = 1000000267000 + size = 7704 + rendered = true + output buffer #4: + timeUs = 1000000200000 + size = 989 + rendered = true + output buffer #5: + timeUs = 1000000167000 + size = 721 + rendered = true + output buffer #6: + timeUs = 1000000234000 + size = 519 + rendered = true + output buffer #7: + timeUs = 1000000400000 + size = 6160 + rendered = true + output buffer #8: + timeUs = 1000000334000 + size = 953 + rendered = true + output buffer #9: + timeUs = 1000000300000 + size = 620 + rendered = true + output buffer #10: + timeUs = 1000000367000 + size = 405 + rendered = true + output buffer #11: + timeUs = 1000000500000 + size = 4852 + rendered = true + output buffer #12: + timeUs = 1000000467000 + size = 547 + rendered = true + output buffer #13: + timeUs = 1000000434000 + size = 570 + rendered = true + output buffer #14: + timeUs = 1000000634000 + size = 5525 + rendered = true + output buffer #15: + timeUs = 1000000567000 + size = 1082 + rendered = true + output buffer #16: + timeUs = 1000000534000 + size = 807 + rendered = true + output buffer #17: + timeUs = 1000000600000 + size = 744 + rendered = true + output buffer #18: + timeUs = 1000000767000 + size = 4732 + rendered = true + output buffer #19: + timeUs = 1000000700000 + size = 1004 + rendered = true + output buffer #20: + timeUs = 1000000667000 + size = 794 + rendered = true + output buffer #21: + timeUs = 1000000734000 + size = 645 + rendered = true + output buffer #22: + timeUs = 1000000900000 + size = 2684 + rendered = true + output buffer #23: + timeUs = 1000000834000 + size = 787 + rendered = true + output buffer #24: + timeUs = 1000000800000 + size = 649 + rendered = true + output buffer #25: + timeUs = 1000000867000 + size = 509 + rendered = true + output buffer #26: + timeUs = 1000001034000 + size = 1226 + rendered = true + output buffer #27: + timeUs = 1000000967000 + size = 898 + rendered = true + output buffer #28: + timeUs = 1000000934000 + size = 476 + rendered = true + output buffer #29: + timeUs = 1000001000000 + size = 486 + rendered = true +AudioSink: + buffer count = 29 + config: + pcmEncoding = 2 + channelCount = 1 + sampleRate = 44100 + buffer #0: + time = 1000000129000 + data = 1 + buffer #1: + time = 1000000163829 + data = 1 + buffer #2: + time = 1000000198659 + data = 1 + buffer #3: + time = 1000000233489 + data = 1 + buffer #4: + time = 1000000268319 + data = 1 + buffer #5: + time = 1000000303149 + data = 1 + buffer #6: + time = 1000000337979 + data = 1 + buffer #7: + time = 1000000372809 + data = 1 + buffer #8: + time = 1000000408000 + data = 1 + buffer #9: + time = 1000000442829 + data = 1 + buffer #10: + time = 1000000477659 + data = 1 + buffer #11: + time = 1000000512489 + data = 1 + buffer #12: + time = 1000000547319 + data = 1 + buffer #13: + time = 1000000582149 + data = 1 + buffer #14: + time = 1000000616979 + data = 1 + buffer #15: + time = 1000000651809 + data = 1 + buffer #16: + time = 1000000687000 + data = 1 + buffer #17: + time = 1000000721829 + data = 1 + buffer #18: + time = 1000000756659 + data = 1 + buffer #19: + time = 1000000791489 + data = 1 + buffer #20: + time = 1000000826319 + data = 1 + buffer #21: + time = 1000000861149 + data = 1 + buffer #22: + time = 1000000895979 + data = 1 + buffer #23: + time = 1000000930809 + data = 1 + buffer #24: + time = 1000000965000 + data = 1 + buffer #25: + time = 1000000999829 + data = 1 + buffer #26: + time = 1000001034659 + data = 1 + buffer #27: + time = 1000001069489 + data = 1 + buffer #28: + time = 1000001104319 + data = 1 diff --git a/libraries/test_data/src/test/assets/playbackdumps/mkv/sample_with_overlapping_ssa_subtitles.mkv.dump b/libraries/test_data/src/test/assets/playbackdumps/mkv/sample_with_overlapping_ssa_subtitles.mkv.dump new file mode 100644 index 00000000000..180c71315f3 --- /dev/null +++ b/libraries/test_data/src/test/assets/playbackdumps/mkv/sample_with_overlapping_ssa_subtitles.mkv.dump @@ -0,0 +1,524 @@ +MediaCodecAdapter (exotest.audio.ac3): + inputBuffers: + count = 30 + input buffer #0: + timeUs = 1000000129000 + contents = length 416, hash 211F2286 + input buffer #1: + timeUs = 1000000163829 + contents = length 418, hash 77425A86 + input buffer #2: + timeUs = 1000000198659 + contents = length 418, hash A0FE5CA1 + input buffer #3: + timeUs = 1000000233489 + contents = length 418, hash 2309B066 + input buffer #4: + timeUs = 1000000268319 + contents = length 418, hash 928A653B + input buffer #5: + timeUs = 1000000303149 + contents = length 418, hash 3422F0CB + input buffer #6: + timeUs = 1000000337979 + contents = length 418, hash EFF43D5B + input buffer #7: + timeUs = 1000000372809 + contents = length 418, hash FC8093C7 + input buffer #8: + timeUs = 1000000408000 + contents = length 418, hash CCC08A16 + input buffer #9: + timeUs = 1000000442829 + contents = length 418, hash 2A6EE863 + input buffer #10: + timeUs = 1000000477659 + contents = length 418, hash D69A9251 + input buffer #11: + timeUs = 1000000512489 + contents = length 418, hash BCFB758D + input buffer #12: + timeUs = 1000000547319 + contents = length 418, hash 11B66799 + input buffer #13: + timeUs = 1000000582149 + contents = length 418, hash C824D392 + input buffer #14: + timeUs = 1000000616979 + contents = length 418, hash C167D872 + input buffer #15: + timeUs = 1000000651809 + contents = length 418, hash 4221C855 + input buffer #16: + timeUs = 1000000687000 + contents = length 418, hash 4D4FF934 + input buffer #17: + timeUs = 1000000721829 + contents = length 418, hash 984AA025 + input buffer #18: + timeUs = 1000000756659 + contents = length 418, hash BB788B46 + input buffer #19: + timeUs = 1000000791489 + contents = length 418, hash 9EFBFD97 + input buffer #20: + timeUs = 1000000826319 + contents = length 418, hash DF1A460C + input buffer #21: + timeUs = 1000000861149 + contents = length 418, hash 2BDB56A + input buffer #22: + timeUs = 1000000895979 + contents = length 418, hash CA230060 + input buffer #23: + timeUs = 1000000930809 + contents = length 418, hash D2F19F41 + input buffer #24: + timeUs = 1000000965000 + contents = length 418, hash AF392D79 + input buffer #25: + timeUs = 1000000999829 + contents = length 418, hash C5D7F2A3 + input buffer #26: + timeUs = 1000001034659 + contents = length 418, hash 733A35AE + input buffer #27: + timeUs = 1000001069489 + contents = length 418, hash DE46E5D3 + input buffer #28: + timeUs = 1000001104319 + contents = length 418, hash 56AB8D37 + input buffer #29: + timeUs = 0 + flags = 4 + contents = length 0, hash 1 + outputBuffers: + count = 29 + output buffer #0: + timeUs = 1000000129000 + size = 0 + rendered = false + output buffer #1: + timeUs = 1000000163829 + size = 0 + rendered = false + output buffer #2: + timeUs = 1000000198659 + size = 0 + rendered = false + output buffer #3: + timeUs = 1000000233489 + size = 0 + rendered = false + output buffer #4: + timeUs = 1000000268319 + size = 0 + rendered = false + output buffer #5: + timeUs = 1000000303149 + size = 0 + rendered = false + output buffer #6: + timeUs = 1000000337979 + size = 0 + rendered = false + output buffer #7: + timeUs = 1000000372809 + size = 0 + rendered = false + output buffer #8: + timeUs = 1000000408000 + size = 0 + rendered = false + output buffer #9: + timeUs = 1000000442829 + size = 0 + rendered = false + output buffer #10: + timeUs = 1000000477659 + size = 0 + rendered = false + output buffer #11: + timeUs = 1000000512489 + size = 0 + rendered = false + output buffer #12: + timeUs = 1000000547319 + size = 0 + rendered = false + output buffer #13: + timeUs = 1000000582149 + size = 0 + rendered = false + output buffer #14: + timeUs = 1000000616979 + size = 0 + rendered = false + output buffer #15: + timeUs = 1000000651809 + size = 0 + rendered = false + output buffer #16: + timeUs = 1000000687000 + size = 0 + rendered = false + output buffer #17: + timeUs = 1000000721829 + size = 0 + rendered = false + output buffer #18: + timeUs = 1000000756659 + size = 0 + rendered = false + output buffer #19: + timeUs = 1000000791489 + size = 0 + rendered = false + output buffer #20: + timeUs = 1000000826319 + size = 0 + rendered = false + output buffer #21: + timeUs = 1000000861149 + size = 0 + rendered = false + output buffer #22: + timeUs = 1000000895979 + size = 0 + rendered = false + output buffer #23: + timeUs = 1000000930809 + size = 0 + rendered = false + output buffer #24: + timeUs = 1000000965000 + size = 0 + rendered = false + output buffer #25: + timeUs = 1000000999829 + size = 0 + rendered = false + output buffer #26: + timeUs = 1000001034659 + size = 0 + rendered = false + output buffer #27: + timeUs = 1000001069489 + size = 0 + rendered = false + output buffer #28: + timeUs = 1000001104319 + size = 0 + rendered = false +MediaCodecAdapter (exotest.video.avc): + inputBuffers: + count = 31 + input buffer #0: + timeUs = 1000000067000 + contents = length 36477, hash F0F36CFE + input buffer #1: + timeUs = 1000000134000 + contents = length 5341, hash 40B85E2 + input buffer #2: + timeUs = 1000000100000 + contents = length 596, hash 357B4D92 + input buffer #3: + timeUs = 1000000267000 + contents = length 7704, hash A39EDA06 + input buffer #4: + timeUs = 1000000200000 + contents = length 989, hash 2813C72D + input buffer #5: + timeUs = 1000000167000 + contents = length 721, hash C50D1C73 + input buffer #6: + timeUs = 1000000234000 + contents = length 519, hash 65FE1911 + input buffer #7: + timeUs = 1000000400000 + contents = length 6160, hash E1CAC0EC + input buffer #8: + timeUs = 1000000334000 + contents = length 953, hash 7160C661 + input buffer #9: + timeUs = 1000000300000 + contents = length 620, hash 7A7AE07C + input buffer #10: + timeUs = 1000000367000 + contents = length 405, hash 5CC7F4E7 + input buffer #11: + timeUs = 1000000500000 + contents = length 4852, hash 9DB6979D + input buffer #12: + timeUs = 1000000467000 + contents = length 547, hash E31A6979 + input buffer #13: + timeUs = 1000000434000 + contents = length 570, hash FEC40D00 + input buffer #14: + timeUs = 1000000634000 + contents = length 5525, hash 7C478F7E + input buffer #15: + timeUs = 1000000567000 + contents = length 1082, hash DA07059A + input buffer #16: + timeUs = 1000000534000 + contents = length 807, hash 93478E6B + input buffer #17: + timeUs = 1000000600000 + contents = length 744, hash 9A8E6026 + input buffer #18: + timeUs = 1000000767000 + contents = length 4732, hash C73B23C0 + input buffer #19: + timeUs = 1000000700000 + contents = length 1004, hash 8A19A228 + input buffer #20: + timeUs = 1000000667000 + contents = length 794, hash 8126022C + input buffer #21: + timeUs = 1000000734000 + contents = length 645, hash F08300E5 + input buffer #22: + timeUs = 1000000900000 + contents = length 2684, hash 727FE378 + input buffer #23: + timeUs = 1000000834000 + contents = length 787, hash 419A7821 + input buffer #24: + timeUs = 1000000800000 + contents = length 649, hash 5C159346 + input buffer #25: + timeUs = 1000000867000 + contents = length 509, hash F912D655 + input buffer #26: + timeUs = 1000001034000 + contents = length 1226, hash 29815C21 + input buffer #27: + timeUs = 1000000967000 + contents = length 898, hash D997AD0A + input buffer #28: + timeUs = 1000000934000 + contents = length 476, hash A0423645 + input buffer #29: + timeUs = 1000001000000 + contents = length 486, hash DDF32CBB + input buffer #30: + timeUs = 0 + flags = 4 + contents = length 0, hash 1 + outputBuffers: + count = 30 + output buffer #0: + timeUs = 1000000067000 + size = 36477 + rendered = true + output buffer #1: + timeUs = 1000000134000 + size = 5341 + rendered = true + output buffer #2: + timeUs = 1000000100000 + size = 596 + rendered = true + output buffer #3: + timeUs = 1000000267000 + size = 7704 + rendered = true + output buffer #4: + timeUs = 1000000200000 + size = 989 + rendered = true + output buffer #5: + timeUs = 1000000167000 + size = 721 + rendered = true + output buffer #6: + timeUs = 1000000234000 + size = 519 + rendered = true + output buffer #7: + timeUs = 1000000400000 + size = 6160 + rendered = true + output buffer #8: + timeUs = 1000000334000 + size = 953 + rendered = true + output buffer #9: + timeUs = 1000000300000 + size = 620 + rendered = true + output buffer #10: + timeUs = 1000000367000 + size = 405 + rendered = true + output buffer #11: + timeUs = 1000000500000 + size = 4852 + rendered = true + output buffer #12: + timeUs = 1000000467000 + size = 547 + rendered = true + output buffer #13: + timeUs = 1000000434000 + size = 570 + rendered = true + output buffer #14: + timeUs = 1000000634000 + size = 5525 + rendered = true + output buffer #15: + timeUs = 1000000567000 + size = 1082 + rendered = true + output buffer #16: + timeUs = 1000000534000 + size = 807 + rendered = true + output buffer #17: + timeUs = 1000000600000 + size = 744 + rendered = true + output buffer #18: + timeUs = 1000000767000 + size = 4732 + rendered = true + output buffer #19: + timeUs = 1000000700000 + size = 1004 + rendered = true + output buffer #20: + timeUs = 1000000667000 + size = 794 + rendered = true + output buffer #21: + timeUs = 1000000734000 + size = 645 + rendered = true + output buffer #22: + timeUs = 1000000900000 + size = 2684 + rendered = true + output buffer #23: + timeUs = 1000000834000 + size = 787 + rendered = true + output buffer #24: + timeUs = 1000000800000 + size = 649 + rendered = true + output buffer #25: + timeUs = 1000000867000 + size = 509 + rendered = true + output buffer #26: + timeUs = 1000001034000 + size = 1226 + rendered = true + output buffer #27: + timeUs = 1000000967000 + size = 898 + rendered = true + output buffer #28: + timeUs = 1000000934000 + size = 476 + rendered = true + output buffer #29: + timeUs = 1000001000000 + size = 486 + rendered = true +AudioSink: + buffer count = 29 + config: + pcmEncoding = 2 + channelCount = 1 + sampleRate = 44100 + buffer #0: + time = 1000000129000 + data = 1 + buffer #1: + time = 1000000163829 + data = 1 + buffer #2: + time = 1000000198659 + data = 1 + buffer #3: + time = 1000000233489 + data = 1 + buffer #4: + time = 1000000268319 + data = 1 + buffer #5: + time = 1000000303149 + data = 1 + buffer #6: + time = 1000000337979 + data = 1 + buffer #7: + time = 1000000372809 + data = 1 + buffer #8: + time = 1000000408000 + data = 1 + buffer #9: + time = 1000000442829 + data = 1 + buffer #10: + time = 1000000477659 + data = 1 + buffer #11: + time = 1000000512489 + data = 1 + buffer #12: + time = 1000000547319 + data = 1 + buffer #13: + time = 1000000582149 + data = 1 + buffer #14: + time = 1000000616979 + data = 1 + buffer #15: + time = 1000000651809 + data = 1 + buffer #16: + time = 1000000687000 + data = 1 + buffer #17: + time = 1000000721829 + data = 1 + buffer #18: + time = 1000000756659 + data = 1 + buffer #19: + time = 1000000791489 + data = 1 + buffer #20: + time = 1000000826319 + data = 1 + buffer #21: + time = 1000000861149 + data = 1 + buffer #22: + time = 1000000895979 + data = 1 + buffer #23: + time = 1000000930809 + data = 1 + buffer #24: + time = 1000000965000 + data = 1 + buffer #25: + time = 1000000999829 + data = 1 + buffer #26: + time = 1000001034659 + data = 1 + buffer #27: + time = 1000001069489 + data = 1 + buffer #28: + time = 1000001104319 + data = 1