HART  0.2.0
High level Audio Regression and Testing
Loading...
Searching...
No Matches
hart_latency_detector.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <functional>
4#include <memory>
5
8
9namespace hart
10{
11
12/// @brief Private interface for latency detector implementations for the hart::LatencyBelow Matcher
13/// @private
14template <typename SampleType>
15class LatencyDetector
16{
17public:
18 virtual ~LatencyDetector() = default;
19 virtual void prepare (double sampleRateHz, size_t numChannels, size_t maxBlockSizeFrames) = 0;
20 virtual void reset() = 0;
21 virtual bool match (
22 const AudioBuffer<SampleType>& inputAudio,
23 const AudioBuffer<SampleType>& observedOutputAudio,
24 const std::function<bool (size_t)>& appliesToChannel
25 ) = 0;
26 virtual MatcherFailureDetails getFailureDetails() const = 0;
27 virtual std::unique_ptr<LatencyDetector<SampleType>> copy() const = 0;
28};
29
30} // namespace hart
Container for audio data.