From 5b2e2c4e266c61f35f7bcfbc603e02070b54e7d0 Mon Sep 17 00:00:00 2001 From: Eskil Queseth Date: Sat, 12 Jun 2021 16:47:36 +0200 Subject: FnMut -> Trait --- mumd/src/audio/input.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'mumd/src/audio/input.rs') diff --git a/mumd/src/audio/input.rs b/mumd/src/audio/input.rs index b0e621b..9c2d93c 100644 --- a/mumd/src/audio/input.rs +++ b/mumd/src/audio/input.rs @@ -4,13 +4,13 @@ use log::*; use tokio::sync::watch; use crate::audio::SAMPLE_RATE; -use crate::audio::transformers::{create_noise_gate}; +use crate::audio::transformers::{NoiseGate, Transformer}; use crate::error::{AudioError, AudioStream}; use crate::state::StatePhase; pub fn callback( mut input_sender: futures_channel::mpsc::Sender>, - mut transformers: Vec Option<&mut [f32]> + Send + 'static>>, + mut transformers: Vec>, frame_size: u32, sample_rate: u32, channels: u16, @@ -41,7 +41,7 @@ pub fn callback( buffer.extend(data.by_ref().take(buffer_size - buffer.len())); let encoded = transformers .iter_mut() - .try_fold(&mut buffer[..], |acc, e| e(acc)) + .try_fold(&mut buffer[..], |acc, e| e.transform(acc)) .map(|buf| opus_encoder.encode_vec_float(&*buf, buffer_size).unwrap()); if let Some(encoded) = encoded { @@ -74,7 +74,7 @@ impl DefaultAudioInputDevice { pub fn new( input_volume: f32, phase_watcher: watch::Receiver, - frame_size: u32, + frame_size: u32, // blocks of 2.5 ms ) -> Result { let sample_rate = SampleRate(SAMPLE_RATE); @@ -104,7 +104,7 @@ impl DefaultAudioInputDevice { let (volume_sender, input_volume_receiver) = watch::channel::(input_volume); - let transformers = vec![Box::new(create_noise_gate(10, 0.6)) as Box Option<&mut [f32]> + Send + 'static>]; + let transformers = vec![Box::new(NoiseGate::new(200)) as Box]; let input_stream = match input_supported_sample_format { SampleFormat::F32 => input_device.build_input_stream( -- cgit v1.2.1