@@ -69,6 +69,25 @@ pub fn bench_buffer_src() {
69
69
assert_eq ! ( ctx. start_rendering_sync( ) . length( ) , SAMPLES ) ;
70
70
}
71
71
72
+ pub fn bench_buffer_src_delay ( ) {
73
+ let ctx = OfflineAudioContext :: new ( 2 , black_box ( SAMPLES ) , SAMPLE_RATE ) ;
74
+
75
+ let file = std:: fs:: File :: open ( "samples/think-stereo-48000.wav" ) . unwrap ( ) ;
76
+ let buffer = ctx. decode_audio_data_sync ( file) . unwrap ( ) ;
77
+
78
+ let delay = ctx. create_delay ( 0.3 ) ;
79
+ delay. delay_time ( ) . set_value ( 0.2 ) ;
80
+
81
+ let src = ctx. create_buffer_source ( ) ;
82
+ src. set_buffer ( buffer) ;
83
+ src. start ( ) ;
84
+
85
+ src. connect ( & delay) ;
86
+ delay. connect ( & ctx. destination ( ) ) ;
87
+
88
+ assert_eq ! ( ctx. start_rendering_sync( ) . length( ) , SAMPLES ) ;
89
+ }
90
+
72
91
pub fn bench_buffer_src_iir ( ) {
73
92
let ctx = OfflineAudioContext :: new ( 2 , black_box ( SAMPLES ) , SAMPLE_RATE ) ;
74
93
let file = std:: fs:: File :: open ( "samples/think-stereo-48000.wav" ) . unwrap ( ) ;
@@ -139,13 +158,34 @@ pub fn bench_stereo_positional() {
139
158
assert_eq ! ( ctx. start_rendering_sync( ) . length( ) , SAMPLES ) ;
140
159
}
141
160
161
+ pub fn bench_stereo_panning_automation ( ) {
162
+ let ctx = OfflineAudioContext :: new ( 2 , black_box ( SAMPLES ) , SAMPLE_RATE ) ;
163
+ let file = std:: fs:: File :: open ( "samples/think-stereo-48000.wav" ) . unwrap ( ) ;
164
+ let buffer = ctx. decode_audio_data_sync ( file) . unwrap ( ) ;
165
+
166
+ let panner = ctx. create_stereo_panner ( ) ;
167
+ panner. connect ( & ctx. destination ( ) ) ;
168
+ panner. pan ( ) . set_value_at_time ( -1. , 0. ) ;
169
+ panner. pan ( ) . set_value_at_time ( 0.2 , 0.5 ) ;
170
+
171
+ let src = ctx. create_buffer_source ( ) ;
172
+ src. connect ( & panner) ;
173
+ src. set_buffer ( buffer) ;
174
+ src. set_loop ( true ) ;
175
+ src. start ( ) ;
176
+
177
+ assert_eq ! ( ctx. start_rendering_sync( ) . length( ) , SAMPLES ) ;
178
+ }
179
+
142
180
iai:: main!(
143
181
bench_ctor,
144
182
bench_sine,
145
183
bench_sine_gain,
146
184
bench_sine_gain_delay,
147
185
bench_buffer_src,
186
+ bench_buffer_src_delay,
148
187
bench_buffer_src_iir,
149
188
bench_buffer_src_biquad,
150
189
bench_stereo_positional,
190
+ bench_stereo_panning_automation,
151
191
) ;
0 commit comments