diff --git a/libobs/obs-source.c b/libobs/obs-source.c index 33efdc2ef..10bb9d524 100644 --- a/libobs/obs-source.c +++ b/libobs/obs-source.c @@ -4231,19 +4231,19 @@ void obs_source_set_audio_mixers(obs_source_t *source, uint32_t mixers) if (!obs_source_valid(source, "obs_source_set_audio_mixers")) return; - if ((source->info.output_flags & OBS_SOURCE_AUDIO) == 0) - return; - if (source->audio_mixers == mixers) return; - calldata_init_fixed(&data, stack, sizeof(stack)); - calldata_set_ptr(&data, "source", source); - calldata_set_int(&data, "mixers", mixers); + if ((source->info.output_flags & OBS_SOURCE_AUDIO) != 0) { + calldata_init_fixed(&data, stack, sizeof(stack)); + calldata_set_ptr(&data, "source", source); + calldata_set_int(&data, "mixers", mixers); - signal_handler_signal(source->context.signals, "audio_mixers", &data); + signal_handler_signal(source->context.signals, "audio_mixers", + &data); - mixers = (uint32_t)calldata_int(&data, "mixers"); + mixers = (uint32_t)calldata_int(&data, "mixers"); + } source->audio_mixers = mixers; } @@ -4252,8 +4252,6 @@ uint32_t obs_source_get_audio_mixers(const obs_source_t *source) { if (!obs_source_valid(source, "obs_source_get_audio_mixers")) return 0; - if ((source->info.output_flags & OBS_SOURCE_AUDIO) == 0) - return 0; return source->audio_mixers; }