Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
audio_stats.hpp
Go to the documentation of this file.
1#pragma once
2
26
27#include <cstdint>
28
29namespace pulp::audio {
30
36struct AudioStats {
38 std::uint64_t callbacks = 0;
39
42 std::uint64_t underruns = 0;
43
45 std::uint64_t clipped_blocks = 0;
46
48 std::uint64_t nan_blocks = 0;
49
52 std::uint64_t device_xruns = 0;
53
56 std::uint64_t cpu_overloads = 0;
57};
58
59static_assert(sizeof(AudioStats) == 6 * sizeof(std::uint64_t),
60 "AudioStats must stay a tight POD counter aggregate");
61
62} // namespace pulp::audio
Definition analyzer_provider.hpp:12
Minimal release-safe audio counter aggregate.
Definition audio_stats.hpp:36
std::uint64_t clipped_blocks
Blocks that contained at least one clipped sample (|x| > ceiling).
Definition audio_stats.hpp:45
std::uint64_t underruns
Blocks where the source-backed audio path underran (e.g.
Definition audio_stats.hpp:42
std::uint64_t device_xruns
MIRROR of AudioDeviceManager::xrun_count().
Definition audio_stats.hpp:52
std::uint64_t cpu_overloads
MIRROR of the CoreAudio overload listener's count.
Definition audio_stats.hpp:56
std::uint64_t nan_blocks
Blocks that contained at least one NaN or Inf sample.
Definition audio_stats.hpp:48
std::uint64_t callbacks
Number of audio callbacks observed at this stage.
Definition audio_stats.hpp:38