diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-07-25 17:42:36 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-07-25 17:43:12 +1000 |
| commit | 80d7df910987db5201402fe987124f29f09344f3 (patch) | |
| tree | 7e8c1e04ab40026087343efee95a771c7839b32f /src/audio/include/audio_source.hpp | |
| parent | 7b72e5479ee6d11f76c49f7463ba0e7f4e5165c5 (diff) | |
| download | tangara-fw-80d7df910987db5201402fe987124f29f09344f3.tar.gz | |
fuck off
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 |
