pub struct DomainBridgeDescriptor { /* private fields */ }Expand description
Full description of one domain bridge: its kind, the input and output rate contracts it joins, the latency it costs, and its diagnostic symbols.
The constructor helpers (resampler,
jitter_buffer,
latency_comp_delay,
event_rate_gate) build the canonical descriptor
for each DomainBridgeKind with its standard rates and latency.
Implementations§
Source§impl DomainBridgeDescriptor
impl DomainBridgeDescriptor
Sourcepub fn new(
kind: DomainBridgeKind,
input_rate: RateContract,
output_rate: RateContract,
latency: BridgeLatency,
diagnostics: Vec<Symbol>,
) -> Self
pub fn new( kind: DomainBridgeKind, input_rate: RateContract, output_rate: RateContract, latency: BridgeLatency, diagnostics: Vec<Symbol>, ) -> Self
Builds a descriptor from explicit kind, input/output rates, latency, and diagnostics.
Sourcepub fn resampler(input_hz: u32, output_hz: u32) -> Result<Self>
pub fn resampler(input_hz: u32, output_hz: u32) -> Result<Self>
Builds a resampler bridge between two exact sample rates.
Returns an error if either rate is zero.
Sourcepub fn jitter_buffer(max_late_packets: u32) -> Self
pub fn jitter_buffer(max_late_packets: u32) -> Self
Builds a jitter-buffer bridge that tolerates up to max_late_packets
late packets of wall-clock buffered-preview input.
Sourcepub fn latency_comp_delay(frames: u64) -> Self
pub fn latency_comp_delay(frames: u64) -> Self
Builds a latency-compensation bridge that delays a block-local stream by a fixed number of frames.
Sourcepub fn event_rate_gate(input_domain: ClockDomain) -> Result<Self>
pub fn event_rate_gate(input_domain: ClockDomain) -> Result<Self>
Builds an event-rate-gate bridge that gates a control or MIDI-tick input domain into a block-local output.
Returns an error if input_domain is neither
ClockDomain::Control nor ClockDomain::MidiTick.
Sourcepub fn kind(&self) -> DomainBridgeKind
pub fn kind(&self) -> DomainBridgeKind
Returns the bridge kind.
Sourcepub fn input_rate(&self) -> RateContract
pub fn input_rate(&self) -> RateContract
Returns the rate contract this bridge accepts on its input.
Sourcepub fn output_rate(&self) -> RateContract
pub fn output_rate(&self) -> RateContract
Returns the rate contract this bridge emits on its output.
Sourcepub fn latency(&self) -> BridgeLatency
pub fn latency(&self) -> BridgeLatency
Returns the latency this bridge incurs.
Sourcepub fn diagnostics(&self) -> &[Symbol]
pub fn diagnostics(&self) -> &[Symbol]
Returns the diagnostic symbols this bridge may raise.
Sourcepub fn input_edge(&self, media: StreamMedia) -> StreamEdge
pub fn input_edge(&self, media: StreamMedia) -> StreamEdge
Builds the input StreamEdge this bridge presents as a sink for the
given media.
Sourcepub fn output_edge(&self, media: StreamMedia) -> StreamEdge
pub fn output_edge(&self, media: StreamMedia) -> StreamEdge
Builds the output StreamEdge this bridge presents as a source for the
given media.
Trait Implementations§
Source§impl Clone for DomainBridgeDescriptor
impl Clone for DomainBridgeDescriptor
Source§fn clone(&self) -> DomainBridgeDescriptor
fn clone(&self) -> DomainBridgeDescriptor
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DomainBridgeDescriptor
impl Debug for DomainBridgeDescriptor
impl Eq for DomainBridgeDescriptor
Source§impl PartialEq for DomainBridgeDescriptor
impl PartialEq for DomainBridgeDescriptor
Source§fn eq(&self, other: &DomainBridgeDescriptor) -> bool
fn eq(&self, other: &DomainBridgeDescriptor) -> bool
self and other values to be equal, and is used by ==.