Fix AudioEffectRecord messing up the effect stack by not writing to dst_frames

This commit is contained in:
Bojidar Marinov 2019-05-09 18:03:08 +03:00
parent 84058ab8ac
commit 9285aad8b3
No known key found for this signature in database
GPG key ID: 4D546A8F1E091856

View file

@ -32,6 +32,9 @@
void AudioEffectRecordInstance::process(const AudioFrame *p_src_frames, AudioFrame *p_dst_frames, int p_frame_count) { void AudioEffectRecordInstance::process(const AudioFrame *p_src_frames, AudioFrame *p_dst_frames, int p_frame_count) {
if (!is_recording) { if (!is_recording) {
for (int i = 0; i < p_frame_count; i++) {
p_dst_frames[i] = p_src_frames[i];
}
return; return;
} }
@ -39,6 +42,7 @@ void AudioEffectRecordInstance::process(const AudioFrame *p_src_frames, AudioFra
const AudioFrame *src = p_src_frames; const AudioFrame *src = p_src_frames;
AudioFrame *rb_buf = ring_buffer.ptrw(); AudioFrame *rb_buf = ring_buffer.ptrw();
for (int i = 0; i < p_frame_count; i++) { 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]; rb_buf[ring_buffer_pos & ring_buffer_mask] = src[i];
ring_buffer_pos++; ring_buffer_pos++;
} }