summaryrefslogtreecommitdiff
path: root/src/audio/include/chunk.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/audio/include/chunk.hpp')
-rw-r--r--src/audio/include/chunk.hpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/audio/include/chunk.hpp b/src/audio/include/chunk.hpp
index aadcbbdb..d55e5d9d 100644
--- a/src/audio/include/chunk.hpp
+++ b/src/audio/include/chunk.hpp
@@ -13,11 +13,10 @@
#include "freertos/queue.h"
#include "result.hpp"
#include "span.hpp"
+#include "stream_buffer.hpp"
namespace audio {
-extern const std::size_t kMaxChunkSize;
-
enum ChunkWriteResult {
// Returned when the callback does not write any data.
CHUNK_OUT_OF_DATA,
@@ -37,8 +36,7 @@ enum ChunkWriteResult {
* number of bytes it wrote. Return a value of 0 to indicate that there is no
* more input to read.
*/
-auto WriteChunksToStream(MessageBufferHandle_t* stream,
- cpp::span<std::byte> working_buffer,
+auto WriteChunksToStream(StreamBuffer* stream,
std::function<size_t(cpp::span<std::byte>)> callback,
TickType_t max_wait) -> ChunkWriteResult;
@@ -59,7 +57,7 @@ enum ChunkReadResult {
class ChunkReader {
public:
- ChunkReader(MessageBufferHandle_t* stream);
+ explicit ChunkReader(StreamBuffer* buffer);
~ChunkReader();
auto Reset() -> void;
@@ -83,10 +81,7 @@ class ChunkReader {
TickType_t max_wait) -> ChunkReadResult;
private:
- MessageBufferHandle_t* stream_;
- std::byte* raw_working_buffer_;
- cpp::span<std::byte> working_buffer_;
-
+ StreamBuffer* stream_;
std::size_t leftover_bytes_ = 0;
std::size_t last_message_size_ = 0;
};