]> git.sesse.net Git - nageru/blob - nageru/delay_analyzer_interface.h
Begin working on a delay analyzer.
[nageru] / nageru / delay_analyzer_interface.h
1 #ifndef _DELAY_ANALYZER_INTERFACE
2 #define _DELAY_ANALYZER_INTERFACE 1
3
4 // Abstract interface, in order to keep the Qt dependencies out of benchmark_audio_mixer.
5
6 #include <stdint.h>
7 #include <chrono>
8
9 #include "input_mapping.h"
10
11 namespace bmusb {
12 struct AudioFormat;
13 }  // namespace bmusb
14
15 class DelayAnalyzerInterface
16 {
17 public:
18         virtual ~DelayAnalyzerInterface() {}
19
20         virtual bool is_grabbing() const = 0;
21         virtual void add_audio(DeviceSpec device_spec, const uint8_t *data, unsigned num_samples, bmusb::AudioFormat audio_format, std::chrono::steady_clock::time_point frame_time) = 0;
22 };
23
24 #endif  // !defined(_DELAY_ANALYZER_INTERFACE)