@@ -12,7 +12,8 @@ use crate::RENDER_QUANTUM_SIZE;
12
12
use super :: { AudioNode , ChannelConfig , ChannelConfigOptions , ChannelInterpretation } ;
13
13
14
14
/// Scale buffer by an equal-power normalization
15
- fn normalization ( buffer : & AudioBuffer ) -> f32 {
15
+ // see - <https://webaudio.github.io/web-audio-api/#dom-convolvernode-normalize>
16
+ fn normalize_buffer ( buffer : & AudioBuffer ) -> f32 {
16
17
let gain_calibration = 0.00125 ;
17
18
let gain_calibration_sample_rate = 44100. ;
18
19
let min_power = 0.000125 ;
@@ -198,7 +199,7 @@ impl ConvolverNode {
198
199
199
200
// normalize before padding because the length of the buffer affects the scale
200
201
let scale = if self . normalize ( ) {
201
- normalization ( & buffer)
202
+ normalize_buffer ( & buffer)
202
203
} else {
203
204
1.
204
205
} ;
@@ -346,9 +347,13 @@ impl ConvolverRendererInner {
346
347
347
348
// dummy convolver used to init renderer
348
349
fn tombstone ( ) -> Self {
349
- // just use arbitrary common sample rate
350
- let padded_buffer = AudioBuffer :: from ( vec ! [ vec![ 0. ; 0 ] ; 1 ] , 48000. ) ;
351
- Self :: new ( padded_buffer)
350
+ Self {
351
+ num_ir_blocks : Default :: default ( ) ,
352
+ h : Default :: default ( ) ,
353
+ fdl : Default :: default ( ) ,
354
+ out : Default :: default ( ) ,
355
+ fft2 : Fft :: new ( 0 ) ,
356
+ }
352
357
}
353
358
354
359
fn process ( & mut self , input : & [ f32 ] , output : & mut [ f32 ] ) {
0 commit comments