diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/audio_core/stream.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/audio_core/stream.cpp b/src/audio_core/stream.cpp index eca296589..afe68c9ed 100644 --- a/src/audio_core/stream.cpp +++ b/src/audio_core/stream.cpp | |||
| @@ -130,7 +130,11 @@ bool Stream::ContainsBuffer([[maybe_unused]] Buffer::Tag tag) const { | |||
| 130 | std::vector<Buffer::Tag> Stream::GetTagsAndReleaseBuffers(std::size_t max_count) { | 130 | std::vector<Buffer::Tag> Stream::GetTagsAndReleaseBuffers(std::size_t max_count) { |
| 131 | std::vector<Buffer::Tag> tags; | 131 | std::vector<Buffer::Tag> tags; |
| 132 | for (std::size_t count = 0; count < max_count && !released_buffers.empty(); ++count) { | 132 | for (std::size_t count = 0; count < max_count && !released_buffers.empty(); ++count) { |
| 133 | tags.push_back(released_buffers.front()->GetTag()); | 133 | if (released_buffers.front()) { |
| 134 | tags.push_back(released_buffers.front()->GetTag()); | ||
| 135 | } else { | ||
| 136 | ASSERT_MSG(false, "Invalid tag in released_buffers!"); | ||
| 137 | } | ||
| 134 | released_buffers.pop(); | 138 | released_buffers.pop(); |
| 135 | } | 139 | } |
| 136 | return tags; | 140 | return tags; |
| @@ -140,7 +144,11 @@ std::vector<Buffer::Tag> Stream::GetTagsAndReleaseBuffers() { | |||
| 140 | std::vector<Buffer::Tag> tags; | 144 | std::vector<Buffer::Tag> tags; |
| 141 | tags.reserve(released_buffers.size()); | 145 | tags.reserve(released_buffers.size()); |
| 142 | while (!released_buffers.empty()) { | 146 | while (!released_buffers.empty()) { |
| 143 | tags.push_back(released_buffers.front()->GetTag()); | 147 | if (released_buffers.front()) { |
| 148 | tags.push_back(released_buffers.front()->GetTag()); | ||
| 149 | } else { | ||
| 150 | ASSERT_MSG(false, "Invalid tag in released_buffers!"); | ||
| 151 | } | ||
| 144 | released_buffers.pop(); | 152 | released_buffers.pop(); |
| 145 | } | 153 | } |
| 146 | return tags; | 154 | return tags; |