mirror of
https://github.com/samsonjs/media.git
synced 2026-04-22 14:05:55 +00:00
Tests for composition audio effects
Add tests for the changes to AudioGraph that support composition audio effects PiperOrigin-RevId: 610691768
This commit is contained in:
parent
477ace1be9
commit
0e0e1c4f1a
13 changed files with 2209 additions and 0 deletions
|
|
@ -0,0 +1,373 @@
|
|||
format audio:
|
||||
averageBitrate = 131072
|
||||
sampleMimeType = audio/mp4a-latm
|
||||
channelCount = 1
|
||||
sampleRate = 44100
|
||||
pcmEncoding = 2
|
||||
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
|
||||
format video:
|
||||
id = 1
|
||||
sampleMimeType = video/avc
|
||||
codecs = avc1.64001F
|
||||
maxInputSize = 36722
|
||||
width = 1080
|
||||
height = 720
|
||||
frameRate = 29.970028
|
||||
colorInfo:
|
||||
lumaBitdepth = 8
|
||||
chromaBitdepth = 8
|
||||
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
|
||||
initializationData:
|
||||
data = length 29, hash 4746B5D9
|
||||
data = length 10, hash 7A0D0F2B
|
||||
container metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
|
||||
container metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 1742602241
|
||||
size = 4096
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 0
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1276182527
|
||||
size = 2048
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 46439
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 1742602241
|
||||
size = 4096
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 69659
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1276182527
|
||||
size = 2048
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 116099
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 1742602241
|
||||
size = 4096
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 139319
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1276182527
|
||||
size = 2048
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 185759
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 1742602241
|
||||
size = 4096
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 208979
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1276182527
|
||||
size = 2048
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 255419
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1276182527
|
||||
size = 2048
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 278639
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 1742602241
|
||||
size = 4096
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 301859
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1276182527
|
||||
size = 2048
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 348299
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 1742602241
|
||||
size = 4096
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 371519
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1276182527
|
||||
size = 2048
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 417959
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 1742602241
|
||||
size = 4096
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 441179
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 1737035649
|
||||
size = 1092
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 487619
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -345689983
|
||||
size = 3004
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 500000
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 1742602241
|
||||
size = 4096
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 534058
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1276182527
|
||||
size = 2048
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 580498
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 1742602241
|
||||
size = 4096
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 603718
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1276182527
|
||||
size = 2048
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 650158
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 1742602241
|
||||
size = 4096
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 673378
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1276182527
|
||||
size = 2048
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 719818
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 1742602241
|
||||
size = 4096
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 743038
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1276182527
|
||||
size = 2048
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 789478
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1276182527
|
||||
size = 2048
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 812698
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -809762815
|
||||
size = 8192
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 835918
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 820010753
|
||||
size = 6280
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 928798
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 521969921
|
||||
size = 1912
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 1000000
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = -770308242
|
||||
size = 36692
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 0
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = -732087136
|
||||
size = 5312
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 66733
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = 468156717
|
||||
size = 599
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 33366
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = 1150349584
|
||||
size = 7735
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 200200
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = 1443582006
|
||||
size = 987
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 133466
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = -310585145
|
||||
size = 673
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 100100
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = 807460688
|
||||
size = 523
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 166833
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = 1936487090
|
||||
size = 6061
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 333666
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = -32297181
|
||||
size = 992
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 266933
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = 1529616406
|
||||
size = 623
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 233566
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = 1949198785
|
||||
size = 421
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 300300
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = -147880287
|
||||
size = 4899
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 433766
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = 1369083472
|
||||
size = 568
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 400400
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = 965782073
|
||||
size = 620
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 367033
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = -261176150
|
||||
size = 5450
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 567233
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = -1830836678
|
||||
size = 1051
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 500500
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = 1767407540
|
||||
size = 874
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 467133
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = 918440283
|
||||
size = 781
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 533866
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = -1408463661
|
||||
size = 4725
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 700700
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = 1569455924
|
||||
size = 1022
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 633966
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = -1723778407
|
||||
size = 790
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 600600
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = 1578275472
|
||||
size = 610
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 667333
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = 1989768395
|
||||
size = 2751
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 834166
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = -1215674502
|
||||
size = 745
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 767433
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = -814473606
|
||||
size = 621
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 734066
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = 498370894
|
||||
size = 505
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 800800
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = -1051506468
|
||||
size = 1268
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 967633
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = -1025604144
|
||||
size = 880
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 900900
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = -913586520
|
||||
size = 530
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 867533
|
||||
sample:
|
||||
trackType = video
|
||||
dataHashCode = 1340459242
|
||||
size = 568
|
||||
isKeyFrame = false
|
||||
presentationTimeUs = 934266
|
||||
released = true
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,73 @@
|
|||
format audio:
|
||||
averageBitrate = 131072
|
||||
sampleMimeType = audio/mp4a-latm
|
||||
channelCount = 1
|
||||
sampleRate = 48000
|
||||
pcmEncoding = 2
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -206878443
|
||||
size = 9598
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 0
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 1925380271
|
||||
size = 9600
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 99979
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1463691457
|
||||
size = 9600
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 199979
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1949646832
|
||||
size = 9600
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 299979
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 448289446
|
||||
size = 9600
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 399979
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 1075917616
|
||||
size = 9600
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 499979
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -2108784941
|
||||
size = 9600
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 599979
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 1861606067
|
||||
size = 9600
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 699979
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1038569478
|
||||
size = 9600
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 799979
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 646441790
|
||||
size = 9600
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 899979
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 340
|
||||
size = 2
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 999979
|
||||
released = true
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
format audio:
|
||||
averageBitrate = 131072
|
||||
sampleMimeType = audio/mp4a-latm
|
||||
channelCount = 1
|
||||
sampleRate = 48000
|
||||
pcmEncoding = 2
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 1079020216
|
||||
size = 9598
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 0
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1587539971
|
||||
size = 9600
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 99979
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 1662487784
|
||||
size = 9600
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 199979
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 2046052835
|
||||
size = 9600
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 299979
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 662989576
|
||||
size = 9600
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 399979
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 493382594
|
||||
size = 9600
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 499979
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -936959003
|
||||
size = 9600
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 599979
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -373052102
|
||||
size = 9600
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 699979
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -2008343760
|
||||
size = 9600
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 799979
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1783150403
|
||||
size = 9600
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 899979
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -280
|
||||
size = 2
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 999979
|
||||
released = true
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
format audio:
|
||||
averageBitrate = 131072
|
||||
sampleMimeType = audio/mp4a-latm
|
||||
channelCount = 1
|
||||
sampleRate = 44100
|
||||
pcmEncoding = 2
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1157240447
|
||||
size = 8820
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 0
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1157240447
|
||||
size = 8820
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 100000
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1157240447
|
||||
size = 8820
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 200000
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1157240447
|
||||
size = 8820
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 300000
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1157240447
|
||||
size = 8820
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 400000
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1157240447
|
||||
size = 8820
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 500000
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1157240447
|
||||
size = 8820
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 600000
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1157240447
|
||||
size = 8820
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 700000
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1157240447
|
||||
size = 8820
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 800000
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1157240447
|
||||
size = 8820
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 900000
|
||||
released = true
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
format audio:
|
||||
averageBitrate = 131072
|
||||
sampleMimeType = audio/mp4a-latm
|
||||
channelCount = 1
|
||||
sampleRate = 44100
|
||||
pcmEncoding = 2
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1157240447
|
||||
size = 8820
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 0
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1157240447
|
||||
size = 8820
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 100000
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1157240447
|
||||
size = 8820
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 200000
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1157240447
|
||||
size = 8820
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 300000
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1157240447
|
||||
size = 8820
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 400000
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1157240447
|
||||
size = 8820
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 500000
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1157240447
|
||||
size = 8820
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 600000
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1157240447
|
||||
size = 8820
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 700000
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1157240447
|
||||
size = 8820
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 800000
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1157240447
|
||||
size = 8820
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 900000
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1163604095
|
||||
size = 1604
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 1000000
|
||||
released = true
|
||||
|
|
@ -0,0 +1,97 @@
|
|||
format audio:
|
||||
averageBitrate = 131072
|
||||
sampleMimeType = audio/mp4a-latm
|
||||
channelCount = 2
|
||||
sampleRate = 48000
|
||||
pcmEncoding = 2
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -226169394
|
||||
size = 15528
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 0
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1654106973
|
||||
size = 17436
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 80875
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 1078555669
|
||||
size = 19384
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 171687
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1783495042
|
||||
size = 8904
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 272645
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 1415708326
|
||||
size = 19232
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 319020
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -907128755
|
||||
size = 9688
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 419187
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -855583041
|
||||
size = 28564
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 469645
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -141401047
|
||||
size = 19388
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 618416
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1258167167
|
||||
size = 19680
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 719395
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1950277707
|
||||
size = 19796
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 821895
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -71854735
|
||||
size = 9096
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 925000
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -1667813033
|
||||
size = 28344
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 972375
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 473686109
|
||||
size = 18848
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 1120000
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 283620169
|
||||
size = 19384
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 1218166
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 581004623
|
||||
size = 5668
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 1319125
|
||||
released = true
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
format audio:
|
||||
averageBitrate = 131072
|
||||
sampleMimeType = audio/mp4a-latm
|
||||
channelCount = 2
|
||||
sampleRate = 48000
|
||||
pcmEncoding = 2
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -119496703
|
||||
size = 19200
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 0
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -119496703
|
||||
size = 19200
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 100000
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = -119496703
|
||||
size = 19200
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 200000
|
||||
sample:
|
||||
trackType = audio
|
||||
dataHashCode = 197067009
|
||||
size = 9336
|
||||
isKeyFrame = true
|
||||
presentationTimeUs = 300000
|
||||
released = true
|
||||
|
|
@ -1045,6 +1045,45 @@ public class TransformerEndToEndTest {
|
|||
assertThat(result.exportResult.channelCount).isEqualTo(2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void audioComposition_noEffects_transmuxes() throws Exception {
|
||||
String testId = "audioComposition_noEffects_transmuxes";
|
||||
EditedMediaItem editedMediaItem =
|
||||
new EditedMediaItem.Builder(MediaItem.fromUri(Uri.parse(MP4_ASSET_URI_STRING)))
|
||||
.setRemoveVideo(true)
|
||||
.build();
|
||||
Composition composition =
|
||||
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)).build();
|
||||
|
||||
ExportTestResult result =
|
||||
new TransformerAndroidTestRunner.Builder(context, new Transformer.Builder(context).build())
|
||||
.build()
|
||||
.run(testId, composition);
|
||||
|
||||
assertThat(result.exportResult.audioConversionProcess).isEqualTo(CONVERSION_PROCESS_TRANSMUXED);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void audioComposition_compositionEffects_transcodes() throws Exception {
|
||||
String testId = "audioComposition_compositionEffects_transcodes";
|
||||
EditedMediaItem editedMediaItem =
|
||||
new EditedMediaItem.Builder(MediaItem.fromUri(Uri.parse(MP4_ASSET_URI_STRING)))
|
||||
.setRemoveVideo(true)
|
||||
.build();
|
||||
Composition composition =
|
||||
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem))
|
||||
.setEffects(
|
||||
new Effects(ImmutableList.of(createSonic(/* pitch= */ 2f)), ImmutableList.of()))
|
||||
.build();
|
||||
|
||||
ExportTestResult result =
|
||||
new TransformerAndroidTestRunner.Builder(context, new Transformer.Builder(context).build())
|
||||
.build()
|
||||
.run(testId, composition);
|
||||
|
||||
assertThat(result.exportResult.audioConversionProcess).isEqualTo(CONVERSION_PROCESS_TRANSCODED);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void transcode_withOutputVideoMimeTypeAv1_completesSuccessfully() throws Exception {
|
||||
if (AndroidTestUtil.skipAndLogIfFormatsUnsupported(
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ import static com.google.common.truth.Truth.assertThat;
|
|||
import android.content.Context;
|
||||
import androidx.media3.common.MediaItem;
|
||||
import androidx.media3.common.MimeTypes;
|
||||
import androidx.media3.common.audio.SonicAudioProcessor;
|
||||
import androidx.media3.test.utils.DumpFileAsserts;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
|
@ -315,6 +316,62 @@ public class CompositionExportTest {
|
|||
"loopingAudio" + getFileName(FILE_AUDIO_RAW_VIDEO)));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void start_adjustSampleRateWithComposition_completesSuccessfully() throws Exception {
|
||||
SonicAudioProcessor sonicAudioProcessor = new SonicAudioProcessor();
|
||||
sonicAudioProcessor.setOutputSampleRateHz(48000);
|
||||
Transformer transformer =
|
||||
createTransformerBuilder(muxerFactory, /* enableFallback= */ false).build();
|
||||
MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW);
|
||||
EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).build();
|
||||
Composition composition =
|
||||
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem))
|
||||
.setEffects(createAudioEffects(sonicAudioProcessor))
|
||||
.build();
|
||||
|
||||
transformer.start(composition, outputDir.newFile().getPath());
|
||||
TransformerTestRunner.runLooper(transformer);
|
||||
|
||||
// TODO: b/311614619 - Use the same dump as
|
||||
// {@link MediaItemExportTest#start_adjustSampleRate_completesSuccessfully}.
|
||||
DumpFileAsserts.assertOutput(
|
||||
context,
|
||||
muxerFactory.getCreatedMuxer(),
|
||||
getDumpFileName(
|
||||
/* originalFileName= */ FILE_AUDIO_RAW,
|
||||
/* modifications...= */ "48000hzViaComposition"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void start_compositionOfConcurrentAudio_changesSampleRateWithEffect() throws Exception {
|
||||
SonicAudioProcessor sonicAudioProcessor = new SonicAudioProcessor();
|
||||
sonicAudioProcessor.setOutputSampleRateHz(48000);
|
||||
Transformer transformer =
|
||||
createTransformerBuilder(muxerFactory, /* enableFallback= */ false).build();
|
||||
EditedMediaItem rawAudioEditedMediaItem =
|
||||
new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)).build();
|
||||
Composition composition =
|
||||
new Composition.Builder(
|
||||
new EditedMediaItemSequence(rawAudioEditedMediaItem),
|
||||
new EditedMediaItemSequence(rawAudioEditedMediaItem))
|
||||
.setEffects(createAudioEffects(sonicAudioProcessor))
|
||||
.build();
|
||||
|
||||
transformer.start(composition, outputDir.newFile().getPath());
|
||||
ExportResult exportResult = TransformerTestRunner.runLooper(transformer);
|
||||
|
||||
assertThat(exportResult.processedInputs).hasSize(2);
|
||||
assertThat(exportResult.sampleRate).isEqualTo(48000);
|
||||
DumpFileAsserts.assertOutput(
|
||||
context,
|
||||
muxerFactory.getCreatedMuxer(),
|
||||
getDumpFileName(
|
||||
FILE_AUDIO_RAW,
|
||||
/* modifications...= */ "mixed",
|
||||
getFileName(FILE_AUDIO_RAW),
|
||||
"48000hz"));
|
||||
}
|
||||
|
||||
private static String getFileName(String filePath) {
|
||||
int lastSeparator = filePath.lastIndexOf("/");
|
||||
return filePath.substring(lastSeparator + 1);
|
||||
|
|
|
|||
|
|
@ -25,7 +25,9 @@ import static androidx.media3.transformer.TestUtil.FILE_AUDIO_VIDEO;
|
|||
import static androidx.media3.transformer.TestUtil.FILE_VIDEO_ONLY;
|
||||
import static androidx.media3.transformer.TestUtil.addAudioDecoders;
|
||||
import static androidx.media3.transformer.TestUtil.addAudioEncoders;
|
||||
import static androidx.media3.transformer.TestUtil.createAudioEffects;
|
||||
import static androidx.media3.transformer.TestUtil.createTransformerBuilder;
|
||||
import static androidx.media3.transformer.TestUtil.createVolumeScalingAudioProcessor;
|
||||
import static androidx.media3.transformer.TestUtil.getDumpFileName;
|
||||
import static androidx.media3.transformer.TestUtil.removeEncodersAndDecoders;
|
||||
import static org.junit.Assume.assumeFalse;
|
||||
|
|
@ -137,4 +139,53 @@ public final class ParameterizedItemExportTest {
|
|||
muxerFactory.getCreatedMuxer(),
|
||||
getDumpFileName(assetFile, /* modifications...= */ "silence"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void generateSilenceWithItemEffect() throws Exception {
|
||||
assumeFalse(VIDEO_ONLY_ASSETS.contains(assetFile));
|
||||
assumeFalse(
|
||||
"Audio effects in Robolectric tests require PCM input",
|
||||
assetFile.equals(FILE_AUDIO_VIDEO) || assetFile.equals(FILE_AUDIO_AMR_NB));
|
||||
Transformer transformer =
|
||||
createTransformerBuilder(muxerFactory, /* enableFallback= */ false).build();
|
||||
|
||||
EditedMediaItem item =
|
||||
new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + assetFile))
|
||||
.setEffects(createAudioEffects(createVolumeScalingAudioProcessor(0f)))
|
||||
.build();
|
||||
Composition composition = new Composition.Builder(new EditedMediaItemSequence(item)).build();
|
||||
|
||||
transformer.start(composition, outputDir.newFile().getPath());
|
||||
TransformerTestRunner.runLooper(transformer);
|
||||
|
||||
DumpFileAsserts.assertOutput(
|
||||
ApplicationProvider.getApplicationContext(),
|
||||
muxerFactory.getCreatedMuxer(),
|
||||
getDumpFileName(assetFile, /* modifications...= */ "silenceFromEffect"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void generateSilenceWithCompositionEffect() throws Exception {
|
||||
assumeFalse(VIDEO_ONLY_ASSETS.contains(assetFile));
|
||||
assumeFalse(
|
||||
"Audio effects in Robolectric tests require PCM input",
|
||||
assetFile.equals(FILE_AUDIO_VIDEO) || assetFile.equals(FILE_AUDIO_AMR_NB));
|
||||
Transformer transformer =
|
||||
createTransformerBuilder(muxerFactory, /* enableFallback= */ false).build();
|
||||
|
||||
EditedMediaItem item =
|
||||
new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + assetFile)).build();
|
||||
Composition composition =
|
||||
new Composition.Builder(new EditedMediaItemSequence(item))
|
||||
.setEffects(createAudioEffects(createVolumeScalingAudioProcessor(0f)))
|
||||
.build();
|
||||
|
||||
transformer.start(composition, outputDir.newFile().getPath());
|
||||
TransformerTestRunner.runLooper(transformer);
|
||||
|
||||
DumpFileAsserts.assertOutput(
|
||||
ApplicationProvider.getApplicationContext(),
|
||||
muxerFactory.getCreatedMuxer(),
|
||||
getDumpFileName(assetFile, /* modifications...= */ "silenceFromEffect"));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ import static androidx.media3.transformer.TestUtil.FILE_AUDIO_VIDEO_INCREASING_T
|
|||
import static androidx.media3.transformer.TestUtil.addAudioDecoders;
|
||||
import static androidx.media3.transformer.TestUtil.addAudioEncoders;
|
||||
import static androidx.media3.transformer.TestUtil.createAudioEffects;
|
||||
import static androidx.media3.transformer.TestUtil.createChannelCountChangingAudioProcessor;
|
||||
import static androidx.media3.transformer.TestUtil.createPitchChangingAudioProcessor;
|
||||
import static androidx.media3.transformer.TestUtil.createTransformerBuilder;
|
||||
import static androidx.media3.transformer.TestUtil.getDumpFileName;
|
||||
|
|
@ -34,6 +35,7 @@ import static com.google.common.truth.Truth.assertThat;
|
|||
import android.content.Context;
|
||||
import androidx.media3.common.MediaItem;
|
||||
import androidx.media3.common.MimeTypes;
|
||||
import androidx.media3.common.audio.SonicAudioProcessor;
|
||||
import androidx.media3.effect.RgbFilter;
|
||||
import androidx.media3.test.utils.DumpFileAsserts;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
|
@ -642,4 +644,70 @@ public final class SequenceExportTest {
|
|||
/* modifications...= */ "highPitch",
|
||||
"sample.wavLowPitch"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void concatenateTwoAudioItems_withDiffFormatAndCompositionEffects_completesSuccessfully()
|
||||
throws Exception {
|
||||
Transformer transformer =
|
||||
createTransformerBuilder(muxerFactory, /* enableFallback= */ false).build();
|
||||
MediaItem stereo48000Audio =
|
||||
MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW_STEREO_48000KHZ);
|
||||
MediaItem mono44100Audio = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW);
|
||||
Composition composition =
|
||||
new Composition.Builder(
|
||||
new EditedMediaItemSequence(
|
||||
new EditedMediaItem.Builder(stereo48000Audio).build(),
|
||||
new EditedMediaItem.Builder(mono44100Audio).build()))
|
||||
.setEffects(createAudioEffects(createPitchChangingAudioProcessor(2f)))
|
||||
.build();
|
||||
|
||||
transformer.start(composition, outputDir.newFile().getPath());
|
||||
ExportResult exportResult = TransformerTestRunner.runLooper(transformer);
|
||||
|
||||
assertThat(exportResult.sampleRate).isEqualTo(48_000);
|
||||
assertThat(exportResult.channelCount).isEqualTo(2);
|
||||
DumpFileAsserts.assertOutput(
|
||||
context,
|
||||
muxerFactory.getCreatedMuxer(),
|
||||
getDumpFileName(
|
||||
/* originalFileName= */ FILE_AUDIO_RAW_STEREO_48000KHZ,
|
||||
/* modifications...= */ "original",
|
||||
"sample.wav",
|
||||
"highPitch"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void concatenateTwoAudioItems_withDiffEffectsAndCompositionEffects_completesSuccessfully()
|
||||
throws Exception {
|
||||
Transformer transformer =
|
||||
createTransformerBuilder(muxerFactory, /* enableFallback= */ false).build();
|
||||
MediaItem audioOnlyMediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW);
|
||||
EditedMediaItem twoChannelMediaItem =
|
||||
new EditedMediaItem.Builder(audioOnlyMediaItem)
|
||||
.setRemoveVideo(true)
|
||||
.setEffects(
|
||||
createAudioEffects(
|
||||
createChannelCountChangingAudioProcessor(/* outputChannelCount= */ 2)))
|
||||
.build();
|
||||
EditedMediaItem oneChannelMediaItem =
|
||||
new EditedMediaItem.Builder(audioOnlyMediaItem)
|
||||
.setRemoveVideo(true)
|
||||
.setEffects(
|
||||
createAudioEffects(
|
||||
createChannelCountChangingAudioProcessor(/* outputChannelCount= */ 1)))
|
||||
.build();
|
||||
SonicAudioProcessor sonicAudioProcessor = new SonicAudioProcessor();
|
||||
sonicAudioProcessor.setOutputSampleRateHz(48_000);
|
||||
Composition composition =
|
||||
new Composition.Builder(
|
||||
new EditedMediaItemSequence(twoChannelMediaItem, oneChannelMediaItem))
|
||||
.setEffects(createAudioEffects(sonicAudioProcessor))
|
||||
.build();
|
||||
|
||||
transformer.start(composition, outputDir.newFile().getPath());
|
||||
ExportResult exportResult = TransformerTestRunner.runLooper(transformer);
|
||||
|
||||
assertThat(exportResult.sampleRate).isEqualTo(48_000);
|
||||
assertThat(exportResult.channelCount).isEqualTo(2);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -94,6 +94,16 @@ public final class TestUtil {
|
|||
return audioProcessor;
|
||||
}
|
||||
|
||||
public static ChannelMixingAudioProcessor createChannelCountChangingAudioProcessor(
|
||||
int outputChannelCount) {
|
||||
ChannelMixingAudioProcessor audioProcessor = new ChannelMixingAudioProcessor();
|
||||
for (int inputChannelCount = 1; inputChannelCount <= 2; inputChannelCount++) {
|
||||
audioProcessor.putChannelMixingMatrix(
|
||||
ChannelMixingMatrix.create(inputChannelCount, outputChannelCount));
|
||||
}
|
||||
return audioProcessor;
|
||||
}
|
||||
|
||||
public static String getDumpFileName(String originalFileName, String... modifications) {
|
||||
String fileName = DUMP_FILE_OUTPUT_DIRECTORY + '/' + originalFileName + '/';
|
||||
if (modifications.length == 0) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue