Skip to main content

DomainBridgeProcessor

Struct DomainBridgeProcessor 

Source
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

Source

pub fn new(descriptor: DomainBridgeDescriptor, media: PortMedia) -> Self

Creates a bridge processor from a descriptor and port media kind.

Source

pub fn resampler(input_hz: u32, output_hz: u32) -> Result<Self>

Creates an audio resampling bridge from input_hz to output_hz.

Source

pub fn jitter_buffer(max_late_packets: u32) -> Self

Creates an event jitter-buffer bridge tolerating max_late_packets.

Source

pub fn latency_comp_delay(frames: u64) -> Self

Creates an audio latency-compensation delay of frames frames.

Source

pub fn event_rate_gate(input_domain: ClockDomain) -> Result<Self>

Creates an event-media rate gate bridging from input_domain.

Source

pub fn control_rate_gate(input_domain: ClockDomain) -> Result<Self>

Creates a control-media rate gate bridging from input_domain.

Source

pub fn bridge_descriptor(&self) -> &DomainBridgeDescriptor

Returns the underlying domain-bridge descriptor.

Source

pub fn media(&self) -> PortMedia

Returns the port media kind this bridge carries.

Trait Implementations§

Source§

impl Clone for DomainBridgeProcessor

Source§

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)

Performs copy-assignment from source. Read more
Source§

impl Debug for DomainBridgeProcessor

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Processor for DomainBridgeProcessor

Source§

fn prepare(&mut self, _cfg: PrepareConfig)

Prepares the processor for a sample rate, block size, and channel layout.
Source§

fn reset(&mut self)

Clears any internal state to a fresh start.
Source§

fn process(&mut self, block: &mut ProcessBlock<'_>)

Processes one block of audio and events in place.
Source§

fn clock_domain(&self) -> ClockDomain

Returns the processor’s clock domain (defaults to sample rate).
Source§

fn latency_class(&self) -> LatencyClass

Returns the processor’s latency class (defaults to block-local).
Source§

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>

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

Returns the processor’s release tail length in frames (defaults to 0).
Source§

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§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.