Minimal release-safe audio counter aggregate. More...
#include <audio_stats.hpp>
Public Attributes | |
| std::uint64_t | callbacks = 0 |
| Number of audio callbacks observed at this stage. | |
| std::uint64_t | underruns = 0 |
| Blocks where the source-backed audio path underran (e.g. | |
| std::uint64_t | clipped_blocks = 0 |
| Blocks that contained at least one clipped sample (|x| > ceiling). | |
| std::uint64_t | nan_blocks = 0 |
| Blocks that contained at least one NaN or Inf sample. | |
| std::uint64_t | device_xruns = 0 |
| MIRROR of AudioDeviceManager::xrun_count(). | |
| std::uint64_t | cpu_overloads = 0 |
| MIRROR of the CoreAudio overload listener's count. | |
Minimal release-safe audio counter aggregate.
POD; trivially copyable.
All counters are monotonic, free-running totals (never reset per block). The host is free to publish this through a runtime::TripleBuffer for a UI to poll; nothing here allocates or locks.
| std::uint64_t pulp::audio::AudioStats::callbacks = 0 |
Number of audio callbacks observed at this stage.
| std::uint64_t pulp::audio::AudioStats::clipped_blocks = 0 |
Blocks that contained at least one clipped sample (|x| > ceiling).
| std::uint64_t pulp::audio::AudioStats::cpu_overloads = 0 |
MIRROR of the CoreAudio overload listener's count.
Populated by the host from the device owner — never incremented by the probe.
| std::uint64_t pulp::audio::AudioStats::device_xruns = 0 |
MIRROR of AudioDeviceManager::xrun_count().
Populated by the host from the device owner — never incremented by the probe.
| std::uint64_t pulp::audio::AudioStats::nan_blocks = 0 |
Blocks that contained at least one NaN or Inf sample.
| std::uint64_t pulp::audio::AudioStats::underruns = 0 |
Blocks where the source-backed audio path underran (e.g.
a streaming handoff had to zero-fill). Owned by the audio path, not the device.