1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
use bufferpool::BufferPoolReference; use sample::Sample; pub trait Route<S: Sample> { fn process( &mut self, input: &[BufferPoolReference<S>], output: &mut [BufferPoolReference<S>], frames: usize, ); } impl<S: Sample> Route<S> for Box<dyn Route<S>> { fn process( &mut self, input: &[BufferPoolReference<S>], output: &mut [BufferPoolReference<S>], frames: usize, ) { (**self).process(input, output, frames); } }