pub struct DomainBridgeProcessor { /* private fields */ }Expand description
A Processor that bridges between clock domains or rate contracts.
Wraps a DomainBridgeDescriptor and carries audio through unchanged or
forwards events, depending on its PortMedia. Its declared latency and
clock domain come from the descriptor’s output rate.
Implementations§
Source§impl DomainBridgeProcessor
impl DomainBridgeProcessor
Sourcepub fn new(descriptor: DomainBridgeDescriptor, media: PortMedia) -> Self
pub fn new(descriptor: DomainBridgeDescriptor, media: PortMedia) -> Self
Creates a bridge processor from a descriptor and port media kind.
Sourcepub fn resampler(input_hz: u32, output_hz: u32) -> Result<Self>
pub fn resampler(input_hz: u32, output_hz: u32) -> Result<Self>
Creates an audio resampling bridge from input_hz to output_hz.
Sourcepub fn jitter_buffer(max_late_packets: u32) -> Self
pub fn jitter_buffer(max_late_packets: u32) -> Self
Creates an event jitter-buffer bridge tolerating max_late_packets.
Sourcepub fn latency_comp_delay(frames: u64) -> Self
pub fn latency_comp_delay(frames: u64) -> Self
Creates an audio latency-compensation delay of frames frames.
Sourcepub fn event_rate_gate(input_domain: ClockDomain) -> Result<Self>
pub fn event_rate_gate(input_domain: ClockDomain) -> Result<Self>
Creates an event-media rate gate bridging from input_domain.
Sourcepub fn control_rate_gate(input_domain: ClockDomain) -> Result<Self>
pub fn control_rate_gate(input_domain: ClockDomain) -> Result<Self>
Creates a control-media rate gate bridging from input_domain.
Sourcepub fn bridge_descriptor(&self) -> &DomainBridgeDescriptor
pub fn bridge_descriptor(&self) -> &DomainBridgeDescriptor
Returns the underlying domain-bridge descriptor.
Trait Implementations§
Source§impl Clone for DomainBridgeProcessor
impl Clone for DomainBridgeProcessor
Source§fn clone(&self) -> DomainBridgeProcessor
fn clone(&self) -> DomainBridgeProcessor
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DomainBridgeProcessor
impl Debug for DomainBridgeProcessor
Source§impl Processor for DomainBridgeProcessor
impl Processor for DomainBridgeProcessor
Source§fn prepare(&mut self, _cfg: PrepareConfig)
fn prepare(&mut self, _cfg: PrepareConfig)
Prepares the processor for a sample rate, block size, and channel layout.
Source§fn process(&mut self, block: &mut ProcessBlock<'_>)
fn process(&mut self, block: &mut ProcessBlock<'_>)
Processes one block of audio and events in place.
Source§fn clock_domain(&self) -> ClockDomain
fn clock_domain(&self) -> ClockDomain
Returns the processor’s clock domain (defaults to sample rate).
Source§fn latency_class(&self) -> LatencyClass
fn latency_class(&self) -> LatencyClass
Returns the processor’s latency class (defaults to block-local).
Source§fn realtime_pin(&self) -> bool
fn realtime_pin(&self) -> bool
Returns whether the processor must run in the realtime thread (defaults
to
true).Source§fn ports(&self, in_channels: u16, out_channels: u16) -> Vec<PortDecl>
fn ports(&self, in_channels: u16, out_channels: u16) -> Vec<PortDecl>
Returns the processor’s port declarations for the given channel counts
(defaults to a single audio in/out pair).
Source§fn tail_frames(&self) -> u64
fn tail_frames(&self) -> u64
Returns the processor’s release tail length in frames (defaults to
0).Source§fn descriptor(&self, in_channels: u16, out_channels: u16) -> ProcessorDescriptor
fn descriptor(&self, in_channels: u16, out_channels: u16) -> ProcessorDescriptor
Returns the full
ProcessorDescriptor assembled from this processor’s
clock, latency, pinning, and ports.Auto Trait Implementations§
impl Freeze for DomainBridgeProcessor
impl RefUnwindSafe for DomainBridgeProcessor
impl Send for DomainBridgeProcessor
impl Sync for DomainBridgeProcessor
impl Unpin for DomainBridgeProcessor
impl UnsafeUnpin for DomainBridgeProcessor
impl UnwindSafe for DomainBridgeProcessor
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
Mutably borrows from an owned value. Read more