Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::audio::LatencySnapshot Struct Reference

Control-thread composition of backend I/O timing with the graph's already computed total latency. More...

#include <audio_io_timing.hpp>

Public Member Functions

constexpr bool is_current_for (const AudioIoTiming &timing) const noexcept
 Whether this snapshot still describes the route calibration supplied by the backend.

Public Attributes

AudioIoTiming audio_io {}
double sample_rate_hz = 0.0
std::uint64_t graph_latency_frames = 0
std::optional< std::uint64_t > input_placement_offset_frames
std::optional< std::uint64_t > monitoring_latency_frames
std::optional< std::uint64_t > output_scheduling_offset_frames

Detailed Description

Control-thread composition of backend I/O timing with the graph's already computed total latency.

This type consumes graph PDC; it never derives or recomputes it.

Member Function Documentation

◆ is_current_for()

bool pulp::audio::LatencySnapshot::is_current_for ( const AudioIoTiming & timing) const
inlineconstexprnoexcept

Whether this snapshot still describes the route calibration supplied by the backend.

Route identity prevents equal generation values from two AudioDevice instances from aliasing.

Member Data Documentation

◆ audio_io

AudioIoTiming pulp::audio::LatencySnapshot::audio_io {}

◆ graph_latency_frames

std::uint64_t pulp::audio::LatencySnapshot::graph_latency_frames = 0

◆ input_placement_offset_frames

std::optional<std::uint64_t> pulp::audio::LatencySnapshot::input_placement_offset_frames

◆ monitoring_latency_frames

std::optional<std::uint64_t> pulp::audio::LatencySnapshot::monitoring_latency_frames

◆ output_scheduling_offset_frames

std::optional<std::uint64_t> pulp::audio::LatencySnapshot::output_scheduling_offset_frames

◆ sample_rate_hz

double pulp::audio::LatencySnapshot::sample_rate_hz = 0.0

The documentation for this struct was generated from the following file: