Immutable control-thread snapshot of one audio route's I/O timing. More...
#include <audio_io_timing.hpp>
Public Attributes | |
| std::optional< std::uint32_t > | input_latency_frames |
| std::optional< std::uint32_t > | output_latency_frames |
| std::optional< std::uint32_t > | input_safety_offset_frames |
| std::optional< std::uint32_t > | output_safety_offset_frames |
| std::optional< std::uint32_t > | io_buffer_frames |
| Frames in each CoreAudio I/O cycle. | |
| double | sample_rate_hz = 0.0 |
| AudioTimestampDomain | timestamp_domain = AudioTimestampDomain::unspecified |
| AudioTimingSource | timestamp_source = AudioTimingSource::unspecified |
| AudioTimingConfidence | confidence = AudioTimingConfidence::unavailable |
| std::uint64_t | route_instance_token = 0 |
| Process-local identity of the AudioDevice instance that minted this report. | |
| std::uint64_t | calibration_generation = 0 |
Immutable control-thread snapshot of one audio route's I/O timing.
Every present latency, safety-offset, and I/O-buffer value is measured in audio sample frames at sample_rate_hz; absence is distinct from a reported zero. A backend must increment calibration_generation whenever a route change or calibration update can make a previously published value stale. Generation zero is reserved for an unavailable/uninitialized report.
| std::uint64_t pulp::audio::AudioIoTiming::calibration_generation = 0 |
| AudioTimingConfidence pulp::audio::AudioIoTiming::confidence = AudioTimingConfidence::unavailable |
| std::optional<std::uint32_t> pulp::audio::AudioIoTiming::input_latency_frames |
| std::optional<std::uint32_t> pulp::audio::AudioIoTiming::input_safety_offset_frames |
| std::optional<std::uint32_t> pulp::audio::AudioIoTiming::io_buffer_frames |
Frames in each CoreAudio I/O cycle.
For CoreAudio this contributes once to each complete directional presentation path: once for input placement, once for output scheduling, and therefore twice for a complete input-through-graph-to-output monitoring path.
| std::optional<std::uint32_t> pulp::audio::AudioIoTiming::output_latency_frames |
| std::optional<std::uint32_t> pulp::audio::AudioIoTiming::output_safety_offset_frames |
| std::uint64_t pulp::audio::AudioIoTiming::route_instance_token = 0 |
Process-local identity of the AudioDevice instance that minted this report.
Backends must publish a nonzero token and must not reuse it.
| double pulp::audio::AudioIoTiming::sample_rate_hz = 0.0 |
| AudioTimestampDomain pulp::audio::AudioIoTiming::timestamp_domain = AudioTimestampDomain::unspecified |
| AudioTimingSource pulp::audio::AudioIoTiming::timestamp_source = AudioTimingSource::unspecified |