Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
audio_boundary_report.hpp
Go to the documentation of this file.
1#pragma once
2
17
19
20#include <cstdint>
21#include <optional>
22#include <string>
23
24namespace pulp::audio {
25
29 bool callback_running = false;
30 double sample_rate = 0.0;
31 std::uint32_t buffer_size = 0;
32 std::uint64_t xruns = 0;
33 std::uint64_t cpu_overloads = 0;
34};
35
44
50
54 std::optional<AudioProbeSnapshot> processor_output;
55 std::optional<AudioProbeSnapshot> standalone_boundary;
56 std::optional<DeviceStatsView> device;
58 float silence_threshold = 3.1622776e-5f; // ~ -90 dBFS
59};
60
63
64} // namespace pulp::audio
The realtime-produced probe summary — the shared schema between the RT producer (pulp::audio::AudioPr...
Definition analyzer_provider.hpp:12
BoundaryDiagnosis
Coarse classification of where audio was lost (or that it was fine).
Definition audio_boundary_report.hpp:37
@ kProcessorSilent
Processor-output stage was silent.
Definition audio_boundary_report.hpp:40
@ kDeviceProblem
Signal present but device shows xruns/not running.
Definition audio_boundary_report.hpp:42
@ kSignalPresent
Audio is flowing at the observed boundary.
Definition audio_boundary_report.hpp:39
@ kNoProbeData
No usable probe snapshot was provided.
Definition audio_boundary_report.hpp:38
@ kStandaloneBoundarySilent
Processor had signal but the boundary was silent.
Definition audio_boundary_report.hpp:41
BoundaryReport build_boundary_report(const BoundaryReportInputs &inputs)
Build the complaint-oriented boundary report from the given inputs.
Inputs to the report.
Definition audio_boundary_report.hpp:53
float silence_threshold
A block whose peak is at or below this (linear) counts as silent.
Definition audio_boundary_report.hpp:58
std::optional< AudioProbeSnapshot > processor_output
Definition audio_boundary_report.hpp:54
std::optional< AudioProbeSnapshot > standalone_boundary
Definition audio_boundary_report.hpp:55
std::optional< DeviceStatsView > device
Definition audio_boundary_report.hpp:56
Definition audio_boundary_report.hpp:45
std::string text
Human-readable, stage-by-stage text (the plan's "no audio" report).
Definition audio_boundary_report.hpp:48
BoundaryDiagnosis diagnosis
Definition audio_boundary_report.hpp:46
Device-side facts the report mirrors (owned by AudioDeviceManager / the CoreAudio overload listener —...
Definition audio_boundary_report.hpp:28
std::uint64_t cpu_overloads
Definition audio_boundary_report.hpp:33
bool callback_running
Definition audio_boundary_report.hpp:29
std::uint32_t buffer_size
Definition audio_boundary_report.hpp:31
std::uint64_t xruns
Definition audio_boundary_report.hpp:32
double sample_rate
Definition audio_boundary_report.hpp:30