From fc292a57cd00306f687d4742d437b9179fc06b21 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sat, 22 Nov 2025 12:30:17 +0300 Subject: [PATCH] fix infinite loop in MemoryPCMStream if stream is playing with loop=true --- src/audio/MemoryPCMStream.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/audio/MemoryPCMStream.cpp b/src/audio/MemoryPCMStream.cpp index e0f40d5e..d253f370 100644 --- a/src/audio/MemoryPCMStream.cpp +++ b/src/audio/MemoryPCMStream.cpp @@ -24,12 +24,9 @@ void MemoryPCMStream::close() { } size_t MemoryPCMStream::read(char* dst, size_t bufferSize) { - if (!open) { + if (!open || buffer.empty()) { return PCMStream::ERROR; } - if (buffer.empty()) { - return 0; - } size_t count = std::min(bufferSize, buffer.size()); std::memcpy(dst, buffer.data(), count); buffer.erase(buffer.begin(), buffer.begin() + count);