diff options
Diffstat (limited to 'src/audio/include/audio_source.hpp')
| -rw-r--r-- | src/audio/include/audio_source.hpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/audio/include/audio_source.hpp b/src/audio/include/audio_source.hpp new file mode 100644 index 00000000..e062fd1a --- /dev/null +++ b/src/audio/include/audio_source.hpp @@ -0,0 +1,33 @@ +/* + * Copyright 2023 jacqueline <me@jacqueline.id.au> + * + * SPDX-License-Identifier: GPL-3.0-only + */ + +#pragma once + +#include <stdint.h> + +#include <memory> + +#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<bool(StreamInfo::Format)>, + std::function<size_t(cpp::span<const std::byte>)>, + TickType_t) -> void = 0; +}; + +} // namespace audio |
