diff --git a/libobs/obs-audio.c b/libobs/obs-audio.c index 4167f003c..3578a5ded 100644 --- a/libobs/obs-audio.c +++ b/libobs/obs-audio.c @@ -63,6 +63,11 @@ static inline void check_audio_output_source_is_monitoring_device(obs_source_t * if (strcmp(dev_id, audio->monitoring_device_id) == 0) { audio->prevent_monitoring_duplication = true; audio->monitoring_duplicating_source = s; + if (!audio->monitoring_duplication_prevented_on_prev_tick) + blog(LOG_INFO, + "Device for 'Audio Output Capture' source is also used for audio" + " monitoring:\nDeduplication logic is being applied to all monitored" + " sources.\n"); } obs_data_release(settings); } @@ -577,6 +582,7 @@ bool audio_callback(void *param, uint64_t start_ts_in, uint64_t end_ts_in, uint6 da_resize(audio->render_order, 0); da_resize(audio->root_nodes, 0); + audio->monitoring_duplication_prevented_on_prev_tick = audio->prevent_monitoring_duplication; audio->prevent_monitoring_duplication = false; audio->monitoring_duplicating_source = NULL; diff --git a/libobs/obs-internal.h b/libobs/obs-internal.h index 82316c5e8..219293413 100644 --- a/libobs/obs-internal.h +++ b/libobs/obs-internal.h @@ -462,6 +462,7 @@ struct obs_core_audio { volatile bool prevent_monitoring_duplication; struct obs_source *monitoring_duplicating_source; + bool monitoring_duplication_prevented_on_prev_tick; }; /* user sources, output channels, and displays */ diff --git a/libobs/obs.c b/libobs/obs.c index 1a439e0bb..6ea83a273 100644 --- a/libobs/obs.c +++ b/libobs/obs.c @@ -899,6 +899,7 @@ static bool obs_init_audio(struct audio_output_info *ai) audio->monitoring_device_name = bstrdup("Default"); audio->monitoring_device_id = bstrdup("default"); + audio->monitoring_duplication_prevented_on_prev_tick = false; errorcode = audio_output_open(&audio->audio, ai); if (errorcode == AUDIO_OUTPUT_SUCCESS)