summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/audio/include/stream_info.hpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/audio/include/stream_info.hpp b/src/audio/include/stream_info.hpp
index 5a36384c..6256f2ee 100644
--- a/src/audio/include/stream_info.hpp
+++ b/src/audio/include/stream_info.hpp
@@ -67,6 +67,7 @@ class InputStream {
explicit InputStream(RawStream* s) : raw_(s) {}
void consume(std::size_t bytes) const {
+ assert(raw_->info->bytes_in_stream >= bytes);
auto new_data = raw_->data.subspan(bytes);
std::move(new_data.begin(), new_data.end(), raw_->data.begin());
raw_->info->bytes_in_stream = new_data.size_bytes();
@@ -88,7 +89,10 @@ class OutputStream {
public:
explicit OutputStream(RawStream* s) : raw_(s) {}
- void add(std::size_t bytes) const { raw_->info->bytes_in_stream += bytes; }
+ void add(std::size_t bytes) const {
+ assert(raw_->info->bytes_in_stream + bytes <= raw_->data.size_bytes());
+ raw_->info->bytes_in_stream += bytes;
+ }
bool prepare(const StreamInfo::Format& new_format) {
if (std::holds_alternative<std::monostate>(raw_->info->format)) {