Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
audio_boundary_report.hpp File Reference

Complaint-oriented "no sound" / "sounds wrong" boundary report. More...

#include <pulp/audio/audio_probe_snapshot.hpp>
#include <cstdint>
#include <optional>
#include <string>

Go to the source code of this file.

Classes

struct  pulp::audio::DeviceStatsView
 Device-side facts the report mirrors (owned by AudioDeviceManager / the CoreAudio overload listener — never by the probe). More...
struct  pulp::audio::BoundaryReport
struct  pulp::audio::BoundaryReportInputs
 Inputs to the report. More...

Namespaces

namespace  pulp
namespace  pulp::audio

Enumerations

enum class  pulp::audio::BoundaryDiagnosis {
  pulp::audio::kNoProbeData , pulp::audio::kSignalPresent , pulp::audio::kProcessorSilent , pulp::audio::kStandaloneBoundarySilent ,
  pulp::audio::kDeviceProblem
}
 Coarse classification of where audio was lost (or that it was fine). More...

Functions

BoundaryReport pulp::audio::build_boundary_report (const BoundaryReportInputs &inputs)
 Build the complaint-oriented boundary report from the given inputs.

Detailed Description

Complaint-oriented "no sound" / "sounds wrong" boundary report.

This is a NON-RT consumer-side helper. It takes already-published probe snapshots (the RT producer side) plus device counters and produces the stage-by-stage diagnosis the harness plan asks for — distinguishing processor-output silence, standalone-boundary silence, and device-xrun problems (harness plan Use-Case 3, "Diagnose No Audio"). It does no audio analysis itself; it classifies the scalar facts already in each snapshot.

The full multi-stage chain (processor output → standalone boundary → meter bridge → device callback) lands incrementally. This first version models the stages that exist today and the device summary, and leaves the others as explicitly "no probe" rather than faking zeros.