[fix] use temp frame to store the audio frame that will be sent

This commit is contained in:
kunkundi
2025-07-15 17:18:00 +08:00
parent 205421621b
commit 75021b74ef

View File

@@ -164,7 +164,10 @@ int SpeakerCapturerLinux::Start() {
self->frame_cache_.insert(self->frame_cache_.end(), p, p + len); self->frame_cache_.insert(self->frame_cache_.end(), p, p + len);
while (self->frame_cache_.size() >= kFrameSizeBytes) { while (self->frame_cache_.size() >= kFrameSizeBytes) {
self->cb_(self->frame_cache_.data(), kFrameSizeBytes, "audio"); std::vector<uint8_t> 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_.erase(
self->frame_cache_.begin(), self->frame_cache_.begin(),
self->frame_cache_.begin() + kFrameSizeBytes); self->frame_cache_.begin() + kFrameSizeBytes);