From d6ac4570250e25079b1a62899fb5da8679baa9dc Mon Sep 17 00:00:00 2001 From: jp9000 Date: Tue, 16 Jan 2018 12:02:00 -0800 Subject: [PATCH] libobs: Optimize clearing of unused source audio mixes Prevents calling memset on mixes that aren't currently active. --- libobs/obs-source.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libobs/obs-source.c b/libobs/obs-source.c index c85ec66a6..7dd39603c 100644 --- a/libobs/obs-source.c +++ b/libobs/obs-source.c @@ -3908,11 +3908,15 @@ static void custom_audio_render(obs_source_t *source, uint32_t mixers, return; for (size_t mix = 0; mix < MAX_AUDIO_MIXES; mix++) { - if ((source->audio_mixers & (1 << mix)) == 0) { + uint32_t mix_bit = 1 << mix; + + if ((mixers & mix_bit) == 0) + continue; + + if ((source->audio_mixers & mix_bit) == 0) { memset(source->audio_output_buf[mix][0], 0, sizeof(float) * AUDIO_OUTPUT_FRAMES * channels); - continue; } }