]> git.sesse.net Git - nageru/blobdiff - nageru/delay_analyzer_interface.h
Begin working on a delay analyzer.
[nageru] / nageru / delay_analyzer_interface.h
diff --git a/nageru/delay_analyzer_interface.h b/nageru/delay_analyzer_interface.h
new file mode 100644 (file)
index 0000000..d4381ad
--- /dev/null
@@ -0,0 +1,24 @@
+#ifndef _DELAY_ANALYZER_INTERFACE
+#define _DELAY_ANALYZER_INTERFACE 1
+
+// Abstract interface, in order to keep the Qt dependencies out of benchmark_audio_mixer.
+
+#include <stdint.h>
+#include <chrono>
+
+#include "input_mapping.h"
+
+namespace bmusb {
+struct AudioFormat;
+}  // namespace bmusb
+
+class DelayAnalyzerInterface
+{
+public:
+       virtual ~DelayAnalyzerInterface() {}
+
+       virtual bool is_grabbing() const = 0;
+       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;
+};
+
+#endif  // !defined(_DELAY_ANALYZER_INTERFACE)