#ifndef AUDIO_PROCESSOR_H #define AUDIO_PROCESSOR_H #include #include #include #include #include #include #include class AudioProcessor { public: AudioProcessor(); ~AudioProcessor(); void Input(const int16_t* data, int size); void Start(); void Stop(); bool IsRunning(); void OnOutput(std::function&& data)> callback); private: EventGroupHandle_t event_group_ = nullptr; esp_afe_sr_data_t* afe_communication_data_ = nullptr; std::vector input_buffer_; std::function&& data)> output_callback_; void AudioProcessorTask(); }; #endif