Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
audio_io_timing.hpp File Reference
#include <cstdint>
#include <limits>
#include <optional>

Go to the source code of this file.

Classes

struct  pulp::audio::AudioIoTiming
 Immutable control-thread snapshot of one audio route's I/O timing. More...
struct  pulp::audio::LatencySnapshot
 Control-thread composition of backend I/O timing with the graph's already computed total latency. More...

Namespaces

namespace  pulp
namespace  pulp::audio

Enumerations

enum class  pulp::audio::AudioTimestampDomain : std::uint8_t { pulp::audio::unspecified , pulp::audio::device_sample_frames , pulp::audio::monotonic_host_time }
 Clock domain used by the backend's audio timestamps. More...
enum class  pulp::audio::AudioTimingSource : std::uint8_t { pulp::audio::unspecified , pulp::audio::device_clock , pulp::audio::os_estimate , pulp::audio::user_calibration }
 Authority behind the reported I/O timing. More...
enum class  pulp::audio::AudioTimingConfidence : std::uint8_t { pulp::audio::unavailable , pulp::audio::estimated , pulp::audio::reported , pulp::audio::calibrated }
 How strongly callers may rely on the reported values. More...

Functions

constexpr bool pulp::audio::is_supported_audio_sample_rate (double sample_rate_hz) noexcept
constexpr std::uint64_t pulp::audio::saturating_frame_add (std::uint64_t lhs, std::uint64_t rhs) noexcept
constexpr std::optional< std::uint64_t > pulp::audio::next_calibration_generation (std::uint64_t generation) noexcept
constexpr std::optional< LatencySnapshot > pulp::audio::make_latency_snapshot (const AudioIoTiming &timing, std::uint64_t graph_latency_frames, double graph_sample_rate_hz) noexcept
 Compose I/O timing with a graph total obtained from the graph's public latency accessor.