diff options
| author | Eskil Queseth <eskilq@kth.se> | 2021-06-14 22:21:24 +0200 |
|---|---|---|
| committer | Eskil Queseth <eskilq@kth.se> | 2021-06-14 22:21:24 +0200 |
| commit | d2ee549d248af9988bcbd011a86aaa37e4db15ba (patch) | |
| tree | f20e7c42bdea0cb021192d88b1f8032ee9ef2671 | |
| parent | 3d14ef37acb4060937ba0463f74976ef8e4ede79 (diff) | |
| download | mum-d2ee549d248af9988bcbd011a86aaa37e4db15ba.tar.gz | |
rework transformer trait
| -rw-r--r-- | mumd/src/audio/transformers.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/mumd/src/audio/transformers.rs b/mumd/src/audio/transformers.rs index 25e28b8..91cf3ac 100644 --- a/mumd/src/audio/transformers.rs +++ b/mumd/src/audio/transformers.rs @@ -2,7 +2,7 @@ pub trait Transformer { /// Do the transform. Returning `None` is interpreted as "the buffer is unwanted". /// The implementor is free to modify the buffer however it wants to. - fn transform<'a>(&mut self, buf: &'a mut [f32]) -> Option<&'a mut [f32]>; + fn transform<'a>(&mut self, buf: (opus::Channels, &'a mut [f32])) -> Option<(opus::Channels, &'a mut [f32])>; } /// A struct representing a noise gate transform. @@ -25,7 +25,7 @@ impl NoiseGate { } impl Transformer for NoiseGate { - fn transform<'a>(&mut self, buf: &'a mut [f32]) -> Option<&'a mut [f32]> { + fn transform<'a>(&mut self, (channels, buf): (opus::Channels, &'a mut [f32])) -> Option<(opus::Channels, &'a mut [f32])> { const MUTE_PERCENTAGE: f32 = 0.1; let max = buf.iter().map(|e| e.abs()).max_by(|a, b| a.partial_cmp(b).unwrap()).unwrap(); @@ -43,7 +43,7 @@ impl Transformer for NoiseGate { if self.open == 0 { None } else { - Some(buf) + Some((channels, buf)) } } } |
