Update list of supported video and audio mime type.

Add parameterized test for codecs supported by InAppMuxer.
Split TransformerWithInAppMuxerEndToEndParameterizedTest tests
between parameterized and non parameterized

This will be helpful for adding more tests which need not to
be parameterized.

PiperOrigin-RevId: 658353532
This commit is contained in:
Googler 2024-08-01 04:28:49 -07:00 committed by Copybara-Service
parent 01593a9c1f
commit b951833aec
11 changed files with 3022 additions and 38 deletions

View file

@ -0,0 +1,84 @@
seekMap:
isSeekable = true
duration = 933300
getPosition(0) = [[timeUs=0, position=400052]]
getPosition(1) = [[timeUs=0, position=400052], [timeUs=533322, position=428455]]
getPosition(466650) = [[timeUs=0, position=400052], [timeUs=533322, position=428455]]
getPosition(933300) = [[timeUs=533322, position=428455]]
numberOfTracks = 1
track 0:
total output bytes = 50100
sample count = 15
format 0:
id = 1
sampleMimeType = video/3gpp
maxInputSize = 10464
width = 176
height = 144
frameRate = 16.072002
colorInfo:
colorRange = 2
lumaBitdepth = 8
chromaBitdepth = 8
metadata = entries=[Mp4Timestamp: creation time=3000000000, modification time=4000000000, timescale=10000]
sample 0:
time = 0
flags = 1
data = length 10434, hash AE44B225
sample 1:
time = 66655
flags = 0
data = length 2615, hash A0DA11FE
sample 2:
time = 133322
flags = 0
data = length 1812, hash 7088FD15
sample 3:
time = 200000
flags = 0
data = length 2812, hash C8A9745F
sample 4:
time = 266655
flags = 0
data = length 3127, hash 15B392C5
sample 5:
time = 333322
flags = 0
data = length 3362, hash 77B8F06A
sample 6:
time = 400000
flags = 0
data = length 3295, hash 24A31310
sample 7:
time = 466655
flags = 0
data = length 946, hash B1E4247C
sample 8:
time = 533322
flags = 1
data = length 10399, hash 65BB0623
sample 9:
time = 600000
flags = 0
data = length 3373, hash 6884A84C
sample 10:
time = 666655
flags = 0
data = length 878, hash BFC0DD04
sample 11:
time = 733322
flags = 0
data = length 1530, hash 55CB846F
sample 12:
time = 800000
flags = 0
data = length 1834, hash ECF4E9AA
sample 13:
time = 866655
flags = 0
data = length 1776, hash 63A892E4
sample 14:
time = 933322
flags = 536870912
data = length 1907, hash 99D43466
tracksEnded = true

View file

@ -0,0 +1,88 @@
seekMap:
isSeekable = true
duration = 933300
getPosition(0) = [[timeUs=0, position=400052]]
getPosition(1) = [[timeUs=0, position=400052]]
getPosition(466650) = [[timeUs=0, position=400052]]
getPosition(933300) = [[timeUs=0, position=400052]]
numberOfTracks = 1
track 0:
total output bytes = 45694
sample count = 15
format 0:
averageBitrate = 365552
peakBitrate = 365552
id = 1
sampleMimeType = video/mp4v-es
maxInputSize = 9256
width = 176
height = 144
frameRate = 16.072002
colorInfo:
colorRange = 2
lumaBitdepth = 8
chromaBitdepth = 8
metadata = entries=[Mp4Timestamp: creation time=3000000000, modification time=4000000000, timescale=10000]
initializationData:
data = length 47, hash DC4DD041
sample 0:
time = 0
flags = 1
data = length 9226, hash 7C636E69
sample 1:
time = 66655
flags = 0
data = length 2560, hash C7A69F47
sample 2:
time = 133322
flags = 0
data = length 1720, hash 32B683D
sample 3:
time = 200000
flags = 0
data = length 2684, hash A77F20B0
sample 4:
time = 266655
flags = 0
data = length 2966, hash CDB6D380
sample 5:
time = 333322
flags = 0
data = length 3160, hash 5A1455FB
sample 6:
time = 400000
flags = 0
data = length 3128, hash 8F3EA8F2
sample 7:
time = 466655
flags = 0
data = length 3164, hash 40A33F45
sample 8:
time = 533322
flags = 0
data = length 3309, hash 4ACFEBD1
sample 9:
time = 600000
flags = 0
data = length 3332, hash 7902F5A6
sample 10:
time = 666655
flags = 0
data = length 3082, hash 57E4EBB9
sample 11:
time = 733322
flags = 0
data = length 3210, hash FDA3CC0F
sample 12:
time = 800000
flags = 0
data = length 981, hash FA98FC90
sample 13:
time = 866655
flags = 0
data = length 1611, hash 3F58EEE9
sample 14:
time = 933322
flags = 536870912
data = length 1561, hash 24FA5A54
tracksEnded = true

View file

@ -0,0 +1,436 @@
seekMap:
isSeekable = true
duration = 2992000
getPosition(0) = [[timeUs=0, position=400052]]
getPosition(1) = [[timeUs=1, position=400241]]
getPosition(1496000) = [[timeUs=1496000, position=412467]]
getPosition(2992000) = [[timeUs=2992000, position=424658]]
numberOfTracks = 1
track 0:
total output bytes = 24785
sample count = 103
format 0:
averageBitrate = 99992
id = 1
sampleMimeType = audio/vorbis
maxInputSize = 295
channelCount = 1
sampleRate = 16000
language = ```
metadata = entries=[Mp4Timestamp: creation time=3000000000, modification time=4000000000, timescale=10000]
initializationData:
data = length 30, hash C22462B1
data = length 3539, hash F8106892
sample 0:
time = 0
flags = 1
data = length 189, hash 52415563
sample 1:
time = 0
flags = 1
data = length 179, hash 8C3EF02
sample 2:
time = 16000
flags = 1
data = length 242, hash 154901F6
sample 3:
time = 40000
flags = 1
data = length 255, hash 9824CF65
sample 4:
time = 72000
flags = 1
data = length 240, hash 71BE7C9B
sample 5:
time = 104000
flags = 1
data = length 253, hash EFD45BC1
sample 6:
time = 136000
flags = 1
data = length 242, hash AAD0021A
sample 7:
time = 168000
flags = 1
data = length 245, hash 1CC90320
sample 8:
time = 200000
flags = 1
data = length 250, hash FD1A7782
sample 9:
time = 232000
flags = 1
data = length 250, hash 8AF2F144
sample 10:
time = 264000
flags = 1
data = length 242, hash B821B187
sample 11:
time = 296000
flags = 1
data = length 249, hash 38241C21
sample 12:
time = 328000
flags = 1
data = length 245, hash D2FB9E26
sample 13:
time = 360000
flags = 1
data = length 246, hash C1FCFB2C
sample 14:
time = 392000
flags = 1
data = length 247, hash 25993CAD
sample 15:
time = 424000
flags = 1
data = length 248, hash 56C4314E
sample 16:
time = 456000
flags = 1
data = length 253, hash A93F1600
sample 17:
time = 488000
flags = 1
data = length 250, hash B06E5AE0
sample 18:
time = 520000
flags = 1
data = length 242, hash 26EC7288
sample 19:
time = 552000
flags = 1
data = length 258, hash 3541384
sample 20:
time = 584000
flags = 1
data = length 253, hash C4C2E8F1
sample 21:
time = 616000
flags = 1
data = length 254, hash 47974412
sample 22:
time = 648000
flags = 1
data = length 245, hash DDED7539
sample 23:
time = 680000
flags = 1
data = length 252, hash 5D24B207
sample 24:
time = 712000
flags = 1
data = length 189, hash AA28447D
sample 25:
time = 736000
flags = 1
data = length 184, hash 87DA25A7
sample 26:
time = 752000
flags = 1
data = length 187, hash C94C8DBF
sample 27:
time = 768000
flags = 1
data = length 256, hash 3691E001
sample 28:
time = 792000
flags = 1
data = length 262, hash B72A768B
sample 29:
time = 824000
flags = 1
data = length 252, hash 1AF4532D
sample 30:
time = 856000
flags = 1
data = length 260, hash 9C2D1FC8
sample 31:
time = 888000
flags = 1
data = length 257, hash CDC91ABF
sample 32:
time = 920000
flags = 1
data = length 247, hash 425E7E56
sample 33:
time = 952000
flags = 1
data = length 254, hash 97F31FD1
sample 34:
time = 984000
flags = 1
data = length 259, hash 5CFC46D4
sample 35:
time = 1016000
flags = 1
data = length 262, hash A1B43368
sample 36:
time = 1048000
flags = 1
data = length 258, hash A5438075
sample 37:
time = 1080000
flags = 1
data = length 242, hash 1CCEE43E
sample 38:
time = 1112000
flags = 1
data = length 249, hash 6B91FE03
sample 39:
time = 1144000
flags = 1
data = length 246, hash 8632C6F3
sample 40:
time = 1176000
flags = 1
data = length 263, hash 4B997C76
sample 41:
time = 1208000
flags = 1
data = length 247, hash 16B7D892
sample 42:
time = 1240000
flags = 1
data = length 189, hash CD699252
sample 43:
time = 1264000
flags = 1
data = length 183, hash 1538EF60
sample 44:
time = 1280000
flags = 1
data = length 183, hash 4711F10A
sample 45:
time = 1296000
flags = 1
data = length 188, hash 7E7B8692
sample 46:
time = 1312000
flags = 1
data = length 185, hash 5A28B890
sample 47:
time = 1328000
flags = 1
data = length 254, hash 7A1CFD71
sample 48:
time = 1352000
flags = 1
data = length 257, hash 41814A91
sample 49:
time = 1384000
flags = 1
data = length 256, hash 392C7958
sample 50:
time = 1416000
flags = 1
data = length 259, hash 36E2E5D7
sample 51:
time = 1448000
flags = 1
data = length 258, hash E7A5A3B2
sample 52:
time = 1480000
flags = 1
data = length 254, hash BB999F59
sample 53:
time = 1512000
flags = 1
data = length 264, hash EBD27D11
sample 54:
time = 1544000
flags = 1
data = length 256, hash EF202703
sample 55:
time = 1576000
flags = 1
data = length 253, hash AA18AEC
sample 56:
time = 1608000
flags = 1
data = length 258, hash C99D73A
sample 57:
time = 1640000
flags = 1
data = length 243, hash 3766FAC8
sample 58:
time = 1672000
flags = 1
data = length 254, hash A126BA62
sample 59:
time = 1704000
flags = 1
data = length 194, hash E7B1777E
sample 60:
time = 1728000
flags = 1
data = length 192, hash 9406055C
sample 61:
time = 1744000
flags = 1
data = length 254, hash A0BCB7AF
sample 62:
time = 1768000
flags = 1
data = length 249, hash 2B81D755
sample 63:
time = 1800000
flags = 1
data = length 254, hash 8A84DD11
sample 64:
time = 1832000
flags = 1
data = length 247, hash 32E47F57
sample 65:
time = 1864000
flags = 1
data = length 185, hash DC974CDC
sample 66:
time = 1888000
flags = 1
data = length 191, hash 9EF9935E
sample 67:
time = 1904000
flags = 1
data = length 251, hash 8AE73C65
sample 68:
time = 1928000
flags = 1
data = length 251, hash 2A351E03
sample 69:
time = 1960000
flags = 1
data = length 254, hash C49F780
sample 70:
time = 1992000
flags = 1
data = length 240, hash 233BD522
sample 71:
time = 2024000
flags = 1
data = length 259, hash 1956DA78
sample 72:
time = 2056000
flags = 1
data = length 248, hash 1EE08648
sample 73:
time = 2088000
flags = 1
data = length 245, hash C5DAE098
sample 74:
time = 2120000
flags = 1
data = length 243, hash B5DFF3D8
sample 75:
time = 2152000
flags = 1
data = length 263, hash 43CF66BF
sample 76:
time = 2184000
flags = 1
data = length 257, hash 4B30E500
sample 77:
time = 2216000
flags = 1
data = length 262, hash 2C3C043C
sample 78:
time = 2248000
flags = 1
data = length 246, hash A53A0B2F
sample 79:
time = 2280000
flags = 1
data = length 252, hash 5403984B
sample 80:
time = 2312000
flags = 1
data = length 243, hash CD41ED4B
sample 81:
time = 2344000
flags = 1
data = length 247, hash 37948AD6
sample 82:
time = 2376000
flags = 1
data = length 255, hash E597B359
sample 83:
time = 2408000
flags = 1
data = length 250, hash EEF813EE
sample 84:
time = 2440000
flags = 1
data = length 255, hash D3E452D6
sample 85:
time = 2472000
flags = 1
data = length 250, hash 5CC2B1A4
sample 86:
time = 2504000
flags = 1
data = length 252, hash 5545BFBD
sample 87:
time = 2536000
flags = 1
data = length 265, hash 665BF09
sample 88:
time = 2568000
flags = 1
data = length 264, hash A8031354
sample 89:
time = 2600000
flags = 1
data = length 262, hash A001ECA0
sample 90:
time = 2632000
flags = 1
data = length 257, hash 6487AE2C
sample 91:
time = 2664000
flags = 1
data = length 245, hash 29A59674
sample 92:
time = 2696000
flags = 1
data = length 250, hash 3A9F0E85
sample 93:
time = 2728000
flags = 1
data = length 252, hash 78D6CCAB
sample 94:
time = 2760000
flags = 1
data = length 250, hash 4CABC5FC
sample 95:
time = 2792000
flags = 1
data = length 249, hash A10818C8
sample 96:
time = 2824000
flags = 1
data = length 255, hash EEAAE5F6
sample 97:
time = 2856000
flags = 1
data = length 256, hash BFD7F019
sample 98:
time = 2888000
flags = 1
data = length 249, hash 9ED88233
sample 99:
time = 2920000
flags = 1
data = length 252, hash 2C32868A
sample 100:
time = 2952000
flags = 1
data = length 134, hash AA53E314
sample 101:
time = 2976000
flags = 1
data = length 180, hash 6321FAFE
sample 102:
time = 2992000
flags = 536870913
data = length 179, hash 8563EF28
tracksEnded = true

View file

@ -0,0 +1,628 @@
seekMap:
isSeekable = true
duration = 3000000
getPosition(0) = [[timeUs=0, position=400052]]
getPosition(1) = [[timeUs=1, position=400052]]
getPosition(1500000) = [[timeUs=1500000, position=449844]]
getPosition(3000000) = [[timeUs=3000000, position=499769]]
numberOfTracks = 1
track 0:
total output bytes = 100872
sample count = 151
format 0:
id = 1
sampleMimeType = audio/opus
maxInputSize = 1185
channelCount = 6
sampleRate = 48000
language = ```
metadata = entries=[Mp4Timestamp: creation time=3000000000, modification time=4000000000, timescale=10000]
initializationData:
data = length 27, hash 9EE6F879
data = length 8, hash CA22068C
data = length 8, hash 79C07075
sample 0:
time = 0
flags = 1
data = length 949, hash E49C1A9D
sample 1:
time = 20000
flags = 1
data = length 608, hash F65C6881
sample 2:
time = 40000
flags = 1
data = length 650, hash 914AF7E1
sample 3:
time = 60000
flags = 1
data = length 603, hash B3EC7A47
sample 4:
time = 80000
flags = 1
data = length 650, hash 162CA2A3
sample 5:
time = 100000
flags = 1
data = length 678, hash 192785A9
sample 6:
time = 120000
flags = 1
data = length 685, hash 96C2F2BB
sample 7:
time = 140000
flags = 1
data = length 665, hash 5922AAEB
sample 8:
time = 160000
flags = 1
data = length 646, hash 8619B832
sample 9:
time = 180000
flags = 1
data = length 644, hash AFAFE536
sample 10:
time = 200000
flags = 1
data = length 629, hash 9E73B0B7
sample 11:
time = 220000
flags = 1
data = length 610, hash 669587E0
sample 12:
time = 240000
flags = 1
data = length 663, hash D7642DB7
sample 13:
time = 260000
flags = 1
data = length 648, hash 6D0CD0D2
sample 14:
time = 280000
flags = 1
data = length 642, hash 412DC4E2
sample 15:
time = 300000
flags = 1
data = length 607, hash F9582E56
sample 16:
time = 320000
flags = 1
data = length 645, hash 657B023B
sample 17:
time = 340000
flags = 1
data = length 672, hash AA362E4A
sample 18:
time = 360000
flags = 1
data = length 629, hash 9E527BB
sample 19:
time = 380000
flags = 1
data = length 646, hash F3B96232
sample 20:
time = 400000
flags = 1
data = length 611, hash 9B3061C
sample 21:
time = 420000
flags = 1
data = length 664, hash 50774FBE
sample 22:
time = 440000
flags = 1
data = length 650, hash 52AA7B95
sample 23:
time = 460000
flags = 1
data = length 636, hash F5CB417D
sample 24:
time = 480000
flags = 1
data = length 665, hash 34C938BB
sample 25:
time = 500000
flags = 1
data = length 626, hash 5CD7E3F8
sample 26:
time = 520000
flags = 1
data = length 651, hash AF7BDD5F
sample 27:
time = 540000
flags = 1
data = length 635, hash FF8E92FE
sample 28:
time = 560000
flags = 1
data = length 655, hash CC0821A7
sample 29:
time = 580000
flags = 1
data = length 636, hash 1BDC263F
sample 30:
time = 600000
flags = 1
data = length 641, hash 5ECE0258
sample 31:
time = 620000
flags = 1
data = length 632, hash FA762551
sample 32:
time = 640000
flags = 1
data = length 656, hash 97F5501A
sample 33:
time = 660000
flags = 1
data = length 657, hash 462517A5
sample 34:
time = 680000
flags = 1
data = length 651, hash 8863CCAD
sample 35:
time = 700000
flags = 1
data = length 648, hash B0330C37
sample 36:
time = 720000
flags = 1
data = length 674, hash 60E12F33
sample 37:
time = 740000
flags = 1
data = length 674, hash DEFEB445
sample 38:
time = 760000
flags = 1
data = length 583, hash C8326130
sample 39:
time = 780000
flags = 1
data = length 677, hash 5FADD0
sample 40:
time = 800000
flags = 1
data = length 637, hash CB97E2B8
sample 41:
time = 820000
flags = 1
data = length 637, hash 7D230BE4
sample 42:
time = 840000
flags = 1
data = length 651, hash 230EE90B
sample 43:
time = 860000
flags = 1
data = length 637, hash F0CCCAE
sample 44:
time = 880000
flags = 1
data = length 634, hash D0F5AEEB
sample 45:
time = 900000
flags = 1
data = length 620, hash 680A7962
sample 46:
time = 920000
flags = 1
data = length 701, hash 18050131
sample 47:
time = 940000
flags = 1
data = length 700, hash B948FC3B
sample 48:
time = 960000
flags = 1
data = length 732, hash 5F8C11AD
sample 49:
time = 980000
flags = 1
data = length 632, hash 66D306D1
sample 50:
time = 1000000
flags = 1
data = length 666, hash C7130EE0
sample 51:
time = 1020000
flags = 1
data = length 706, hash A3199353
sample 52:
time = 1040000
flags = 1
data = length 717, hash E98C450C
sample 53:
time = 1060000
flags = 1
data = length 699, hash E55D6BF1
sample 54:
time = 1080000
flags = 1
data = length 654, hash 6788EEF5
sample 55:
time = 1100000
flags = 1
data = length 668, hash 104C1F00
sample 56:
time = 1120000
flags = 1
data = length 632, hash 57EEBA22
sample 57:
time = 1140000
flags = 1
data = length 633, hash 8ECAA570
sample 58:
time = 1160000
flags = 1
data = length 631, hash 2583F94B
sample 59:
time = 1180000
flags = 1
data = length 657, hash 47C82A61
sample 60:
time = 1200000
flags = 1
data = length 734, hash CB4105D8
sample 61:
time = 1220000
flags = 1
data = length 626, hash FFFFF6A0
sample 62:
time = 1240000
flags = 1
data = length 647, hash 12B4EE0
sample 63:
time = 1260000
flags = 1
data = length 625, hash 33781766
sample 64:
time = 1280000
flags = 1
data = length 642, hash 4EFBA7BD
sample 65:
time = 1300000
flags = 1
data = length 802, hash 1E1ECCCC
sample 66:
time = 1320000
flags = 1
data = length 831, hash 3B6EB119
sample 67:
time = 1340000
flags = 1
data = length 803, hash 1A6D1B26
sample 68:
time = 1360000
flags = 1
data = length 724, hash 373CBA2
sample 69:
time = 1380000
flags = 1
data = length 697, hash B88E6225
sample 70:
time = 1400000
flags = 1
data = length 684, hash 582095ED
sample 71:
time = 1420000
flags = 1
data = length 642, hash E3396634
sample 72:
time = 1440000
flags = 1
data = length 660, hash 6B7A6B93
sample 73:
time = 1460000
flags = 1
data = length 658, hash BD7B7172
sample 74:
time = 1480000
flags = 1
data = length 682, hash 1B77F311
sample 75:
time = 1500000
flags = 1
data = length 635, hash 4993E2E8
sample 76:
time = 1520000
flags = 1
data = length 670, hash 1F1F426A
sample 77:
time = 1540000
flags = 1
data = length 633, hash 1A6AE4
sample 78:
time = 1560000
flags = 1
data = length 653, hash 55540278
sample 79:
time = 1580000
flags = 1
data = length 618, hash A50A27BC
sample 80:
time = 1600000
flags = 1
data = length 657, hash C61CC3D5
sample 81:
time = 1620000
flags = 1
data = length 608, hash 2691ABBB
sample 82:
time = 1640000
flags = 1
data = length 673, hash 6CFC36BC
sample 83:
time = 1660000
flags = 1
data = length 646, hash C12DD9A3
sample 84:
time = 1680000
flags = 1
data = length 665, hash FF2B77B0
sample 85:
time = 1700000
flags = 1
data = length 644, hash 2BBF36A5
sample 86:
time = 1720000
flags = 1
data = length 750, hash 4510EA7E
sample 87:
time = 1740000
flags = 1
data = length 763, hash 22955796
sample 88:
time = 1760000
flags = 1
data = length 638, hash 8AC8492E
sample 89:
time = 1780000
flags = 1
data = length 659, hash 6CCFCDC4
sample 90:
time = 1800000
flags = 1
data = length 653, hash ED5CB356
sample 91:
time = 1820000
flags = 1
data = length 625, hash A49FB079
sample 92:
time = 1840000
flags = 1
data = length 681, hash 29FCE7E6
sample 93:
time = 1860000
flags = 1
data = length 719, hash B6E2BE04
sample 94:
time = 1880000
flags = 1
data = length 659, hash 455A8590
sample 95:
time = 1900000
flags = 1
data = length 711, hash D970780F
sample 96:
time = 1920000
flags = 1
data = length 649, hash 7B05E203
sample 97:
time = 1940000
flags = 1
data = length 621, hash A06A54BD
sample 98:
time = 1960000
flags = 1
data = length 740, hash F5B727FA
sample 99:
time = 1980000
flags = 1
data = length 829, hash 24C8AD34
sample 100:
time = 2000000
flags = 1
data = length 646, hash E8292CD3
sample 101:
time = 2020000
flags = 1
data = length 628, hash D2CF6E04
sample 102:
time = 2040000
flags = 1
data = length 621, hash B1DEB04E
sample 103:
time = 2060000
flags = 1
data = length 783, hash 35A1171
sample 104:
time = 2080000
flags = 1
data = length 661, hash 7BFCA7CB
sample 105:
time = 2100000
flags = 1
data = length 616, hash 27080B66
sample 106:
time = 2120000
flags = 1
data = length 700, hash E3450B94
sample 107:
time = 2140000
flags = 1
data = length 631, hash 4223054B
sample 108:
time = 2160000
flags = 1
data = length 650, hash DB573283
sample 109:
time = 2180000
flags = 1
data = length 649, hash 619E7468
sample 110:
time = 2200000
flags = 1
data = length 628, hash 9BD367C7
sample 111:
time = 2220000
flags = 1
data = length 693, hash 85E9290
sample 112:
time = 2240000
flags = 1
data = length 645, hash CAC17B47
sample 113:
time = 2260000
flags = 1
data = length 639, hash 88A52980
sample 114:
time = 2280000
flags = 1
data = length 657, hash DAF95EA7
sample 115:
time = 2300000
flags = 1
data = length 635, hash 2F950D30
sample 116:
time = 2320000
flags = 1
data = length 649, hash 48E900E
sample 117:
time = 2340000
flags = 1
data = length 657, hash 4505A6CE
sample 118:
time = 2360000
flags = 1
data = length 682, hash DC4C8CD8
sample 119:
time = 2380000
flags = 1
data = length 711, hash 21B58FD3
sample 120:
time = 2400000
flags = 1
data = length 692, hash 4CDFB1C7
sample 121:
time = 2420000
flags = 1
data = length 693, hash B531D8C8
sample 122:
time = 2440000
flags = 1
data = length 650, hash AF15E260
sample 123:
time = 2460000
flags = 1
data = length 643, hash EDF00663
sample 124:
time = 2480000
flags = 1
data = length 623, hash 1B0243A
sample 125:
time = 2500000
flags = 1
data = length 639, hash 21B0BA43
sample 126:
time = 2520000
flags = 1
data = length 694, hash 46FA242C
sample 127:
time = 2540000
flags = 1
data = length 637, hash 1CEAEA46
sample 128:
time = 2560000
flags = 1
data = length 672, hash A8FE01B1
sample 129:
time = 2580000
flags = 1
data = length 655, hash F4ACFC61
sample 130:
time = 2600000
flags = 1
data = length 674, hash 3B3D15B6
sample 131:
time = 2620000
flags = 1
data = length 695, hash DF376589
sample 132:
time = 2640000
flags = 1
data = length 688, hash A2425D57
sample 133:
time = 2660000
flags = 1
data = length 690, hash BBD3DA9B
sample 134:
time = 2680000
flags = 1
data = length 732, hash F7B00D40
sample 135:
time = 2700000
flags = 1
data = length 684, hash 9158FEAB
sample 136:
time = 2720000
flags = 1
data = length 674, hash 40C7501A
sample 137:
time = 2740000
flags = 1
data = length 680, hash BB132A40
sample 138:
time = 2760000
flags = 1
data = length 648, hash 1114376E
sample 139:
time = 2780000
flags = 1
data = length 661, hash DE71BACA
sample 140:
time = 2800000
flags = 1
data = length 642, hash A2316E7
sample 141:
time = 2820000
flags = 1
data = length 662, hash C7117D4
sample 142:
time = 2840000
flags = 1
data = length 638, hash 2CF77EF4
sample 143:
time = 2860000
flags = 1
data = length 655, hash E5A75C8B
sample 144:
time = 2880000
flags = 1
data = length 635, hash C9E2B5B1
sample 145:
time = 2900000
flags = 1
data = length 655, hash 6F99C63E
sample 146:
time = 2920000
flags = 1
data = length 638, hash 64436E98
sample 147:
time = 2940000
flags = 1
data = length 671, hash 5DFDE09A
sample 148:
time = 2960000
flags = 1
data = length 661, hash 5203D894
sample 149:
time = 2980000
flags = 1
data = length 664, hash CF30C6D7
sample 150:
time = 3000000
flags = 536870913
data = length 1155, hash F5AFA236
tracksEnded = true

View file

@ -0,0 +1,620 @@
seekMap:
isSeekable = true
duration = 2980000
getPosition(0) = [[timeUs=0, position=400052]]
getPosition(1) = [[timeUs=1, position=400052]]
getPosition(1490000) = [[timeUs=1490000, position=404418]]
getPosition(2980000) = [[timeUs=2980000, position=408843]]
numberOfTracks = 1
track 0:
total output bytes = 8850
sample count = 150
format 0:
id = 1
sampleMimeType = audio/amr-wb
maxInputSize = 89
channelCount = 2
sampleRate = 16000
language = und
metadata = entries=[Mp4Timestamp: creation time=3000000000, modification time=4000000000, timescale=10000]
sample 0:
time = 0
flags = 1
data = length 59, hash 7CD1831D
sample 1:
time = 20000
flags = 1
data = length 59, hash D3770C4A
sample 2:
time = 40000
flags = 1
data = length 59, hash 9FE1F1DC
sample 3:
time = 60000
flags = 1
data = length 59, hash E01D2E94
sample 4:
time = 80000
flags = 1
data = length 59, hash 9F0F1148
sample 5:
time = 100000
flags = 1
data = length 59, hash 84844FC5
sample 6:
time = 120000
flags = 1
data = length 59, hash E1BA9151
sample 7:
time = 140000
flags = 1
data = length 59, hash 809C53C7
sample 8:
time = 160000
flags = 1
data = length 59, hash CF7C326C
sample 9:
time = 180000
flags = 1
data = length 59, hash 9493FCC5
sample 10:
time = 200000
flags = 1
data = length 59, hash 7E1C0B55
sample 11:
time = 220000
flags = 1
data = length 59, hash 590CE70F
sample 12:
time = 240000
flags = 1
data = length 59, hash AE96EA
sample 13:
time = 260000
flags = 1
data = length 59, hash 101B6F1F
sample 14:
time = 280000
flags = 1
data = length 59, hash A7B53E8
sample 15:
time = 300000
flags = 1
data = length 59, hash ADFF0186
sample 16:
time = 320000
flags = 1
data = length 59, hash 62429AE2
sample 17:
time = 340000
flags = 1
data = length 59, hash C0DE98C4
sample 18:
time = 360000
flags = 1
data = length 59, hash 38248344
sample 19:
time = 380000
flags = 1
data = length 59, hash 6FA9C78D
sample 20:
time = 400000
flags = 1
data = length 59, hash 70E62506
sample 21:
time = 420000
flags = 1
data = length 59, hash C5852B4D
sample 22:
time = 440000
flags = 1
data = length 59, hash 3963835
sample 23:
time = 460000
flags = 1
data = length 59, hash 12332285
sample 24:
time = 480000
flags = 1
data = length 59, hash 6992A084
sample 25:
time = 500000
flags = 1
data = length 59, hash 5F571FDF
sample 26:
time = 520000
flags = 1
data = length 59, hash 3897B324
sample 27:
time = 540000
flags = 1
data = length 59, hash E55F2655
sample 28:
time = 560000
flags = 1
data = length 59, hash 2EEF8B7B
sample 29:
time = 580000
flags = 1
data = length 59, hash 5C36A7D6
sample 30:
time = 600000
flags = 1
data = length 59, hash EA18CD8F
sample 31:
time = 620000
flags = 1
data = length 59, hash 2C2702ED
sample 32:
time = 640000
flags = 1
data = length 59, hash 31438CAF
sample 33:
time = 660000
flags = 1
data = length 59, hash 5F8FD154
sample 34:
time = 680000
flags = 1
data = length 59, hash 9D352097
sample 35:
time = 700000
flags = 1
data = length 59, hash D7EA644
sample 36:
time = 720000
flags = 1
data = length 59, hash 8905564B
sample 37:
time = 740000
flags = 1
data = length 59, hash 8FCB240C
sample 38:
time = 760000
flags = 1
data = length 59, hash B74A9E26
sample 39:
time = 780000
flags = 1
data = length 59, hash EA79D25B
sample 40:
time = 800000
flags = 1
data = length 59, hash 798EC537
sample 41:
time = 820000
flags = 1
data = length 59, hash F4D614DE
sample 42:
time = 840000
flags = 1
data = length 59, hash 9F3F5B91
sample 43:
time = 860000
flags = 1
data = length 59, hash B04F058
sample 44:
time = 880000
flags = 1
data = length 59, hash 8758EDC0
sample 45:
time = 900000
flags = 1
data = length 59, hash DFBCAE27
sample 46:
time = 920000
flags = 1
data = length 59, hash BF6AF6FD
sample 47:
time = 940000
flags = 1
data = length 59, hash 319B3149
sample 48:
time = 960000
flags = 1
data = length 59, hash 8CA30C36
sample 49:
time = 980000
flags = 1
data = length 59, hash 74CD82DA
sample 50:
time = 1000000
flags = 1
data = length 59, hash 8123D422
sample 51:
time = 1020000
flags = 1
data = length 59, hash 697DFCCA
sample 52:
time = 1040000
flags = 1
data = length 59, hash 40EC178E
sample 53:
time = 1060000
flags = 1
data = length 59, hash C8418BE1
sample 54:
time = 1080000
flags = 1
data = length 59, hash 7AC2CF25
sample 55:
time = 1100000
flags = 1
data = length 59, hash BCCEFF19
sample 56:
time = 1120000
flags = 1
data = length 59, hash 975A96
sample 57:
time = 1140000
flags = 1
data = length 59, hash 8F187C30
sample 58:
time = 1160000
flags = 1
data = length 59, hash D7797178
sample 59:
time = 1180000
flags = 1
data = length 59, hash CE6E8CA6
sample 60:
time = 1200000
flags = 1
data = length 59, hash 5A50B1A8
sample 61:
time = 1220000
flags = 1
data = length 59, hash ADDECF9A
sample 62:
time = 1240000
flags = 1
data = length 59, hash C5F376FF
sample 63:
time = 1260000
flags = 1
data = length 59, hash 1A83DF9A
sample 64:
time = 1280000
flags = 1
data = length 59, hash AC44CC85
sample 65:
time = 1300000
flags = 1
data = length 59, hash FE8D7E6D
sample 66:
time = 1320000
flags = 1
data = length 59, hash 50269ED4
sample 67:
time = 1340000
flags = 1
data = length 59, hash 1CC6FC25
sample 68:
time = 1360000
flags = 1
data = length 59, hash 6A4092A7
sample 69:
time = 1380000
flags = 1
data = length 59, hash 68C46314
sample 70:
time = 1400000
flags = 1
data = length 59, hash 5964275A
sample 71:
time = 1420000
flags = 1
data = length 59, hash 3130A785
sample 72:
time = 1440000
flags = 1
data = length 59, hash 83F2D996
sample 73:
time = 1460000
flags = 1
data = length 59, hash 515A062A
sample 74:
time = 1480000
flags = 1
data = length 59, hash 1D64DD8B
sample 75:
time = 1500000
flags = 1
data = length 59, hash 63587E3
sample 76:
time = 1520000
flags = 1
data = length 59, hash 68DCB927
sample 77:
time = 1540000
flags = 1
data = length 59, hash CDBA3C67
sample 78:
time = 1560000
flags = 1
data = length 59, hash 12A67F90
sample 79:
time = 1580000
flags = 1
data = length 59, hash 61159E34
sample 80:
time = 1600000
flags = 1
data = length 59, hash 45A73FB9
sample 81:
time = 1620000
flags = 1
data = length 59, hash 5A841075
sample 82:
time = 1640000
flags = 1
data = length 59, hash EBCDC2CA
sample 83:
time = 1660000
flags = 1
data = length 59, hash F751E192
sample 84:
time = 1680000
flags = 1
data = length 59, hash 5F8907C6
sample 85:
time = 1700000
flags = 1
data = length 59, hash FC73C275
sample 86:
time = 1720000
flags = 1
data = length 59, hash 2D4154EB
sample 87:
time = 1740000
flags = 1
data = length 59, hash ECA668E1
sample 88:
time = 1760000
flags = 1
data = length 59, hash 8C27620A
sample 89:
time = 1780000
flags = 1
data = length 59, hash 8D8BC449
sample 90:
time = 1800000
flags = 1
data = length 59, hash 332FDB24
sample 91:
time = 1820000
flags = 1
data = length 59, hash 33C2F5AF
sample 92:
time = 1840000
flags = 1
data = length 59, hash E08089D5
sample 93:
time = 1860000
flags = 1
data = length 59, hash A0A51B67
sample 94:
time = 1880000
flags = 1
data = length 59, hash 14B84283
sample 95:
time = 1900000
flags = 1
data = length 59, hash BB7F61C6
sample 96:
time = 1920000
flags = 1
data = length 59, hash C870B629
sample 97:
time = 1940000
flags = 1
data = length 59, hash DA557DDA
sample 98:
time = 1960000
flags = 1
data = length 59, hash 4E7D8042
sample 99:
time = 1980000
flags = 1
data = length 59, hash 91060D4A
sample 100:
time = 2000000
flags = 1
data = length 59, hash 676F457A
sample 101:
time = 2020000
flags = 1
data = length 59, hash 8BE7A3E2
sample 102:
time = 2040000
flags = 1
data = length 59, hash 8B5F28E4
sample 103:
time = 2060000
flags = 1
data = length 59, hash 88288529
sample 104:
time = 2080000
flags = 1
data = length 59, hash 52EF420D
sample 105:
time = 2100000
flags = 1
data = length 59, hash DA4DA53B
sample 106:
time = 2120000
flags = 1
data = length 59, hash CC3284E
sample 107:
time = 2140000
flags = 1
data = length 59, hash 371BB544
sample 108:
time = 2160000
flags = 1
data = length 59, hash E40EE9CA
sample 109:
time = 2180000
flags = 1
data = length 59, hash C070679F
sample 110:
time = 2200000
flags = 1
data = length 59, hash F62B5F23
sample 111:
time = 2220000
flags = 1
data = length 59, hash 1C265EC6
sample 112:
time = 2240000
flags = 1
data = length 59, hash AF49562
sample 113:
time = 2260000
flags = 1
data = length 59, hash F3E1441B
sample 114:
time = 2280000
flags = 1
data = length 59, hash 808BA758
sample 115:
time = 2300000
flags = 1
data = length 59, hash 17931F4C
sample 116:
time = 2320000
flags = 1
data = length 59, hash 59EBFB2C
sample 117:
time = 2340000
flags = 1
data = length 59, hash 48CBD767
sample 118:
time = 2360000
flags = 1
data = length 59, hash 37F0E68C
sample 119:
time = 2380000
flags = 1
data = length 59, hash 78D9C594
sample 120:
time = 2400000
flags = 1
data = length 59, hash BC29DE1A
sample 121:
time = 2420000
flags = 1
data = length 59, hash 30D57FD8
sample 122:
time = 2440000
flags = 1
data = length 59, hash 11EBFCA7
sample 123:
time = 2460000
flags = 1
data = length 59, hash 4A073D0
sample 124:
time = 2480000
flags = 1
data = length 59, hash AAE23356
sample 125:
time = 2500000
flags = 1
data = length 59, hash 8CD60F62
sample 126:
time = 2520000
flags = 1
data = length 59, hash 413DF0E5
sample 127:
time = 2540000
flags = 1
data = length 59, hash E0A6E95
sample 128:
time = 2560000
flags = 1
data = length 59, hash 3E41A79F
sample 129:
time = 2580000
flags = 1
data = length 59, hash 74E52392
sample 130:
time = 2600000
flags = 1
data = length 59, hash 4730E2F8
sample 131:
time = 2620000
flags = 1
data = length 59, hash F76800F3
sample 132:
time = 2640000
flags = 1
data = length 59, hash 6EAFD6A7
sample 133:
time = 2660000
flags = 1
data = length 59, hash F22E2D70
sample 134:
time = 2680000
flags = 1
data = length 59, hash 70229933
sample 135:
time = 2700000
flags = 1
data = length 59, hash 6FF33D1C
sample 136:
time = 2720000
flags = 1
data = length 59, hash 83EC00FE
sample 137:
time = 2740000
flags = 1
data = length 59, hash 292A2AFD
sample 138:
time = 2760000
flags = 1
data = length 59, hash A4ECB34E
sample 139:
time = 2780000
flags = 1
data = length 59, hash 7B1A9983
sample 140:
time = 2800000
flags = 1
data = length 59, hash 486E9059
sample 141:
time = 2820000
flags = 1
data = length 59, hash 2255918
sample 142:
time = 2840000
flags = 1
data = length 59, hash 33DC9432
sample 143:
time = 2860000
flags = 1
data = length 59, hash 41D0A458
sample 144:
time = 2880000
flags = 1
data = length 59, hash DBA9CED6
sample 145:
time = 2900000
flags = 1
data = length 59, hash FA055524
sample 146:
time = 2920000
flags = 1
data = length 59, hash A4146B9E
sample 147:
time = 2940000
flags = 1
data = length 59, hash 2DC246A0
sample 148:
time = 2960000
flags = 1
data = length 59, hash 4A8B5F2A
sample 149:
time = 2980000
flags = 536870913
data = length 59, hash D3223AAC
tracksEnded = true

View file

@ -0,0 +1,624 @@
seekMap:
isSeekable = true
duration = 3000000
getPosition(0) = [[timeUs=0, position=400052]]
getPosition(1) = [[timeUs=1, position=400052]]
getPosition(1500000) = [[timeUs=1500000, position=402452]]
getPosition(3000000) = [[timeUs=3000000, position=404852]]
numberOfTracks = 1
track 0:
total output bytes = 4832
sample count = 151
format 0:
id = 1
sampleMimeType = audio/3gpp
maxInputSize = 62
channelCount = 2
sampleRate = 8000
language = und
metadata = entries=[Mp4Timestamp: creation time=3000000000, modification time=4000000000, timescale=10000]
sample 0:
time = 0
flags = 1
data = length 32, hash 53582FC7
sample 1:
time = 20000
flags = 1
data = length 32, hash 5685F9D6
sample 2:
time = 40000
flags = 1
data = length 32, hash 979442D3
sample 3:
time = 60000
flags = 1
data = length 32, hash D6C2D2B3
sample 4:
time = 80000
flags = 1
data = length 32, hash 4D7A467C
sample 5:
time = 100000
flags = 1
data = length 32, hash D24FBF21
sample 6:
time = 120000
flags = 1
data = length 32, hash 39A010D0
sample 7:
time = 140000
flags = 1
data = length 32, hash 238FB065
sample 8:
time = 160000
flags = 1
data = length 32, hash 7F460D8F
sample 9:
time = 180000
flags = 1
data = length 32, hash 4144D57A
sample 10:
time = 200000
flags = 1
data = length 32, hash 17FAFC32
sample 11:
time = 220000
flags = 1
data = length 32, hash BBB92AF1
sample 12:
time = 240000
flags = 1
data = length 32, hash 8662DF11
sample 13:
time = 260000
flags = 1
data = length 32, hash ADE12517
sample 14:
time = 280000
flags = 1
data = length 32, hash 42A2F90
sample 15:
time = 300000
flags = 1
data = length 32, hash BA4736EE
sample 16:
time = 320000
flags = 1
data = length 32, hash DC3899EE
sample 17:
time = 340000
flags = 1
data = length 32, hash 9680E057
sample 18:
time = 360000
flags = 1
data = length 32, hash 9DD4439A
sample 19:
time = 380000
flags = 1
data = length 32, hash A187A2E8
sample 20:
time = 400000
flags = 1
data = length 32, hash 2181AFA7
sample 21:
time = 420000
flags = 1
data = length 32, hash 2C46A44
sample 22:
time = 440000
flags = 1
data = length 32, hash 45492E08
sample 23:
time = 460000
flags = 1
data = length 32, hash 7E8B40BC
sample 24:
time = 480000
flags = 1
data = length 32, hash 8A572FB6
sample 25:
time = 500000
flags = 1
data = length 32, hash 271382F7
sample 26:
time = 520000
flags = 1
data = length 32, hash 31B52A2C
sample 27:
time = 540000
flags = 1
data = length 32, hash 1C0C6ACD
sample 28:
time = 560000
flags = 1
data = length 32, hash 12AF988B
sample 29:
time = 580000
flags = 1
data = length 32, hash 1EC318A2
sample 30:
time = 600000
flags = 1
data = length 32, hash F0082E10
sample 31:
time = 620000
flags = 1
data = length 32, hash 6F21FBC4
sample 32:
time = 640000
flags = 1
data = length 32, hash A52D353D
sample 33:
time = 660000
flags = 1
data = length 32, hash C1B9C8E2
sample 34:
time = 680000
flags = 1
data = length 32, hash 3BC2F23F
sample 35:
time = 700000
flags = 1
data = length 32, hash 7ACFCF02
sample 36:
time = 720000
flags = 1
data = length 32, hash 296A9084
sample 37:
time = 740000
flags = 1
data = length 32, hash 87B5C8E2
sample 38:
time = 760000
flags = 1
data = length 32, hash C1C5851
sample 39:
time = 780000
flags = 1
data = length 32, hash AD17B487
sample 40:
time = 800000
flags = 1
data = length 32, hash E6806069
sample 41:
time = 820000
flags = 1
data = length 32, hash AB5007B5
sample 42:
time = 840000
flags = 1
data = length 32, hash 29DA3044
sample 43:
time = 860000
flags = 1
data = length 32, hash 680DE283
sample 44:
time = 880000
flags = 1
data = length 32, hash E5BB6CEF
sample 45:
time = 900000
flags = 1
data = length 32, hash 654EFBD4
sample 46:
time = 920000
flags = 1
data = length 32, hash 3BFBC4E5
sample 47:
time = 940000
flags = 1
data = length 32, hash 10F1217A
sample 48:
time = 960000
flags = 1
data = length 32, hash E37EF991
sample 49:
time = 980000
flags = 1
data = length 32, hash 42723B2D
sample 50:
time = 1000000
flags = 1
data = length 32, hash 2D52F18B
sample 51:
time = 1020000
flags = 1
data = length 32, hash 6F62245B
sample 52:
time = 1040000
flags = 1
data = length 32, hash BA89ADED
sample 53:
time = 1060000
flags = 1
data = length 32, hash FCF8C5E2
sample 54:
time = 1080000
flags = 1
data = length 32, hash F9AEEE3D
sample 55:
time = 1100000
flags = 1
data = length 32, hash 2E465113
sample 56:
time = 1120000
flags = 1
data = length 32, hash 59CF2666
sample 57:
time = 1140000
flags = 1
data = length 32, hash 3AB7A8D9
sample 58:
time = 1160000
flags = 1
data = length 32, hash EB9D3A8E
sample 59:
time = 1180000
flags = 1
data = length 32, hash 6539E15F
sample 60:
time = 1200000
flags = 1
data = length 32, hash 2CAB1170
sample 61:
time = 1220000
flags = 1
data = length 32, hash D0CA4456
sample 62:
time = 1240000
flags = 1
data = length 32, hash DB3DBEE6
sample 63:
time = 1260000
flags = 1
data = length 32, hash 6D094AC4
sample 64:
time = 1280000
flags = 1
data = length 32, hash 2D6471B
sample 65:
time = 1300000
flags = 1
data = length 32, hash 86D257FB
sample 66:
time = 1320000
flags = 1
data = length 32, hash D8733063
sample 67:
time = 1340000
flags = 1
data = length 32, hash C975C837
sample 68:
time = 1360000
flags = 1
data = length 32, hash 2D548A68
sample 69:
time = 1380000
flags = 1
data = length 32, hash 7A4907BA
sample 70:
time = 1400000
flags = 1
data = length 32, hash 6BDFDEB5
sample 71:
time = 1420000
flags = 1
data = length 32, hash 272D422E
sample 72:
time = 1440000
flags = 1
data = length 32, hash BBFDCD7B
sample 73:
time = 1460000
flags = 1
data = length 32, hash 81F7CBF2
sample 74:
time = 1480000
flags = 1
data = length 32, hash C18523A
sample 75:
time = 1500000
flags = 1
data = length 32, hash E062FDDB
sample 76:
time = 1520000
flags = 1
data = length 32, hash A756C4C8
sample 77:
time = 1540000
flags = 1
data = length 32, hash A4FA6865
sample 78:
time = 1560000
flags = 1
data = length 32, hash 6BC22B
sample 79:
time = 1580000
flags = 1
data = length 32, hash 37041F06
sample 80:
time = 1600000
flags = 1
data = length 32, hash A9049020
sample 81:
time = 1620000
flags = 1
data = length 32, hash E3C9552A
sample 82:
time = 1640000
flags = 1
data = length 32, hash 6EB2559
sample 83:
time = 1660000
flags = 1
data = length 32, hash 988FD295
sample 84:
time = 1680000
flags = 1
data = length 32, hash 6E0FFFA8
sample 85:
time = 1700000
flags = 1
data = length 32, hash 4A16A2E5
sample 86:
time = 1720000
flags = 1
data = length 32, hash 8526E110
sample 87:
time = 1740000
flags = 1
data = length 32, hash 9C0F881C
sample 88:
time = 1760000
flags = 1
data = length 32, hash 68DF67F7
sample 89:
time = 1780000
flags = 1
data = length 32, hash A789F088
sample 90:
time = 1800000
flags = 1
data = length 32, hash B9CF3A20
sample 91:
time = 1820000
flags = 1
data = length 32, hash 2AFD3C01
sample 92:
time = 1840000
flags = 1
data = length 32, hash 3F61D3F4
sample 93:
time = 1860000
flags = 1
data = length 32, hash 2D210ECA
sample 94:
time = 1880000
flags = 1
data = length 32, hash B8143A84
sample 95:
time = 1900000
flags = 1
data = length 32, hash FE8EBC16
sample 96:
time = 1920000
flags = 1
data = length 32, hash 85A9EE5D
sample 97:
time = 1940000
flags = 1
data = length 32, hash 3BDF48D1
sample 98:
time = 1960000
flags = 1
data = length 32, hash 8EBCE992
sample 99:
time = 1980000
flags = 1
data = length 32, hash B22AFFF
sample 100:
time = 2000000
flags = 1
data = length 32, hash 5F01BAC9
sample 101:
time = 2020000
flags = 1
data = length 32, hash C6B7BD37
sample 102:
time = 2040000
flags = 1
data = length 32, hash 5102216
sample 103:
time = 2060000
flags = 1
data = length 32, hash 8FE06144
sample 104:
time = 2080000
flags = 1
data = length 32, hash ED90D421
sample 105:
time = 2100000
flags = 1
data = length 32, hash 15971BF0
sample 106:
time = 2120000
flags = 1
data = length 32, hash 1B2D1ADE
sample 107:
time = 2140000
flags = 1
data = length 32, hash A8A54AD2
sample 108:
time = 2160000
flags = 1
data = length 32, hash 270646A2
sample 109:
time = 2180000
flags = 1
data = length 32, hash 27DB772F
sample 110:
time = 2200000
flags = 1
data = length 32, hash FBD3938
sample 111:
time = 2220000
flags = 1
data = length 32, hash FA27CAFB
sample 112:
time = 2240000
flags = 1
data = length 32, hash 828AB2A4
sample 113:
time = 2260000
flags = 1
data = length 32, hash 5788D8F1
sample 114:
time = 2280000
flags = 1
data = length 32, hash B7A5AEB0
sample 115:
time = 2300000
flags = 1
data = length 32, hash 272DC4BC
sample 116:
time = 2320000
flags = 1
data = length 32, hash 56C2540E
sample 117:
time = 2340000
flags = 1
data = length 32, hash 3236D8C
sample 118:
time = 2360000
flags = 1
data = length 32, hash 6C0650B
sample 119:
time = 2380000
flags = 1
data = length 32, hash 1EA3E6C3
sample 120:
time = 2400000
flags = 1
data = length 32, hash 6512496C
sample 121:
time = 2420000
flags = 1
data = length 32, hash 82CD3C74
sample 122:
time = 2440000
flags = 1
data = length 32, hash 7EDFB3A4
sample 123:
time = 2460000
flags = 1
data = length 32, hash AAFD22AB
sample 124:
time = 2480000
flags = 1
data = length 32, hash 8577D9D1
sample 125:
time = 2500000
flags = 1
data = length 32, hash B8A22921
sample 126:
time = 2520000
flags = 1
data = length 32, hash 5E4EFC87
sample 127:
time = 2540000
flags = 1
data = length 32, hash 35A5463F
sample 128:
time = 2560000
flags = 1
data = length 32, hash 3EBC0376
sample 129:
time = 2580000
flags = 1
data = length 32, hash F515CB86
sample 130:
time = 2600000
flags = 1
data = length 32, hash B113F72C
sample 131:
time = 2620000
flags = 1
data = length 32, hash 420AE0
sample 132:
time = 2640000
flags = 1
data = length 32, hash 86D53F0F
sample 133:
time = 2660000
flags = 1
data = length 32, hash 5600867C
sample 134:
time = 2680000
flags = 1
data = length 32, hash EB4D89B6
sample 135:
time = 2700000
flags = 1
data = length 32, hash 9BCD0B44
sample 136:
time = 2720000
flags = 1
data = length 32, hash 4629F424
sample 137:
time = 2740000
flags = 1
data = length 32, hash DFAA65F7
sample 138:
time = 2760000
flags = 1
data = length 32, hash 9CF2BD6A
sample 139:
time = 2780000
flags = 1
data = length 32, hash 7A36CAB4
sample 140:
time = 2800000
flags = 1
data = length 32, hash 1B9BCD43
sample 141:
time = 2820000
flags = 1
data = length 32, hash 409B739C
sample 142:
time = 2840000
flags = 1
data = length 32, hash 126CAB5A
sample 143:
time = 2860000
flags = 1
data = length 32, hash 58173930
sample 144:
time = 2880000
flags = 1
data = length 32, hash 32F281F
sample 145:
time = 2900000
flags = 1
data = length 32, hash D3F26DE
sample 146:
time = 2920000
flags = 1
data = length 32, hash C13BE9A7
sample 147:
time = 2940000
flags = 1
data = length 32, hash 854B6181
sample 148:
time = 2960000
flags = 1
data = length 32, hash 1E217D84
sample 149:
time = 2980000
flags = 1
data = length 32, hash B121F36A
sample 150:
time = 3000000
flags = 536870913
data = length 32, hash 67FBC502
tracksEnded = true

View file

@ -0,0 +1,71 @@
seekMap:
isSeekable = true
duration = 66700
getPosition(0) = [[timeUs=0, position=400052]]
getPosition(1) = [[timeUs=0, position=400052]]
getPosition(33350) = [[timeUs=0, position=400052]]
getPosition(66700) = [[timeUs=0, position=400052]]
numberOfTracks = 2
track 0:
total output bytes = 678996
sample count = 3
format 0:
id = 1
sampleMimeType = video/hevc
codecs = hvc1.1.6.L153.B0
maxInputSize = 420494
maxNumReorderSamples = 0
width = 1920
height = 1080
frameRate = 44.977512
rotationDegrees = 90
colorInfo:
colorSpace = 2
colorRange = 1
colorTransfer = 3
lumaBitdepth = 8
chromaBitdepth = 8
metadata = entries=[mdta: key=com.android.capture.fps, value=30.0, xyz: latitude=51.5932, longitude=-0.2431, Mp4Timestamp: creation time=3000000000, modification time=4000000000, timescale=10000]
initializationData:
data = length 85, hash 6F3CAA16
sample 0:
time = 0
flags = 1
data = length 420464, hash 9C6E9B09
sample 1:
time = 33344
flags = 0
data = length 131591, hash A1895540
sample 2:
time = 66700
flags = 536870912
data = length 126941, hash 7B26BBA6
track 1:
total output bytes = 1726
sample count = 3
format 0:
averageBitrate = 192000
peakBitrate = 192000
id = 2
sampleMimeType = audio/mp4a-latm
codecs = mp4a.40.2
maxInputSize = 627
channelCount = 2
sampleRate = 48000
language = ```
metadata = entries=[xyz: latitude=51.5932, longitude=-0.2431, Mp4Timestamp: creation time=3000000000, modification time=4000000000, timescale=10000]
initializationData:
data = length 2, hash 560
sample 0:
time = 0
flags = 1
data = length 597, hash 36BCB84D
sample 1:
time = 38041
flags = 1
data = length 571, hash FD73DCB0
sample 2:
time = 59375
flags = 536870913
data = length 558, hash 6A62DD7F
tracksEnded = true

View file

@ -0,0 +1,342 @@
seekMap:
isSeekable = true
duration = 1064600
getPosition(0) = [[timeUs=0, position=400052]]
getPosition(1) = [[timeUs=0, position=400052]]
getPosition(532300) = [[timeUs=0, position=400052]]
getPosition(1064600) = [[timeUs=0, position=400052]]
numberOfTracks = 2
track 0:
total output bytes = 69084
sample count = 30
format 0:
id = 1
sampleMimeType = video/av01
maxInputSize = 46460
width = 1080
height = 720
frameRate = 31.004547
colorInfo:
colorRange = 2
lumaBitdepth = 8
chromaBitdepth = 8
metadata = entries=[Mp4Timestamp: creation time=3000000000, modification time=4000000000, timescale=10000]
initializationData:
data = length 17, hash 54AC4E6D
sample 0:
time = 0
flags = 1
data = length 46430, hash 6B637CB2
sample 1:
time = 33355
flags = 0
data = length 18221, hash BDFC1DF5
sample 2:
time = 66722
flags = 0
data = length 46, hash 61FBED63
sample 3:
time = 100100
flags = 0
data = length 3, hash D5E0
sample 4:
time = 133455
flags = 0
data = length 228, hash 12CA418E
sample 5:
time = 166822
flags = 0
data = length 3, hash D610
sample 6:
time = 200200
flags = 0
data = length 42, hash 89850AD7
sample 7:
time = 233555
flags = 0
data = length 3, hash D5D0
sample 8:
time = 266922
flags = 0
data = length 622, hash 825F13E
sample 9:
time = 300300
flags = 0
data = length 31, hash A716FCF3
sample 10:
time = 333655
flags = 0
data = length 3, hash D5E0
sample 11:
time = 367022
flags = 0
data = length 303, hash A10916F7
sample 12:
time = 400400
flags = 0
data = length 3, hash D600
sample 13:
time = 433755
flags = 0
data = length 206, hash 9560CECD
sample 14:
time = 467122
flags = 0
data = length 3, hash D5C0
sample 15:
time = 500500
flags = 0
data = length 1871, hash 33AF2CC4
sample 16:
time = 533855
flags = 0
data = length 84, hash 8814D81E
sample 17:
time = 567222
flags = 0
data = length 3, hash D5E0
sample 18:
time = 600600
flags = 0
data = length 291, hash 39EE2619
sample 19:
time = 633955
flags = 0
data = length 3, hash D5F0
sample 20:
time = 667322
flags = 0
data = length 34, hash 1BA7DF18
sample 21:
time = 700700
flags = 0
data = length 3, hash D610
sample 22:
time = 734055
flags = 0
data = length 336, hash FA3BC9BE
sample 23:
time = 767422
flags = 0
data = length 36, hash 8165203A
sample 24:
time = 800800
flags = 0
data = length 3, hash D600
sample 25:
time = 834155
flags = 0
data = length 148, hash 7828A82B
sample 26:
time = 867522
flags = 0
data = length 3, hash D5F0
sample 27:
time = 900900
flags = 0
data = length 36, hash 3D5B6002
sample 28:
time = 934255
flags = 0
data = length 25, hash E9EFF2B7
sample 29:
time = 967622
flags = 536870912
data = length 61, hash 40B232C5
track 1:
total output bytes = 9312
sample count = 45
format 0:
averageBitrate = 71295
peakBitrate = 71295
id = 2
sampleMimeType = audio/mp4a-latm
codecs = mp4a.40.2
maxInputSize = 612
channelCount = 1
sampleRate = 44100
language = und
metadata = entries=[Mp4Timestamp: creation time=3000000000, modification time=4000000000, timescale=10000]
initializationData:
data = length 5, hash 2B7623A
sample 0:
time = 0
flags = 1
data = length 21, hash 77102128
sample 1:
time = 66208
flags = 1
data = length 17, hash BA75F5D4
sample 2:
time = 89437
flags = 1
data = length 582, hash B5064B53
sample 3:
time = 112645
flags = 1
data = length 218, hash 46000EEF
sample 4:
time = 135875
flags = 1
data = length 206, hash 7B12EC38
sample 5:
time = 159083
flags = 1
data = length 215, hash C05E2F91
sample 6:
time = 182312
flags = 1
data = length 217, hash 1E457BBF
sample 7:
time = 205520
flags = 1
data = length 195, hash DFD6F480
sample 8:
time = 228750
flags = 1
data = length 198, hash 2BC702E
sample 9:
time = 251958
flags = 1
data = length 216, hash ED964B3D
sample 10:
time = 275187
flags = 1
data = length 204, hash DAF6FDC6
sample 11:
time = 298416
flags = 1
data = length 205, hash D249FD76
sample 12:
time = 321625
flags = 1
data = length 200, hash C8F844E4
sample 13:
time = 344854
flags = 1
data = length 196, hash FDD0CA03
sample 14:
time = 368062
flags = 1
data = length 196, hash E4E3A7B0
sample 15:
time = 391291
flags = 1
data = length 207, hash 157773E3
sample 16:
time = 414500
flags = 1
data = length 207, hash C9F46F0F
sample 17:
time = 437729
flags = 1
data = length 210, hash 127AC739
sample 18:
time = 460958
flags = 1
data = length 217, hash B2649830
sample 19:
time = 484166
flags = 1
data = length 188, hash 4D280759
sample 20:
time = 507395
flags = 1
data = length 205, hash EAE6D6AD
sample 21:
time = 530604
flags = 1
data = length 226, hash BDD0EC44
sample 22:
time = 553833
flags = 1
data = length 199, hash 60C719A2
sample 23:
time = 577041
flags = 1
data = length 215, hash EDDE842F
sample 24:
time = 600270
flags = 1
data = length 201, hash D17187B
sample 25:
time = 623479
flags = 1
data = length 217, hash 58DD698C
sample 26:
time = 646708
flags = 1
data = length 202, hash 5168D405
sample 27:
time = 669937
flags = 1
data = length 194, hash 7139AF8
sample 28:
time = 693145
flags = 1
data = length 203, hash F775D9ED
sample 29:
time = 716375
flags = 1
data = length 200, hash 774C5045
sample 30:
time = 739583
flags = 1
data = length 211, hash ED3C6FBC
sample 31:
time = 762812
flags = 1
data = length 205, hash FC4754A9
sample 32:
time = 786020
flags = 1
data = length 216, hash 72F4AF29
sample 33:
time = 809250
flags = 1
data = length 204, hash 1AF98D40
sample 34:
time = 832458
flags = 1
data = length 200, hash E0004171
sample 35:
time = 855687
flags = 1
data = length 215, hash B413079A
sample 36:
time = 878916
flags = 1
data = length 211, hash 107CEE52
sample 37:
time = 902125
flags = 1
data = length 214, hash 1E588A0D
sample 38:
time = 925354
flags = 1
data = length 210, hash 84E5BBBD
sample 39:
time = 948562
flags = 1
data = length 211, hash 32D7ACAB
sample 40:
time = 971791
flags = 1
data = length 201, hash 1567F919
sample 41:
time = 995000
flags = 1
data = length 196, hash 2F050463
sample 42:
time = 1018229
flags = 1
data = length 215, hash 4BDD9C81
sample 43:
time = 1041437
flags = 1
data = length 242, hash DD6FD967
sample 44:
time = 1064666
flags = 536870913
data = length 184, hash DAFC330D
tracksEnded = true

View file

@ -108,11 +108,21 @@ public final class InAppMuxer implements Muxer {
/** A list of supported video sample MIME types. */
private static final ImmutableList<String> SUPPORTED_VIDEO_SAMPLE_MIME_TYPES =
ImmutableList.of(MimeTypes.VIDEO_H264, MimeTypes.VIDEO_H265, MimeTypes.VIDEO_AV1);
ImmutableList.of(
MimeTypes.VIDEO_AV1,
MimeTypes.VIDEO_H263,
MimeTypes.VIDEO_H264,
MimeTypes.VIDEO_H265,
MimeTypes.VIDEO_MP4V);
/** A list of supported audio sample MIME types. */
private static final ImmutableList<String> SUPPORTED_AUDIO_SAMPLE_MIME_TYPES =
ImmutableList.of(MimeTypes.AUDIO_AAC);
ImmutableList.of(
MimeTypes.AUDIO_AAC,
MimeTypes.AUDIO_AMR_NB,
MimeTypes.AUDIO_AMR_WB,
MimeTypes.AUDIO_OPUS,
MimeTypes.AUDIO_VORBIS);
private final @Nullable MetadataProvider metadataProvider;
private final boolean outputFragmentedMp4;

View file

@ -50,9 +50,8 @@ import org.junit.runner.RunWith;
/** End-to-end test for {@link Transformer} with {@link InAppMuxer}. */
@RunWith(AndroidJUnit4.class)
public class TransformerWithInAppMuxerEndToEndTest {
public class TransformerWithInAppMuxerEndToEndNonParameterizedTest {
private static final String MP4_FILE_PATH = "asset:///media/mp4/sample_no_bframes.mp4";
private static final String MP4_FILE_NAME = "mp4/sample_no_bframes.mp4";
@Rule public final TemporaryFolder outputDir = new TemporaryFolder();
@ -64,40 +63,6 @@ public class TransformerWithInAppMuxerEndToEndTest {
outputPath = outputDir.newFile().getPath();
}
@Test
public void transmux_mp4File_outputMatchesExpected() throws Exception {
Muxer.Factory inAppMuxerFactory =
new InAppMuxer.Factory.Builder()
.setMetadataProvider(
metadataEntries ->
// Add timestamp to make output file deterministic.
metadataEntries.add(
new Mp4TimestampData(
/* creationTimestampSeconds= */ 3_000_000_000L,
/* modificationTimestampSeconds= */ 4_000_000_000L)))
.build();
Transformer transformer =
new Transformer.Builder(context)
.setClock(new FakeClock(/* isAutoAdvancing= */ true))
.setMuxerFactory(inAppMuxerFactory)
.build();
MediaItem mediaItem = MediaItem.fromUri(Uri.parse(MP4_FILE_PATH));
transformer.start(mediaItem, outputPath);
TransformerTestRunner.runLooper(transformer);
FakeExtractorOutput fakeExtractorOutput =
extractAllSamplesFromFilePath(
new Mp4Extractor(new DefaultSubtitleParserFactory()), outputPath);
DumpFileAsserts.assertOutput(
context,
fakeExtractorOutput,
TestUtil.getDumpFileName(
/* originalFileName= */ MP4_FILE_NAME,
/* modifications...= */ "transmuxed_with_inappmuxer"));
}
@Test
public void transmux_tsFileHavingThreeByteNalStartCode_outputMatchesExpected() throws Exception {
String tsFilePath = "asset:///media/ts/sample_h264.ts";

View file

@ -0,0 +1,116 @@
/*
* Copyright 2024 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package androidx.media3.transformer;
import static androidx.media3.common.util.Assertions.checkNotNull;
import static androidx.media3.test.utils.TestUtil.extractAllSamplesFromFilePath;
import static androidx.media3.transformer.TestUtil.ASSET_URI_PREFIX;
import android.content.Context;
import androidx.media3.common.MediaItem;
import androidx.media3.container.Mp4TimestampData;
import androidx.media3.extractor.mp4.Mp4Extractor;
import androidx.media3.extractor.text.DefaultSubtitleParserFactory;
import androidx.media3.muxer.Muxer;
import androidx.media3.test.utils.DumpFileAsserts;
import androidx.media3.test.utils.FakeClock;
import androidx.media3.test.utils.FakeExtractorOutput;
import androidx.test.core.app.ApplicationProvider;
import com.google.common.collect.ImmutableList;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.junit.runner.RunWith;
import org.robolectric.ParameterizedRobolectricTestRunner;
import org.robolectric.ParameterizedRobolectricTestRunner.Parameter;
import org.robolectric.ParameterizedRobolectricTestRunner.Parameters;
/** End to end parameterized tests for {@link Transformer} with {@link InAppMuxer}. */
@RunWith(ParameterizedRobolectricTestRunner.class)
public class TransformerWithInAppMuxerEndToEndParameterizedTest {
private static final String H263_3GP = "mp4/bbb_176x144_128kbps_15fps_h263.3gp";
private static final String H264_MP4 = "mp4/sample_no_bframes.mp4";
private static final String H265_MP4 = "mp4/h265_with_metadata_track.mp4";
private static final String AV1_MP4 = "mp4/sample_av1.mp4";
private static final String MPEG4_MP4 = "mp4/bbb_176x144_192kbps_15fps_mpeg4.mp4";
private static final String AMR_NB_3GP = "mp4/bbb_mono_8kHz_12.2kbps_amrnb.3gp";
private static final String AMR_WB_3GP = "mp4/bbb_mono_16kHz_23.05kbps_amrwb.3gp";
private static final String OPUS_OGG = "mp4/bbb_6ch_8kHz_opus.ogg";
private static final String VORBIS_OGG = "mp4/bbb_1ch_16kHz_q10_vorbis.ogg";
@Parameters(name = "{0}")
public static ImmutableList<String> mediaFiles() {
return ImmutableList.of(
H263_3GP,
H264_MP4,
H265_MP4,
AV1_MP4,
MPEG4_MP4,
AMR_NB_3GP,
AMR_WB_3GP,
OPUS_OGG,
VORBIS_OGG);
}
@Parameter public @MonotonicNonNull String inputFile;
@Rule public final TemporaryFolder outputDir = new TemporaryFolder();
private final Context context = ApplicationProvider.getApplicationContext();
private @MonotonicNonNull String outputPath;
@Before
public void setup() throws Exception {
outputPath = outputDir.newFile("muxeroutput.mp4").getPath();
}
@Test
public void transmux_mp4File_outputMatchesExpected() throws Exception {
Muxer.Factory inAppMuxerFactory =
new InAppMuxer.Factory.Builder()
.setMetadataProvider(
metadataEntries ->
// Add timestamp to make output file deterministic.
metadataEntries.add(
new Mp4TimestampData(
/* creationTimestampSeconds= */ 3_000_000_000L,
/* modificationTimestampSeconds= */ 4_000_000_000L)))
.build();
Transformer transformer =
new Transformer.Builder(context)
.setClock(new FakeClock(/* isAutoAdvancing= */ true))
.setMuxerFactory(inAppMuxerFactory)
.build();
MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + checkNotNull(inputFile));
transformer.start(mediaItem, outputPath);
TransformerTestRunner.runLooper(transformer);
FakeExtractorOutput fakeExtractorOutput =
extractAllSamplesFromFilePath(
new Mp4Extractor(new DefaultSubtitleParserFactory()), outputPath);
DumpFileAsserts.assertOutput(
context,
fakeExtractorOutput,
TestUtil.getDumpFileName(
/* originalFileName= */ checkNotNull(inputFile),
/* modifications...= */ "transmuxed_with_inappmuxer"));
}
}