summaryrefslogtreecommitdiff
path: root/src/audio/chunk.cpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-02-10 15:32:21 +1100
committerjacqueline <me@jacqueline.id.au>2023-02-10 15:32:21 +1100
commit61c91b3cdb2c9dd655f3adf0f461f5cefb3b2e9b (patch)
tree8d0bb288781f86455f02219d0b7ac8cee493eeb3 /src/audio/chunk.cpp
parentcabfd4b75ecc733bdf36997606a686c4d2bc277d (diff)
downloadtangara-fw-61c91b3cdb2c9dd655f3adf0f461f5cefb3b2e9b.tar.gz
Mostly working pipeline, including proper EOF signalling
Diffstat (limited to 'src/audio/chunk.cpp')
-rw-r--r--src/audio/chunk.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/audio/chunk.cpp b/src/audio/chunk.cpp
index 61c0dc2b..01760a84 100644
--- a/src/audio/chunk.cpp
+++ b/src/audio/chunk.cpp
@@ -41,8 +41,11 @@ auto ChunkReader::HandleNewData(cpp::span<std::byte> data)
return last_data_in_working_buffer_;
}
-auto ChunkReader::HandleLeftovers(std::size_t bytes_used) -> void {
- leftover_bytes_ = last_data_in_working_buffer_.size() - bytes_used;
+auto ChunkReader::HandleBytesUsed(std::size_t bytes_used) -> void {
+ HandleBytesLeftOver(last_data_in_working_buffer_.size() - bytes_used);
+}
+auto ChunkReader::HandleBytesLeftOver(std::size_t bytes_left) -> void {
+ leftover_bytes_ = bytes_left;
// Ensure that we don't have more than a chunk of leftever bytes. This is
// bad, because we probably won't have enough data to store the next chunk.
@@ -55,4 +58,8 @@ auto ChunkReader::HandleLeftovers(std::size_t bytes_used) -> void {
}
}
+auto ChunkReader::GetLeftovers() -> cpp::span<std::byte> {
+ return working_buffer_.first(leftover_bytes_);
+}
+
} // namespace audio