Skip to content

Commit 42aa3d1

Browse files
b-maorottier
authored andcommitted
refactor: add explicit dummy constructor for inner convolver
1 parent 66ca300 commit 42aa3d1

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

src/node/convolver.rs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -156,13 +156,8 @@ impl ConvolverNode {
156156
} = options;
157157

158158
let node = context.base().register(move |registration| {
159-
// create a dummy convolver to be replaced by a real one without deallocation
160-
let sample_rate = context.base().sample_rate();
161-
let padded_buffer = AudioBuffer::from(vec![vec![0.; 0]; 1], sample_rate);
162-
let convolver = ConvolverRendererInner::new(padded_buffer);
163-
164159
let renderer = ConvolverRenderer {
165-
convolver,
160+
convolver: ConvolverRendererInner::tombstone(),
166161
convolver_set: false,
167162
};
168163

@@ -349,6 +344,13 @@ impl ConvolverRendererInner {
349344
}
350345
}
351346

347+
// dummy convolver used to init renderer
348+
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)
352+
}
353+
352354
fn process(&mut self, input: &[f32], output: &mut [f32]) {
353355
self.fft2.real()[..RENDER_QUANTUM_SIZE].copy_from_slice(input);
354356
self.fft2.real()[RENDER_QUANTUM_SIZE..].fill(0.);

0 commit comments

Comments
 (0)