/* * Copyright 2023 jacqueline * * SPDX-License-Identifier: GPL-3.0-only */ #pragma once #include #include #include "freertos/FreeRTOS.h" #include "freertos/portmacro.h" #include "freertos/semphr.h" #include "stream_info.hpp" namespace audio { class IAudioSource { public: virtual ~IAudioSource() {} /* * Synchronously fetches data from this source. */ virtual auto Read(std::function, std::function)>, TickType_t) -> void = 0; }; } // namespace audio