pub struct ProcBuffers<'a, 'b, 'c, 'd> {
pub inputs: &'a [&'b [f32]],
pub outputs: &'a mut [&'b mut [f32]],
pub scratch_buffers: &'c mut [&'d mut [f32]; 8],
}Expand description
The buffers used in AudioNodeProcessor::process.
Fields§
§inputs: &'a [&'b [f32]]The audio input buffers.
The number of channels will always equal the ChannelConfig::num_inputs
value that was returned in AudioNode::info.
Each channel slice will have a length of ProcInfo::frames.
outputs: &'a mut [&'b mut [f32]]The audio input buffers.
The number of channels will always equal the ChannelConfig::num_outputs
value that was returned in AudioNode::info.
Each channel slice will have a length of ProcInfo::frames.
These buffers may contain junk data.
scratch_buffers: &'c mut [&'d mut [f32]; 8]A list of extra scratch buffers that can be used for processing.
This removes the need for nodes to allocate their own scratch buffers.
Each buffer has a length of StreamInfo::max_block_frames. These
buffers are shared across all nodes, so assume that they contain junk
data.
Auto Trait Implementations§
impl<'a, 'b, 'c, 'd> Freeze for ProcBuffers<'a, 'b, 'c, 'd>
impl<'a, 'b, 'c, 'd> RefUnwindSafe for ProcBuffers<'a, 'b, 'c, 'd>
impl<'a, 'b, 'c, 'd> Send for ProcBuffers<'a, 'b, 'c, 'd>
impl<'a, 'b, 'c, 'd> Sync for ProcBuffers<'a, 'b, 'c, 'd>
impl<'a, 'b, 'c, 'd> Unpin for ProcBuffers<'a, 'b, 'c, 'd>
impl<'a, 'b, 'c, 'd> !UnwindSafe for ProcBuffers<'a, 'b, 'c, 'd>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.