From 75021b74ef0a33afaca614b219d37f3988cf4632 Mon Sep 17 00:00:00 2001 From: kunkundi Date: Tue, 15 Jul 2025 17:18:00 +0800 Subject: [PATCH] [fix] use temp frame to store the audio frame that will be sent --- src/speaker_capturer/linux/speaker_capturer_linux.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/speaker_capturer/linux/speaker_capturer_linux.cpp b/src/speaker_capturer/linux/speaker_capturer_linux.cpp index 777a6ec..4b58799 100644 --- a/src/speaker_capturer/linux/speaker_capturer_linux.cpp +++ b/src/speaker_capturer/linux/speaker_capturer_linux.cpp @@ -164,7 +164,10 @@ int SpeakerCapturerLinux::Start() { self->frame_cache_.insert(self->frame_cache_.end(), p, p + len); while (self->frame_cache_.size() >= kFrameSizeBytes) { - self->cb_(self->frame_cache_.data(), kFrameSizeBytes, "audio"); + std::vector temp_frame( + self->frame_cache_.begin(), + self->frame_cache_.begin() + kFrameSizeBytes); + self->cb_(temp_frame.data(), kFrameSizeBytes, "audio"); self->frame_cache_.erase( self->frame_cache_.begin(), self->frame_cache_.begin() + kFrameSizeBytes);