summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBojidar Marinov <bojidar.marinov.bg@gmail.com>2019-05-09 18:03:08 +0300
committerBojidar Marinov <bojidar.marinov.bg@gmail.com>2019-05-09 18:03:08 +0300
commit9285aad8b359defaacbbcbf3796a530240c3876b (patch)
treeeeb8e8047934d33dcb695c7ed715d66903b34f51
parent84058ab8ac9b7543da3971162c3a1b1d2fe05b89 (diff)
Fix AudioEffectRecord messing up the effect stack by not writing to dst_frames
-rw-r--r--servers/audio/effects/audio_effect_record.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/servers/audio/effects/audio_effect_record.cpp b/servers/audio/effects/audio_effect_record.cpp
index 96d5c9df89..abf9d5593c 100644
--- a/servers/audio/effects/audio_effect_record.cpp
+++ b/servers/audio/effects/audio_effect_record.cpp
@@ -32,6 +32,9 @@
void AudioEffectRecordInstance::process(const AudioFrame *p_src_frames, AudioFrame *p_dst_frames, int p_frame_count) {
if (!is_recording) {
+ for (int i = 0; i < p_frame_count; i++) {
+ p_dst_frames[i] = p_src_frames[i];
+ }
return;
}
@@ -39,6 +42,7 @@ void AudioEffectRecordInstance::process(const AudioFrame *p_src_frames, AudioFra
const AudioFrame *src = p_src_frames;
AudioFrame *rb_buf = ring_buffer.ptrw();
for (int i = 0; i < p_frame_count; i++) {
+ p_dst_frames[i] = p_src_frames[i];
rb_buf[ring_buffer_pos & ring_buffer_mask] = src[i];
ring_buffer_pos++;
}