#ifndef AUDIO_PROCESSOR_H #define AUDIO_PROCESSOR_H #include #include #include #include "audio_codec.h" class AudioProcessor { public: virtual ~AudioProcessor() = default; virtual void Initialize(AudioCodec* codec, int frame_duration_ms) = 0; virtual void Feed(std::vector&& data) = 0; virtual void Start() = 0; virtual void Stop() = 0; virtual bool IsRunning() = 0; virtual void OnOutput(std::function&& data)> callback) = 0; virtual void OnVadStateChange(std::function callback) = 0; virtual size_t GetFeedSize() = 0; virtual void EnableDeviceAec(bool enable) = 0; }; #endif