diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/mp4/Mp4ExtractorTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/mp4/Mp4ExtractorTest.java index 014c3a6eb4..b28d20ed29 100644 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/mp4/Mp4ExtractorTest.java +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/mp4/Mp4ExtractorTest.java @@ -218,6 +218,14 @@ public final class Mp4ExtractorTest { simulationConfig); } + @Test + public void mp4SampleWithEditList() throws Exception { + ExtractorAsserts.assertBehavior( + getExtractorFactory(subtitlesParsedDuringExtraction), + "media/mp4/sample_edit_list.mp4", + simulationConfig); + } + private static ExtractorAsserts.ExtractorFactory getExtractorFactory( boolean subtitlesParsedDuringExtraction) { SubtitleParser.Factory subtitleParserFactory; diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.0.dump new file mode 100644 index 0000000000..417174774a --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.0.dump @@ -0,0 +1,735 @@ +seekMap: + isSeekable = true + duration = 2548333 + getPosition(0) = [[timeUs=611666, position=16205]] + getPosition(1) = [[timeUs=611666, position=16205]] + getPosition(1274166) = [[timeUs=611666, position=16205], [timeUs=1680000, position=34939]] + getPosition(2548333) = [[timeUs=1680000, position=34939]] +numberOfTracks = 2 +track 0: + total output bytes = 2168517 + sample count = 60 + format 0: + id = 1 + sampleMimeType = video/dolby-vision + codecs = hev1.08.04 + maxInputSize = 196379 + width = 1920 + height = 1080 + frameRate = 23.544804 + rotationDegrees = 90 + colorInfo: + colorSpace = 6 + colorRange = 2 + colorTransfer = 7 + lumaBitdepth = 10 + chromaBitdepth = 10 + metadata = entries=[Mp4Timestamp: creation time=3788952614, modification time=3788952614, timescale=600] + initializationData: + data = length 97, hash 32FB3D18 + sample 0: + time = 611666 + flags = 1 + data = length 196349, hash 484B3706 + sample 1: + time = 545000 + flags = 0 + data = length 36093, hash 9964470A + sample 2: + time = 511666 + flags = 0 + data = length 9196, hash 124A821F + sample 3: + time = 578333 + flags = 0 + data = length 11337, hash 2A61C44F + sample 4: + time = 745000 + flags = 0 + data = length 89197, hash E331760E + sample 5: + time = 678333 + flags = 0 + data = length 27802, hash 280175A2 + sample 6: + time = 645000 + flags = 0 + data = length 9295, hash 1CC71F4D + sample 7: + time = 711666 + flags = 0 + data = length 11844, hash 595DBFFA + sample 8: + time = 878333 + flags = 0 + data = length 78369, hash 958807CA + sample 9: + time = 811666 + flags = 0 + data = length 28320, hash 8B5DAC6A + sample 10: + time = 778333 + flags = 0 + data = length 13845, hash 868C5F96 + sample 11: + time = 845000 + flags = 0 + data = length 13734, hash 2BF28058 + sample 12: + time = 1011666 + flags = 0 + data = length 60140, hash 4DCE6D29 + sample 13: + time = 945000 + flags = 0 + data = length 28024, hash 2808AC27 + sample 14: + time = 911666 + flags = 0 + data = length 14865, hash DA936298 + sample 15: + time = 978333 + flags = 0 + data = length 15631, hash F11D2528 + sample 16: + time = 1145000 + flags = 0 + data = length 59293, hash 1C3296CD + sample 17: + time = 1078333 + flags = 0 + data = length 27545, hash 189E13B8 + sample 18: + time = 1045000 + flags = 0 + data = length 14959, hash A47356EF + sample 19: + time = 1111666 + flags = 0 + data = length 15621, hash C391E893 + sample 20: + time = 1278333 + flags = 0 + data = length 66112, hash 54A454C4 + sample 21: + time = 1211666 + flags = 0 + data = length 33610, hash 4C3F57F2 + sample 22: + time = 1178333 + flags = 0 + data = length 13205, hash EC181CA7 + sample 23: + time = 1245000 + flags = 0 + data = length 18525, hash 20D8FE9D + sample 24: + time = 1411666 + flags = 0 + data = length 63613, hash B807DB7E + sample 25: + time = 1345000 + flags = 0 + data = length 40816, hash 2D023C8F + sample 26: + time = 1311666 + flags = 0 + data = length 17728, hash B07033B9 + sample 27: + time = 1378333 + flags = 0 + data = length 13105, hash 4E3B7245 + sample 28: + time = 1546666 + flags = 0 + data = length 54500, hash 88F3013F + sample 29: + time = 1478333 + flags = 0 + data = length 34711, hash 9918D286 + sample 30: + time = 1445000 + flags = 0 + data = length 14764, hash CF9044AB + sample 31: + time = 1513333 + flags = 0 + data = length 16517, hash BA27C997 + sample 32: + time = 1680000 + flags = 1 + data = length 143217, hash A7D06C3F + sample 33: + time = 1613333 + flags = 0 + data = length 32967, hash E490EDD3 + sample 34: + time = 1580000 + flags = 0 + data = length 17445, hash 5F91C2B8 + sample 35: + time = 1646666 + flags = 0 + data = length 14638, hash 775110FE + sample 36: + time = 1813333 + flags = 0 + data = length 67665, hash A9A21D87 + sample 37: + time = 1746666 + flags = 0 + data = length 32392, hash 7E790D61 + sample 38: + time = 1713333 + flags = 0 + data = length 10589, hash 6EB324E3 + sample 39: + time = 1780000 + flags = 0 + data = length 18023, hash 29D03684 + sample 40: + time = 1946666 + flags = 0 + data = length 67946, hash 8135C195 + sample 41: + time = 1880000 + flags = 0 + data = length 41030, hash B6A9208 + sample 42: + time = 1846666 + flags = 0 + data = length 15110, hash BF682221 + sample 43: + time = 1913333 + flags = 0 + data = length 17245, hash 2BAFA805 + sample 44: + time = 2080000 + flags = 0 + data = length 57455, hash 2754BFA0 + sample 45: + time = 2013333 + flags = 0 + data = length 37067, hash CCE6C30F + sample 46: + time = 1980000 + flags = 0 + data = length 14098, hash 60A5760F + sample 47: + time = 2046666 + flags = 0 + data = length 20864, hash 94450211 + sample 48: + time = 2213333 + flags = 0 + data = length 62871, hash BA53494F + sample 49: + time = 2146666 + flags = 0 + data = length 38596, hash 420335AC + sample 50: + time = 2113333 + flags = 0 + data = length 17584, hash 2E024B02 + sample 51: + time = 2180000 + flags = 0 + data = length 18521, hash 7381819A + sample 52: + time = 2346666 + flags = 0 + data = length 54835, hash F45163BF + sample 53: + time = 2280000 + flags = 0 + data = length 29346, hash A57C757F + sample 54: + time = 2246666 + flags = 0 + data = length 15815, hash 1B194C31 + sample 55: + time = 2313333 + flags = 0 + data = length 20390, hash A162AAD0 + sample 56: + time = 2480000 + flags = 0 + data = length 64262, hash 875514C7 + sample 57: + time = 2413333 + flags = 0 + data = length 39953, hash 3884739A + sample 58: + time = 2380000 + flags = 0 + data = length 23136, hash 8AF1C1AD + sample 59: + time = 2446666 + flags = 536870912 + data = length 26792, hash 3157758F +track 1: + total output bytes = 45765 + sample count = 112 + format 0: + peakBitrate = 192000 + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + maxInputSize = 832 + channelCount = 2 + sampleRate = 44100 + encoderDelay = 1698 + encoderPadding = 609 + language = und + metadata = entries=[Mp4Timestamp: creation time=3788952614, modification time=3788952614, timescale=600] + initializationData: + data = length 2, hash 5FF + sample 0: + time = 0 + flags = 1 + data = length 802, hash DE7F20AC + sample 1: + time = 23219 + flags = 1 + data = length 457, hash 3F6EF91 + sample 2: + time = 46439 + flags = 1 + data = length 439, hash 9EFEF547 + sample 3: + time = 69659 + flags = 1 + data = length 425, hash 9E1A2B66 + sample 4: + time = 92879 + flags = 1 + data = length 420, hash 7AA38F34 + sample 5: + time = 116099 + flags = 1 + data = length 399, hash 919F7E1C + sample 6: + time = 139319 + flags = 1 + data = length 394, hash 4EB03DBE + sample 7: + time = 162539 + flags = 1 + data = length 392, hash C027E340 + sample 8: + time = 185759 + flags = 1 + data = length 389, hash F5CA0E30 + sample 9: + time = 208979 + flags = 1 + data = length 406, hash C4D75949 + sample 10: + time = 232199 + flags = 1 + data = length 418, hash A00CE696 + sample 11: + time = 255419 + flags = 1 + data = length 398, hash F05C17A5 + sample 12: + time = 278639 + flags = 1 + data = length 399, hash DF5BEB79 + sample 13: + time = 301859 + flags = 1 + data = length 391, hash A7717052 + sample 14: + time = 325079 + flags = 1 + data = length 413, hash CD16EEE8 + sample 15: + time = 348299 + flags = 1 + data = length 417, hash AB8F24B7 + sample 16: + time = 371519 + flags = 1 + data = length 420, hash EB187AD9 + sample 17: + time = 394739 + flags = 1 + data = length 404, hash C7E2028A + sample 18: + time = 417959 + flags = 1 + data = length 427, hash 960C2672 + sample 19: + time = 441179 + flags = 1 + data = length 419, hash 333F12D8 + sample 20: + time = 464399 + flags = 1 + data = length 409, hash 14611ACA + sample 21: + time = 487619 + flags = 1 + data = length 397, hash FF7C175F + sample 22: + time = 510839 + flags = 1 + data = length 397, hash 3C41B7F + sample 23: + time = 534058 + flags = 1 + data = length 407, hash E5FD065C + sample 24: + time = 557278 + flags = 1 + data = length 402, hash 4B054010 + sample 25: + time = 580498 + flags = 1 + data = length 402, hash A831296A + sample 26: + time = 603718 + flags = 1 + data = length 414, hash A140A593 + sample 27: + time = 626938 + flags = 1 + data = length 416, hash 1812B419 + sample 28: + time = 650158 + flags = 1 + data = length 399, hash 8365C231 + sample 29: + time = 673378 + flags = 1 + data = length 385, hash D661688B + sample 30: + time = 696598 + flags = 1 + data = length 403, hash BC9E5E2E + sample 31: + time = 719818 + flags = 1 + data = length 398, hash 59804AE8 + sample 32: + time = 743038 + flags = 1 + data = length 406, hash 3A42B5B7 + sample 33: + time = 766258 + flags = 1 + data = length 414, hash 53FA9880 + sample 34: + time = 789478 + flags = 1 + data = length 398, hash 8D3ADD23 + sample 35: + time = 812698 + flags = 1 + data = length 425, hash C9ADA235 + sample 36: + time = 835918 + flags = 1 + data = length 408, hash 3A4EFC47 + sample 37: + time = 859138 + flags = 1 + data = length 414, hash 6FED5E60 + sample 38: + time = 882358 + flags = 1 + data = length 427, hash 42AC5664 + sample 39: + time = 905578 + flags = 1 + data = length 429, hash 62F3725D + sample 40: + time = 928798 + flags = 1 + data = length 403, hash 6C11E259 + sample 41: + time = 952018 + flags = 1 + data = length 421, hash 4EF805F6 + sample 42: + time = 975238 + flags = 1 + data = length 404, hash 2094740F + sample 43: + time = 998458 + flags = 1 + data = length 426, hash FCF2A593 + sample 44: + time = 1021678 + flags = 1 + data = length 423, hash DB09D7F0 + sample 45: + time = 1044897 + flags = 1 + data = length 411, hash A4CB44DB + sample 46: + time = 1068117 + flags = 1 + data = length 404, hash 4959B833 + sample 47: + time = 1091337 + flags = 1 + data = length 403, hash B5C8DFA1 + sample 48: + time = 1114557 + flags = 1 + data = length 422, hash ABE9358F + sample 49: + time = 1137777 + flags = 1 + data = length 418, hash C1914F50 + sample 50: + time = 1160997 + flags = 1 + data = length 421, hash 4453B916 + sample 51: + time = 1184217 + flags = 1 + data = length 400, hash 73452AD3 + sample 52: + time = 1207437 + flags = 1 + data = length 400, hash F094F7B + sample 53: + time = 1230657 + flags = 1 + data = length 410, hash EC5D2BC2 + sample 54: + time = 1253877 + flags = 1 + data = length 391, hash 9DC6D32 + sample 55: + time = 1277097 + flags = 1 + data = length 361, hash 6612AF76 + sample 56: + time = 1300317 + flags = 1 + data = length 391, hash 4B59EFBD + sample 57: + time = 1323537 + flags = 1 + data = length 390, hash 8CB3956F + sample 58: + time = 1346757 + flags = 1 + data = length 388, hash F9B691B9 + sample 59: + time = 1369977 + flags = 1 + data = length 399, hash 280948A3 + sample 60: + time = 1393197 + flags = 1 + data = length 390, hash 929628B2 + sample 61: + time = 1416417 + flags = 1 + data = length 387, hash 56291FF5 + sample 62: + time = 1439637 + flags = 1 + data = length 446, hash 2A7FE5FE + sample 63: + time = 1462857 + flags = 1 + data = length 436, hash D872A8A + sample 64: + time = 1486077 + flags = 1 + data = length 394, hash EA791960 + sample 65: + time = 1509297 + flags = 1 + data = length 417, hash BEEC2ED0 + sample 66: + time = 1532517 + flags = 1 + data = length 442, hash FDFFC29F + sample 67: + time = 1555736 + flags = 1 + data = length 416, hash 2F2ED36F + sample 68: + time = 1578956 + flags = 1 + data = length 396, hash 1CFA7982 + sample 69: + time = 1602176 + flags = 1 + data = length 395, hash 2998BEF2 + sample 70: + time = 1625396 + flags = 1 + data = length 389, hash AB8EAB86 + sample 71: + time = 1648616 + flags = 1 + data = length 404, hash AC927E7 + sample 72: + time = 1671836 + flags = 1 + data = length 418, hash 60370BB0 + sample 73: + time = 1695056 + flags = 1 + data = length 393, hash 608345FA + sample 74: + time = 1718276 + flags = 1 + data = length 402, hash D478A3DE + sample 75: + time = 1741496 + flags = 1 + data = length 404, hash 98A170D8 + sample 76: + time = 1764716 + flags = 1 + data = length 397, hash FE8F519C + sample 77: + time = 1787936 + flags = 1 + data = length 386, hash 4FD184BE + sample 78: + time = 1811156 + flags = 1 + data = length 377, hash 76FBE38F + sample 79: + time = 1834376 + flags = 1 + data = length 409, hash 92C677A9 + sample 80: + time = 1857596 + flags = 1 + data = length 402, hash 42CFE9E2 + sample 81: + time = 1880816 + flags = 1 + data = length 390, hash A5BF0232 + sample 82: + time = 1904036 + flags = 1 + data = length 388, hash 55F742C6 + sample 83: + time = 1927256 + flags = 1 + data = length 377, hash 84F8DCDD + sample 84: + time = 1950476 + flags = 1 + data = length 391, hash E20DB9EB + sample 85: + time = 1973696 + flags = 1 + data = length 398, hash 2B8A6B07 + sample 86: + time = 1996916 + flags = 1 + data = length 381, hash 8E227E10 + sample 87: + time = 2020136 + flags = 1 + data = length 393, hash 1C5EE4DA + sample 88: + time = 2043356 + flags = 1 + data = length 393, hash D37FAB94 + sample 89: + time = 2066575 + flags = 1 + data = length 380, hash 61D9B8F1 + sample 90: + time = 2089795 + flags = 1 + data = length 395, hash BB9069D0 + sample 91: + time = 2113015 + flags = 1 + data = length 379, hash 27A4C8AB + sample 92: + time = 2136235 + flags = 1 + data = length 403, hash 2F93ACAE + sample 93: + time = 2159455 + flags = 1 + data = length 415, hash 51099155 + sample 94: + time = 2182675 + flags = 1 + data = length 400, hash EC019A99 + sample 95: + time = 2205895 + flags = 1 + data = length 401, hash F42E02C7 + sample 96: + time = 2229115 + flags = 1 + data = length 400, hash C8E29F0A + sample 97: + time = 2252335 + flags = 1 + data = length 408, hash B388110C + sample 98: + time = 2275555 + flags = 1 + data = length 406, hash FCFBEFD9 + sample 99: + time = 2298775 + flags = 1 + data = length 411, hash 9C60D439 + sample 100: + time = 2321995 + flags = 1 + data = length 414, hash 8EECCBD9 + sample 101: + time = 2345215 + flags = 1 + data = length 393, hash 9B1317BC + sample 102: + time = 2368435 + flags = 1 + data = length 405, hash 4CBBCFBF + sample 103: + time = 2391655 + flags = 1 + data = length 412, hash A8C3BE09 + sample 104: + time = 2414875 + flags = 1 + data = length 409, hash CDDB880D + sample 105: + time = 2438095 + flags = 1 + data = length 423, hash 9F87A5D + sample 106: + time = 2461315 + flags = 1 + data = length 399, hash 6C7043B7 + sample 107: + time = 2484535 + flags = 1 + data = length 400, hash 297E775C + sample 108: + time = 2507755 + flags = 1 + data = length 397, hash 5732E5A2 + sample 109: + time = 2530975 + flags = 1 + data = length 398, hash 127D1EF3 + sample 110: + time = 2554195 + flags = 1 + data = length 424, hash BF76C0EC + sample 111: + time = 2577414 + flags = 536870913 + data = length 417, hash 761190B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.1.dump new file mode 100644 index 0000000000..d093dee2df --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.1.dump @@ -0,0 +1,591 @@ +seekMap: + isSeekable = true + duration = 2548333 + getPosition(0) = [[timeUs=611666, position=16205]] + getPosition(1) = [[timeUs=611666, position=16205]] + getPosition(1274166) = [[timeUs=611666, position=16205], [timeUs=1680000, position=34939]] + getPosition(2548333) = [[timeUs=1680000, position=34939]] +numberOfTracks = 2 +track 0: + total output bytes = 2168517 + sample count = 60 + format 0: + id = 1 + sampleMimeType = video/dolby-vision + codecs = hev1.08.04 + maxInputSize = 196379 + width = 1920 + height = 1080 + frameRate = 23.544804 + rotationDegrees = 90 + colorInfo: + colorSpace = 6 + colorRange = 2 + colorTransfer = 7 + lumaBitdepth = 10 + chromaBitdepth = 10 + metadata = entries=[Mp4Timestamp: creation time=3788952614, modification time=3788952614, timescale=600] + initializationData: + data = length 97, hash 32FB3D18 + sample 0: + time = 611666 + flags = 1 + data = length 196349, hash 484B3706 + sample 1: + time = 545000 + flags = 0 + data = length 36093, hash 9964470A + sample 2: + time = 511666 + flags = 0 + data = length 9196, hash 124A821F + sample 3: + time = 578333 + flags = 0 + data = length 11337, hash 2A61C44F + sample 4: + time = 745000 + flags = 0 + data = length 89197, hash E331760E + sample 5: + time = 678333 + flags = 0 + data = length 27802, hash 280175A2 + sample 6: + time = 645000 + flags = 0 + data = length 9295, hash 1CC71F4D + sample 7: + time = 711666 + flags = 0 + data = length 11844, hash 595DBFFA + sample 8: + time = 878333 + flags = 0 + data = length 78369, hash 958807CA + sample 9: + time = 811666 + flags = 0 + data = length 28320, hash 8B5DAC6A + sample 10: + time = 778333 + flags = 0 + data = length 13845, hash 868C5F96 + sample 11: + time = 845000 + flags = 0 + data = length 13734, hash 2BF28058 + sample 12: + time = 1011666 + flags = 0 + data = length 60140, hash 4DCE6D29 + sample 13: + time = 945000 + flags = 0 + data = length 28024, hash 2808AC27 + sample 14: + time = 911666 + flags = 0 + data = length 14865, hash DA936298 + sample 15: + time = 978333 + flags = 0 + data = length 15631, hash F11D2528 + sample 16: + time = 1145000 + flags = 0 + data = length 59293, hash 1C3296CD + sample 17: + time = 1078333 + flags = 0 + data = length 27545, hash 189E13B8 + sample 18: + time = 1045000 + flags = 0 + data = length 14959, hash A47356EF + sample 19: + time = 1111666 + flags = 0 + data = length 15621, hash C391E893 + sample 20: + time = 1278333 + flags = 0 + data = length 66112, hash 54A454C4 + sample 21: + time = 1211666 + flags = 0 + data = length 33610, hash 4C3F57F2 + sample 22: + time = 1178333 + flags = 0 + data = length 13205, hash EC181CA7 + sample 23: + time = 1245000 + flags = 0 + data = length 18525, hash 20D8FE9D + sample 24: + time = 1411666 + flags = 0 + data = length 63613, hash B807DB7E + sample 25: + time = 1345000 + flags = 0 + data = length 40816, hash 2D023C8F + sample 26: + time = 1311666 + flags = 0 + data = length 17728, hash B07033B9 + sample 27: + time = 1378333 + flags = 0 + data = length 13105, hash 4E3B7245 + sample 28: + time = 1546666 + flags = 0 + data = length 54500, hash 88F3013F + sample 29: + time = 1478333 + flags = 0 + data = length 34711, hash 9918D286 + sample 30: + time = 1445000 + flags = 0 + data = length 14764, hash CF9044AB + sample 31: + time = 1513333 + flags = 0 + data = length 16517, hash BA27C997 + sample 32: + time = 1680000 + flags = 1 + data = length 143217, hash A7D06C3F + sample 33: + time = 1613333 + flags = 0 + data = length 32967, hash E490EDD3 + sample 34: + time = 1580000 + flags = 0 + data = length 17445, hash 5F91C2B8 + sample 35: + time = 1646666 + flags = 0 + data = length 14638, hash 775110FE + sample 36: + time = 1813333 + flags = 0 + data = length 67665, hash A9A21D87 + sample 37: + time = 1746666 + flags = 0 + data = length 32392, hash 7E790D61 + sample 38: + time = 1713333 + flags = 0 + data = length 10589, hash 6EB324E3 + sample 39: + time = 1780000 + flags = 0 + data = length 18023, hash 29D03684 + sample 40: + time = 1946666 + flags = 0 + data = length 67946, hash 8135C195 + sample 41: + time = 1880000 + flags = 0 + data = length 41030, hash B6A9208 + sample 42: + time = 1846666 + flags = 0 + data = length 15110, hash BF682221 + sample 43: + time = 1913333 + flags = 0 + data = length 17245, hash 2BAFA805 + sample 44: + time = 2080000 + flags = 0 + data = length 57455, hash 2754BFA0 + sample 45: + time = 2013333 + flags = 0 + data = length 37067, hash CCE6C30F + sample 46: + time = 1980000 + flags = 0 + data = length 14098, hash 60A5760F + sample 47: + time = 2046666 + flags = 0 + data = length 20864, hash 94450211 + sample 48: + time = 2213333 + flags = 0 + data = length 62871, hash BA53494F + sample 49: + time = 2146666 + flags = 0 + data = length 38596, hash 420335AC + sample 50: + time = 2113333 + flags = 0 + data = length 17584, hash 2E024B02 + sample 51: + time = 2180000 + flags = 0 + data = length 18521, hash 7381819A + sample 52: + time = 2346666 + flags = 0 + data = length 54835, hash F45163BF + sample 53: + time = 2280000 + flags = 0 + data = length 29346, hash A57C757F + sample 54: + time = 2246666 + flags = 0 + data = length 15815, hash 1B194C31 + sample 55: + time = 2313333 + flags = 0 + data = length 20390, hash A162AAD0 + sample 56: + time = 2480000 + flags = 0 + data = length 64262, hash 875514C7 + sample 57: + time = 2413333 + flags = 0 + data = length 39953, hash 3884739A + sample 58: + time = 2380000 + flags = 0 + data = length 23136, hash 8AF1C1AD + sample 59: + time = 2446666 + flags = 536870912 + data = length 26792, hash 3157758F +track 1: + total output bytes = 30664 + sample count = 76 + format 0: + peakBitrate = 192000 + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + maxInputSize = 832 + channelCount = 2 + sampleRate = 44100 + encoderDelay = 1698 + encoderPadding = 609 + language = und + metadata = entries=[Mp4Timestamp: creation time=3788952614, modification time=3788952614, timescale=600] + initializationData: + data = length 2, hash 5FF + sample 0: + time = 835918 + flags = 1 + data = length 408, hash 3A4EFC47 + sample 1: + time = 859138 + flags = 1 + data = length 414, hash 6FED5E60 + sample 2: + time = 882358 + flags = 1 + data = length 427, hash 42AC5664 + sample 3: + time = 905578 + flags = 1 + data = length 429, hash 62F3725D + sample 4: + time = 928798 + flags = 1 + data = length 403, hash 6C11E259 + sample 5: + time = 952018 + flags = 1 + data = length 421, hash 4EF805F6 + sample 6: + time = 975238 + flags = 1 + data = length 404, hash 2094740F + sample 7: + time = 998458 + flags = 1 + data = length 426, hash FCF2A593 + sample 8: + time = 1021678 + flags = 1 + data = length 423, hash DB09D7F0 + sample 9: + time = 1044897 + flags = 1 + data = length 411, hash A4CB44DB + sample 10: + time = 1068117 + flags = 1 + data = length 404, hash 4959B833 + sample 11: + time = 1091337 + flags = 1 + data = length 403, hash B5C8DFA1 + sample 12: + time = 1114557 + flags = 1 + data = length 422, hash ABE9358F + sample 13: + time = 1137777 + flags = 1 + data = length 418, hash C1914F50 + sample 14: + time = 1160997 + flags = 1 + data = length 421, hash 4453B916 + sample 15: + time = 1184217 + flags = 1 + data = length 400, hash 73452AD3 + sample 16: + time = 1207437 + flags = 1 + data = length 400, hash F094F7B + sample 17: + time = 1230657 + flags = 1 + data = length 410, hash EC5D2BC2 + sample 18: + time = 1253877 + flags = 1 + data = length 391, hash 9DC6D32 + sample 19: + time = 1277097 + flags = 1 + data = length 361, hash 6612AF76 + sample 20: + time = 1300317 + flags = 1 + data = length 391, hash 4B59EFBD + sample 21: + time = 1323537 + flags = 1 + data = length 390, hash 8CB3956F + sample 22: + time = 1346757 + flags = 1 + data = length 388, hash F9B691B9 + sample 23: + time = 1369977 + flags = 1 + data = length 399, hash 280948A3 + sample 24: + time = 1393197 + flags = 1 + data = length 390, hash 929628B2 + sample 25: + time = 1416417 + flags = 1 + data = length 387, hash 56291FF5 + sample 26: + time = 1439637 + flags = 1 + data = length 446, hash 2A7FE5FE + sample 27: + time = 1462857 + flags = 1 + data = length 436, hash D872A8A + sample 28: + time = 1486077 + flags = 1 + data = length 394, hash EA791960 + sample 29: + time = 1509297 + flags = 1 + data = length 417, hash BEEC2ED0 + sample 30: + time = 1532517 + flags = 1 + data = length 442, hash FDFFC29F + sample 31: + time = 1555736 + flags = 1 + data = length 416, hash 2F2ED36F + sample 32: + time = 1578956 + flags = 1 + data = length 396, hash 1CFA7982 + sample 33: + time = 1602176 + flags = 1 + data = length 395, hash 2998BEF2 + sample 34: + time = 1625396 + flags = 1 + data = length 389, hash AB8EAB86 + sample 35: + time = 1648616 + flags = 1 + data = length 404, hash AC927E7 + sample 36: + time = 1671836 + flags = 1 + data = length 418, hash 60370BB0 + sample 37: + time = 1695056 + flags = 1 + data = length 393, hash 608345FA + sample 38: + time = 1718276 + flags = 1 + data = length 402, hash D478A3DE + sample 39: + time = 1741496 + flags = 1 + data = length 404, hash 98A170D8 + sample 40: + time = 1764716 + flags = 1 + data = length 397, hash FE8F519C + sample 41: + time = 1787936 + flags = 1 + data = length 386, hash 4FD184BE + sample 42: + time = 1811156 + flags = 1 + data = length 377, hash 76FBE38F + sample 43: + time = 1834376 + flags = 1 + data = length 409, hash 92C677A9 + sample 44: + time = 1857596 + flags = 1 + data = length 402, hash 42CFE9E2 + sample 45: + time = 1880816 + flags = 1 + data = length 390, hash A5BF0232 + sample 46: + time = 1904036 + flags = 1 + data = length 388, hash 55F742C6 + sample 47: + time = 1927256 + flags = 1 + data = length 377, hash 84F8DCDD + sample 48: + time = 1950476 + flags = 1 + data = length 391, hash E20DB9EB + sample 49: + time = 1973696 + flags = 1 + data = length 398, hash 2B8A6B07 + sample 50: + time = 1996916 + flags = 1 + data = length 381, hash 8E227E10 + sample 51: + time = 2020136 + flags = 1 + data = length 393, hash 1C5EE4DA + sample 52: + time = 2043356 + flags = 1 + data = length 393, hash D37FAB94 + sample 53: + time = 2066575 + flags = 1 + data = length 380, hash 61D9B8F1 + sample 54: + time = 2089795 + flags = 1 + data = length 395, hash BB9069D0 + sample 55: + time = 2113015 + flags = 1 + data = length 379, hash 27A4C8AB + sample 56: + time = 2136235 + flags = 1 + data = length 403, hash 2F93ACAE + sample 57: + time = 2159455 + flags = 1 + data = length 415, hash 51099155 + sample 58: + time = 2182675 + flags = 1 + data = length 400, hash EC019A99 + sample 59: + time = 2205895 + flags = 1 + data = length 401, hash F42E02C7 + sample 60: + time = 2229115 + flags = 1 + data = length 400, hash C8E29F0A + sample 61: + time = 2252335 + flags = 1 + data = length 408, hash B388110C + sample 62: + time = 2275555 + flags = 1 + data = length 406, hash FCFBEFD9 + sample 63: + time = 2298775 + flags = 1 + data = length 411, hash 9C60D439 + sample 64: + time = 2321995 + flags = 1 + data = length 414, hash 8EECCBD9 + sample 65: + time = 2345215 + flags = 1 + data = length 393, hash 9B1317BC + sample 66: + time = 2368435 + flags = 1 + data = length 405, hash 4CBBCFBF + sample 67: + time = 2391655 + flags = 1 + data = length 412, hash A8C3BE09 + sample 68: + time = 2414875 + flags = 1 + data = length 409, hash CDDB880D + sample 69: + time = 2438095 + flags = 1 + data = length 423, hash 9F87A5D + sample 70: + time = 2461315 + flags = 1 + data = length 399, hash 6C7043B7 + sample 71: + time = 2484535 + flags = 1 + data = length 400, hash 297E775C + sample 72: + time = 2507755 + flags = 1 + data = length 397, hash 5732E5A2 + sample 73: + time = 2530975 + flags = 1 + data = length 398, hash 127D1EF3 + sample 74: + time = 2554195 + flags = 1 + data = length 424, hash BF76C0EC + sample 75: + time = 2577414 + flags = 536870913 + data = length 417, hash 761190B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.2.dump new file mode 100644 index 0000000000..9953bd544a --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.2.dump @@ -0,0 +1,315 @@ +seekMap: + isSeekable = true + duration = 2548333 + getPosition(0) = [[timeUs=611666, position=16205]] + getPosition(1) = [[timeUs=611666, position=16205]] + getPosition(1274166) = [[timeUs=611666, position=16205], [timeUs=1680000, position=34939]] + getPosition(2548333) = [[timeUs=1680000, position=34939]] +numberOfTracks = 2 +track 0: + total output bytes = 1019852 + sample count = 28 + format 0: + id = 1 + sampleMimeType = video/dolby-vision + codecs = hev1.08.04 + maxInputSize = 196379 + width = 1920 + height = 1080 + frameRate = 23.544804 + rotationDegrees = 90 + colorInfo: + colorSpace = 6 + colorRange = 2 + colorTransfer = 7 + lumaBitdepth = 10 + chromaBitdepth = 10 + metadata = entries=[Mp4Timestamp: creation time=3788952614, modification time=3788952614, timescale=600] + initializationData: + data = length 97, hash 32FB3D18 + sample 0: + time = 1680000 + flags = 1 + data = length 143217, hash A7D06C3F + sample 1: + time = 1613333 + flags = 0 + data = length 32967, hash E490EDD3 + sample 2: + time = 1580000 + flags = 0 + data = length 17445, hash 5F91C2B8 + sample 3: + time = 1646666 + flags = 0 + data = length 14638, hash 775110FE + sample 4: + time = 1813333 + flags = 0 + data = length 67665, hash A9A21D87 + sample 5: + time = 1746666 + flags = 0 + data = length 32392, hash 7E790D61 + sample 6: + time = 1713333 + flags = 0 + data = length 10589, hash 6EB324E3 + sample 7: + time = 1780000 + flags = 0 + data = length 18023, hash 29D03684 + sample 8: + time = 1946666 + flags = 0 + data = length 67946, hash 8135C195 + sample 9: + time = 1880000 + flags = 0 + data = length 41030, hash B6A9208 + sample 10: + time = 1846666 + flags = 0 + data = length 15110, hash BF682221 + sample 11: + time = 1913333 + flags = 0 + data = length 17245, hash 2BAFA805 + sample 12: + time = 2080000 + flags = 0 + data = length 57455, hash 2754BFA0 + sample 13: + time = 2013333 + flags = 0 + data = length 37067, hash CCE6C30F + sample 14: + time = 1980000 + flags = 0 + data = length 14098, hash 60A5760F + sample 15: + time = 2046666 + flags = 0 + data = length 20864, hash 94450211 + sample 16: + time = 2213333 + flags = 0 + data = length 62871, hash BA53494F + sample 17: + time = 2146666 + flags = 0 + data = length 38596, hash 420335AC + sample 18: + time = 2113333 + flags = 0 + data = length 17584, hash 2E024B02 + sample 19: + time = 2180000 + flags = 0 + data = length 18521, hash 7381819A + sample 20: + time = 2346666 + flags = 0 + data = length 54835, hash F45163BF + sample 21: + time = 2280000 + flags = 0 + data = length 29346, hash A57C757F + sample 22: + time = 2246666 + flags = 0 + data = length 15815, hash 1B194C31 + sample 23: + time = 2313333 + flags = 0 + data = length 20390, hash A162AAD0 + sample 24: + time = 2480000 + flags = 0 + data = length 64262, hash 875514C7 + sample 25: + time = 2413333 + flags = 0 + data = length 39953, hash 3884739A + sample 26: + time = 2380000 + flags = 0 + data = length 23136, hash 8AF1C1AD + sample 27: + time = 2446666 + flags = 536870912 + data = length 26792, hash 3157758F +track 1: + total output bytes = 15570 + sample count = 39 + format 0: + peakBitrate = 192000 + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + maxInputSize = 832 + channelCount = 2 + sampleRate = 44100 + encoderDelay = 1698 + encoderPadding = 609 + language = und + metadata = entries=[Mp4Timestamp: creation time=3788952614, modification time=3788952614, timescale=600] + initializationData: + data = length 2, hash 5FF + sample 0: + time = 1695056 + flags = 1 + data = length 393, hash 608345FA + sample 1: + time = 1718276 + flags = 1 + data = length 402, hash D478A3DE + sample 2: + time = 1741496 + flags = 1 + data = length 404, hash 98A170D8 + sample 3: + time = 1764716 + flags = 1 + data = length 397, hash FE8F519C + sample 4: + time = 1787936 + flags = 1 + data = length 386, hash 4FD184BE + sample 5: + time = 1811156 + flags = 1 + data = length 377, hash 76FBE38F + sample 6: + time = 1834376 + flags = 1 + data = length 409, hash 92C677A9 + sample 7: + time = 1857596 + flags = 1 + data = length 402, hash 42CFE9E2 + sample 8: + time = 1880816 + flags = 1 + data = length 390, hash A5BF0232 + sample 9: + time = 1904036 + flags = 1 + data = length 388, hash 55F742C6 + sample 10: + time = 1927256 + flags = 1 + data = length 377, hash 84F8DCDD + sample 11: + time = 1950476 + flags = 1 + data = length 391, hash E20DB9EB + sample 12: + time = 1973696 + flags = 1 + data = length 398, hash 2B8A6B07 + sample 13: + time = 1996916 + flags = 1 + data = length 381, hash 8E227E10 + sample 14: + time = 2020136 + flags = 1 + data = length 393, hash 1C5EE4DA + sample 15: + time = 2043356 + flags = 1 + data = length 393, hash D37FAB94 + sample 16: + time = 2066575 + flags = 1 + data = length 380, hash 61D9B8F1 + sample 17: + time = 2089795 + flags = 1 + data = length 395, hash BB9069D0 + sample 18: + time = 2113015 + flags = 1 + data = length 379, hash 27A4C8AB + sample 19: + time = 2136235 + flags = 1 + data = length 403, hash 2F93ACAE + sample 20: + time = 2159455 + flags = 1 + data = length 415, hash 51099155 + sample 21: + time = 2182675 + flags = 1 + data = length 400, hash EC019A99 + sample 22: + time = 2205895 + flags = 1 + data = length 401, hash F42E02C7 + sample 23: + time = 2229115 + flags = 1 + data = length 400, hash C8E29F0A + sample 24: + time = 2252335 + flags = 1 + data = length 408, hash B388110C + sample 25: + time = 2275555 + flags = 1 + data = length 406, hash FCFBEFD9 + sample 26: + time = 2298775 + flags = 1 + data = length 411, hash 9C60D439 + sample 27: + time = 2321995 + flags = 1 + data = length 414, hash 8EECCBD9 + sample 28: + time = 2345215 + flags = 1 + data = length 393, hash 9B1317BC + sample 29: + time = 2368435 + flags = 1 + data = length 405, hash 4CBBCFBF + sample 30: + time = 2391655 + flags = 1 + data = length 412, hash A8C3BE09 + sample 31: + time = 2414875 + flags = 1 + data = length 409, hash CDDB880D + sample 32: + time = 2438095 + flags = 1 + data = length 423, hash 9F87A5D + sample 33: + time = 2461315 + flags = 1 + data = length 399, hash 6C7043B7 + sample 34: + time = 2484535 + flags = 1 + data = length 400, hash 297E775C + sample 35: + time = 2507755 + flags = 1 + data = length 397, hash 5732E5A2 + sample 36: + time = 2530975 + flags = 1 + data = length 398, hash 127D1EF3 + sample 37: + time = 2554195 + flags = 1 + data = length 424, hash BF76C0EC + sample 38: + time = 2577414 + flags = 536870913 + data = length 417, hash 761190B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.3.dump new file mode 100644 index 0000000000..55ecd52bc1 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.3.dump @@ -0,0 +1,171 @@ +seekMap: + isSeekable = true + duration = 2548333 + getPosition(0) = [[timeUs=611666, position=16205]] + getPosition(1) = [[timeUs=611666, position=16205]] + getPosition(1274166) = [[timeUs=611666, position=16205], [timeUs=1680000, position=34939]] + getPosition(2548333) = [[timeUs=1680000, position=34939]] +numberOfTracks = 2 +track 0: + total output bytes = 1019852 + sample count = 28 + format 0: + id = 1 + sampleMimeType = video/dolby-vision + codecs = hev1.08.04 + maxInputSize = 196379 + width = 1920 + height = 1080 + frameRate = 23.544804 + rotationDegrees = 90 + colorInfo: + colorSpace = 6 + colorRange = 2 + colorTransfer = 7 + lumaBitdepth = 10 + chromaBitdepth = 10 + metadata = entries=[Mp4Timestamp: creation time=3788952614, modification time=3788952614, timescale=600] + initializationData: + data = length 97, hash 32FB3D18 + sample 0: + time = 1680000 + flags = 1 + data = length 143217, hash A7D06C3F + sample 1: + time = 1613333 + flags = 0 + data = length 32967, hash E490EDD3 + sample 2: + time = 1580000 + flags = 0 + data = length 17445, hash 5F91C2B8 + sample 3: + time = 1646666 + flags = 0 + data = length 14638, hash 775110FE + sample 4: + time = 1813333 + flags = 0 + data = length 67665, hash A9A21D87 + sample 5: + time = 1746666 + flags = 0 + data = length 32392, hash 7E790D61 + sample 6: + time = 1713333 + flags = 0 + data = length 10589, hash 6EB324E3 + sample 7: + time = 1780000 + flags = 0 + data = length 18023, hash 29D03684 + sample 8: + time = 1946666 + flags = 0 + data = length 67946, hash 8135C195 + sample 9: + time = 1880000 + flags = 0 + data = length 41030, hash B6A9208 + sample 10: + time = 1846666 + flags = 0 + data = length 15110, hash BF682221 + sample 11: + time = 1913333 + flags = 0 + data = length 17245, hash 2BAFA805 + sample 12: + time = 2080000 + flags = 0 + data = length 57455, hash 2754BFA0 + sample 13: + time = 2013333 + flags = 0 + data = length 37067, hash CCE6C30F + sample 14: + time = 1980000 + flags = 0 + data = length 14098, hash 60A5760F + sample 15: + time = 2046666 + flags = 0 + data = length 20864, hash 94450211 + sample 16: + time = 2213333 + flags = 0 + data = length 62871, hash BA53494F + sample 17: + time = 2146666 + flags = 0 + data = length 38596, hash 420335AC + sample 18: + time = 2113333 + flags = 0 + data = length 17584, hash 2E024B02 + sample 19: + time = 2180000 + flags = 0 + data = length 18521, hash 7381819A + sample 20: + time = 2346666 + flags = 0 + data = length 54835, hash F45163BF + sample 21: + time = 2280000 + flags = 0 + data = length 29346, hash A57C757F + sample 22: + time = 2246666 + flags = 0 + data = length 15815, hash 1B194C31 + sample 23: + time = 2313333 + flags = 0 + data = length 20390, hash A162AAD0 + sample 24: + time = 2480000 + flags = 0 + data = length 64262, hash 875514C7 + sample 25: + time = 2413333 + flags = 0 + data = length 39953, hash 3884739A + sample 26: + time = 2380000 + flags = 0 + data = length 23136, hash 8AF1C1AD + sample 27: + time = 2446666 + flags = 536870912 + data = length 26792, hash 3157758F +track 1: + total output bytes = 1239 + sample count = 3 + format 0: + peakBitrate = 192000 + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + maxInputSize = 832 + channelCount = 2 + sampleRate = 44100 + encoderDelay = 1698 + encoderPadding = 609 + language = und + metadata = entries=[Mp4Timestamp: creation time=3788952614, modification time=3788952614, timescale=600] + initializationData: + data = length 2, hash 5FF + sample 0: + time = 2530975 + flags = 1 + data = length 398, hash 127D1EF3 + sample 1: + time = 2554195 + flags = 1 + data = length 424, hash BF76C0EC + sample 2: + time = 2577414 + flags = 536870913 + data = length 417, hash 761190B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.unknown_length.dump new file mode 100644 index 0000000000..417174774a --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_edit_list.mp4.unknown_length.dump @@ -0,0 +1,735 @@ +seekMap: + isSeekable = true + duration = 2548333 + getPosition(0) = [[timeUs=611666, position=16205]] + getPosition(1) = [[timeUs=611666, position=16205]] + getPosition(1274166) = [[timeUs=611666, position=16205], [timeUs=1680000, position=34939]] + getPosition(2548333) = [[timeUs=1680000, position=34939]] +numberOfTracks = 2 +track 0: + total output bytes = 2168517 + sample count = 60 + format 0: + id = 1 + sampleMimeType = video/dolby-vision + codecs = hev1.08.04 + maxInputSize = 196379 + width = 1920 + height = 1080 + frameRate = 23.544804 + rotationDegrees = 90 + colorInfo: + colorSpace = 6 + colorRange = 2 + colorTransfer = 7 + lumaBitdepth = 10 + chromaBitdepth = 10 + metadata = entries=[Mp4Timestamp: creation time=3788952614, modification time=3788952614, timescale=600] + initializationData: + data = length 97, hash 32FB3D18 + sample 0: + time = 611666 + flags = 1 + data = length 196349, hash 484B3706 + sample 1: + time = 545000 + flags = 0 + data = length 36093, hash 9964470A + sample 2: + time = 511666 + flags = 0 + data = length 9196, hash 124A821F + sample 3: + time = 578333 + flags = 0 + data = length 11337, hash 2A61C44F + sample 4: + time = 745000 + flags = 0 + data = length 89197, hash E331760E + sample 5: + time = 678333 + flags = 0 + data = length 27802, hash 280175A2 + sample 6: + time = 645000 + flags = 0 + data = length 9295, hash 1CC71F4D + sample 7: + time = 711666 + flags = 0 + data = length 11844, hash 595DBFFA + sample 8: + time = 878333 + flags = 0 + data = length 78369, hash 958807CA + sample 9: + time = 811666 + flags = 0 + data = length 28320, hash 8B5DAC6A + sample 10: + time = 778333 + flags = 0 + data = length 13845, hash 868C5F96 + sample 11: + time = 845000 + flags = 0 + data = length 13734, hash 2BF28058 + sample 12: + time = 1011666 + flags = 0 + data = length 60140, hash 4DCE6D29 + sample 13: + time = 945000 + flags = 0 + data = length 28024, hash 2808AC27 + sample 14: + time = 911666 + flags = 0 + data = length 14865, hash DA936298 + sample 15: + time = 978333 + flags = 0 + data = length 15631, hash F11D2528 + sample 16: + time = 1145000 + flags = 0 + data = length 59293, hash 1C3296CD + sample 17: + time = 1078333 + flags = 0 + data = length 27545, hash 189E13B8 + sample 18: + time = 1045000 + flags = 0 + data = length 14959, hash A47356EF + sample 19: + time = 1111666 + flags = 0 + data = length 15621, hash C391E893 + sample 20: + time = 1278333 + flags = 0 + data = length 66112, hash 54A454C4 + sample 21: + time = 1211666 + flags = 0 + data = length 33610, hash 4C3F57F2 + sample 22: + time = 1178333 + flags = 0 + data = length 13205, hash EC181CA7 + sample 23: + time = 1245000 + flags = 0 + data = length 18525, hash 20D8FE9D + sample 24: + time = 1411666 + flags = 0 + data = length 63613, hash B807DB7E + sample 25: + time = 1345000 + flags = 0 + data = length 40816, hash 2D023C8F + sample 26: + time = 1311666 + flags = 0 + data = length 17728, hash B07033B9 + sample 27: + time = 1378333 + flags = 0 + data = length 13105, hash 4E3B7245 + sample 28: + time = 1546666 + flags = 0 + data = length 54500, hash 88F3013F + sample 29: + time = 1478333 + flags = 0 + data = length 34711, hash 9918D286 + sample 30: + time = 1445000 + flags = 0 + data = length 14764, hash CF9044AB + sample 31: + time = 1513333 + flags = 0 + data = length 16517, hash BA27C997 + sample 32: + time = 1680000 + flags = 1 + data = length 143217, hash A7D06C3F + sample 33: + time = 1613333 + flags = 0 + data = length 32967, hash E490EDD3 + sample 34: + time = 1580000 + flags = 0 + data = length 17445, hash 5F91C2B8 + sample 35: + time = 1646666 + flags = 0 + data = length 14638, hash 775110FE + sample 36: + time = 1813333 + flags = 0 + data = length 67665, hash A9A21D87 + sample 37: + time = 1746666 + flags = 0 + data = length 32392, hash 7E790D61 + sample 38: + time = 1713333 + flags = 0 + data = length 10589, hash 6EB324E3 + sample 39: + time = 1780000 + flags = 0 + data = length 18023, hash 29D03684 + sample 40: + time = 1946666 + flags = 0 + data = length 67946, hash 8135C195 + sample 41: + time = 1880000 + flags = 0 + data = length 41030, hash B6A9208 + sample 42: + time = 1846666 + flags = 0 + data = length 15110, hash BF682221 + sample 43: + time = 1913333 + flags = 0 + data = length 17245, hash 2BAFA805 + sample 44: + time = 2080000 + flags = 0 + data = length 57455, hash 2754BFA0 + sample 45: + time = 2013333 + flags = 0 + data = length 37067, hash CCE6C30F + sample 46: + time = 1980000 + flags = 0 + data = length 14098, hash 60A5760F + sample 47: + time = 2046666 + flags = 0 + data = length 20864, hash 94450211 + sample 48: + time = 2213333 + flags = 0 + data = length 62871, hash BA53494F + sample 49: + time = 2146666 + flags = 0 + data = length 38596, hash 420335AC + sample 50: + time = 2113333 + flags = 0 + data = length 17584, hash 2E024B02 + sample 51: + time = 2180000 + flags = 0 + data = length 18521, hash 7381819A + sample 52: + time = 2346666 + flags = 0 + data = length 54835, hash F45163BF + sample 53: + time = 2280000 + flags = 0 + data = length 29346, hash A57C757F + sample 54: + time = 2246666 + flags = 0 + data = length 15815, hash 1B194C31 + sample 55: + time = 2313333 + flags = 0 + data = length 20390, hash A162AAD0 + sample 56: + time = 2480000 + flags = 0 + data = length 64262, hash 875514C7 + sample 57: + time = 2413333 + flags = 0 + data = length 39953, hash 3884739A + sample 58: + time = 2380000 + flags = 0 + data = length 23136, hash 8AF1C1AD + sample 59: + time = 2446666 + flags = 536870912 + data = length 26792, hash 3157758F +track 1: + total output bytes = 45765 + sample count = 112 + format 0: + peakBitrate = 192000 + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + maxInputSize = 832 + channelCount = 2 + sampleRate = 44100 + encoderDelay = 1698 + encoderPadding = 609 + language = und + metadata = entries=[Mp4Timestamp: creation time=3788952614, modification time=3788952614, timescale=600] + initializationData: + data = length 2, hash 5FF + sample 0: + time = 0 + flags = 1 + data = length 802, hash DE7F20AC + sample 1: + time = 23219 + flags = 1 + data = length 457, hash 3F6EF91 + sample 2: + time = 46439 + flags = 1 + data = length 439, hash 9EFEF547 + sample 3: + time = 69659 + flags = 1 + data = length 425, hash 9E1A2B66 + sample 4: + time = 92879 + flags = 1 + data = length 420, hash 7AA38F34 + sample 5: + time = 116099 + flags = 1 + data = length 399, hash 919F7E1C + sample 6: + time = 139319 + flags = 1 + data = length 394, hash 4EB03DBE + sample 7: + time = 162539 + flags = 1 + data = length 392, hash C027E340 + sample 8: + time = 185759 + flags = 1 + data = length 389, hash F5CA0E30 + sample 9: + time = 208979 + flags = 1 + data = length 406, hash C4D75949 + sample 10: + time = 232199 + flags = 1 + data = length 418, hash A00CE696 + sample 11: + time = 255419 + flags = 1 + data = length 398, hash F05C17A5 + sample 12: + time = 278639 + flags = 1 + data = length 399, hash DF5BEB79 + sample 13: + time = 301859 + flags = 1 + data = length 391, hash A7717052 + sample 14: + time = 325079 + flags = 1 + data = length 413, hash CD16EEE8 + sample 15: + time = 348299 + flags = 1 + data = length 417, hash AB8F24B7 + sample 16: + time = 371519 + flags = 1 + data = length 420, hash EB187AD9 + sample 17: + time = 394739 + flags = 1 + data = length 404, hash C7E2028A + sample 18: + time = 417959 + flags = 1 + data = length 427, hash 960C2672 + sample 19: + time = 441179 + flags = 1 + data = length 419, hash 333F12D8 + sample 20: + time = 464399 + flags = 1 + data = length 409, hash 14611ACA + sample 21: + time = 487619 + flags = 1 + data = length 397, hash FF7C175F + sample 22: + time = 510839 + flags = 1 + data = length 397, hash 3C41B7F + sample 23: + time = 534058 + flags = 1 + data = length 407, hash E5FD065C + sample 24: + time = 557278 + flags = 1 + data = length 402, hash 4B054010 + sample 25: + time = 580498 + flags = 1 + data = length 402, hash A831296A + sample 26: + time = 603718 + flags = 1 + data = length 414, hash A140A593 + sample 27: + time = 626938 + flags = 1 + data = length 416, hash 1812B419 + sample 28: + time = 650158 + flags = 1 + data = length 399, hash 8365C231 + sample 29: + time = 673378 + flags = 1 + data = length 385, hash D661688B + sample 30: + time = 696598 + flags = 1 + data = length 403, hash BC9E5E2E + sample 31: + time = 719818 + flags = 1 + data = length 398, hash 59804AE8 + sample 32: + time = 743038 + flags = 1 + data = length 406, hash 3A42B5B7 + sample 33: + time = 766258 + flags = 1 + data = length 414, hash 53FA9880 + sample 34: + time = 789478 + flags = 1 + data = length 398, hash 8D3ADD23 + sample 35: + time = 812698 + flags = 1 + data = length 425, hash C9ADA235 + sample 36: + time = 835918 + flags = 1 + data = length 408, hash 3A4EFC47 + sample 37: + time = 859138 + flags = 1 + data = length 414, hash 6FED5E60 + sample 38: + time = 882358 + flags = 1 + data = length 427, hash 42AC5664 + sample 39: + time = 905578 + flags = 1 + data = length 429, hash 62F3725D + sample 40: + time = 928798 + flags = 1 + data = length 403, hash 6C11E259 + sample 41: + time = 952018 + flags = 1 + data = length 421, hash 4EF805F6 + sample 42: + time = 975238 + flags = 1 + data = length 404, hash 2094740F + sample 43: + time = 998458 + flags = 1 + data = length 426, hash FCF2A593 + sample 44: + time = 1021678 + flags = 1 + data = length 423, hash DB09D7F0 + sample 45: + time = 1044897 + flags = 1 + data = length 411, hash A4CB44DB + sample 46: + time = 1068117 + flags = 1 + data = length 404, hash 4959B833 + sample 47: + time = 1091337 + flags = 1 + data = length 403, hash B5C8DFA1 + sample 48: + time = 1114557 + flags = 1 + data = length 422, hash ABE9358F + sample 49: + time = 1137777 + flags = 1 + data = length 418, hash C1914F50 + sample 50: + time = 1160997 + flags = 1 + data = length 421, hash 4453B916 + sample 51: + time = 1184217 + flags = 1 + data = length 400, hash 73452AD3 + sample 52: + time = 1207437 + flags = 1 + data = length 400, hash F094F7B + sample 53: + time = 1230657 + flags = 1 + data = length 410, hash EC5D2BC2 + sample 54: + time = 1253877 + flags = 1 + data = length 391, hash 9DC6D32 + sample 55: + time = 1277097 + flags = 1 + data = length 361, hash 6612AF76 + sample 56: + time = 1300317 + flags = 1 + data = length 391, hash 4B59EFBD + sample 57: + time = 1323537 + flags = 1 + data = length 390, hash 8CB3956F + sample 58: + time = 1346757 + flags = 1 + data = length 388, hash F9B691B9 + sample 59: + time = 1369977 + flags = 1 + data = length 399, hash 280948A3 + sample 60: + time = 1393197 + flags = 1 + data = length 390, hash 929628B2 + sample 61: + time = 1416417 + flags = 1 + data = length 387, hash 56291FF5 + sample 62: + time = 1439637 + flags = 1 + data = length 446, hash 2A7FE5FE + sample 63: + time = 1462857 + flags = 1 + data = length 436, hash D872A8A + sample 64: + time = 1486077 + flags = 1 + data = length 394, hash EA791960 + sample 65: + time = 1509297 + flags = 1 + data = length 417, hash BEEC2ED0 + sample 66: + time = 1532517 + flags = 1 + data = length 442, hash FDFFC29F + sample 67: + time = 1555736 + flags = 1 + data = length 416, hash 2F2ED36F + sample 68: + time = 1578956 + flags = 1 + data = length 396, hash 1CFA7982 + sample 69: + time = 1602176 + flags = 1 + data = length 395, hash 2998BEF2 + sample 70: + time = 1625396 + flags = 1 + data = length 389, hash AB8EAB86 + sample 71: + time = 1648616 + flags = 1 + data = length 404, hash AC927E7 + sample 72: + time = 1671836 + flags = 1 + data = length 418, hash 60370BB0 + sample 73: + time = 1695056 + flags = 1 + data = length 393, hash 608345FA + sample 74: + time = 1718276 + flags = 1 + data = length 402, hash D478A3DE + sample 75: + time = 1741496 + flags = 1 + data = length 404, hash 98A170D8 + sample 76: + time = 1764716 + flags = 1 + data = length 397, hash FE8F519C + sample 77: + time = 1787936 + flags = 1 + data = length 386, hash 4FD184BE + sample 78: + time = 1811156 + flags = 1 + data = length 377, hash 76FBE38F + sample 79: + time = 1834376 + flags = 1 + data = length 409, hash 92C677A9 + sample 80: + time = 1857596 + flags = 1 + data = length 402, hash 42CFE9E2 + sample 81: + time = 1880816 + flags = 1 + data = length 390, hash A5BF0232 + sample 82: + time = 1904036 + flags = 1 + data = length 388, hash 55F742C6 + sample 83: + time = 1927256 + flags = 1 + data = length 377, hash 84F8DCDD + sample 84: + time = 1950476 + flags = 1 + data = length 391, hash E20DB9EB + sample 85: + time = 1973696 + flags = 1 + data = length 398, hash 2B8A6B07 + sample 86: + time = 1996916 + flags = 1 + data = length 381, hash 8E227E10 + sample 87: + time = 2020136 + flags = 1 + data = length 393, hash 1C5EE4DA + sample 88: + time = 2043356 + flags = 1 + data = length 393, hash D37FAB94 + sample 89: + time = 2066575 + flags = 1 + data = length 380, hash 61D9B8F1 + sample 90: + time = 2089795 + flags = 1 + data = length 395, hash BB9069D0 + sample 91: + time = 2113015 + flags = 1 + data = length 379, hash 27A4C8AB + sample 92: + time = 2136235 + flags = 1 + data = length 403, hash 2F93ACAE + sample 93: + time = 2159455 + flags = 1 + data = length 415, hash 51099155 + sample 94: + time = 2182675 + flags = 1 + data = length 400, hash EC019A99 + sample 95: + time = 2205895 + flags = 1 + data = length 401, hash F42E02C7 + sample 96: + time = 2229115 + flags = 1 + data = length 400, hash C8E29F0A + sample 97: + time = 2252335 + flags = 1 + data = length 408, hash B388110C + sample 98: + time = 2275555 + flags = 1 + data = length 406, hash FCFBEFD9 + sample 99: + time = 2298775 + flags = 1 + data = length 411, hash 9C60D439 + sample 100: + time = 2321995 + flags = 1 + data = length 414, hash 8EECCBD9 + sample 101: + time = 2345215 + flags = 1 + data = length 393, hash 9B1317BC + sample 102: + time = 2368435 + flags = 1 + data = length 405, hash 4CBBCFBF + sample 103: + time = 2391655 + flags = 1 + data = length 412, hash A8C3BE09 + sample 104: + time = 2414875 + flags = 1 + data = length 409, hash CDDB880D + sample 105: + time = 2438095 + flags = 1 + data = length 423, hash 9F87A5D + sample 106: + time = 2461315 + flags = 1 + data = length 399, hash 6C7043B7 + sample 107: + time = 2484535 + flags = 1 + data = length 400, hash 297E775C + sample 108: + time = 2507755 + flags = 1 + data = length 397, hash 5732E5A2 + sample 109: + time = 2530975 + flags = 1 + data = length 398, hash 127D1EF3 + sample 110: + time = 2554195 + flags = 1 + data = length 424, hash BF76C0EC + sample 111: + time = 2577414 + flags = 536870913 + data = length 417, hash 761190B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/media/mp4/sample_edit_list.mp4 b/libraries/test_data/src/test/assets/media/mp4/sample_edit_list.mp4 new file mode 100644 index 0000000000..c88bea561b Binary files /dev/null and b/libraries/test_data/src/test/assets/media/mp4/sample_edit_list.mp4 differ