From 61964d519c45f5965aaa2d3222b4509b789941b2 Mon Sep 17 00:00:00 2001 From: Richard Stanway Date: Sun, 25 Apr 2021 19:24:44 +0200 Subject: [PATCH] obs-filters: Check NVAFX is enabled before using mutexes Fixes a crash on destroy if NVAFX wasn't actually available. --- plugins/obs-filters/noise-suppress-filter.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/plugins/obs-filters/noise-suppress-filter.c b/plugins/obs-filters/noise-suppress-filter.c index 7d407346f..744e5129e 100644 --- a/plugins/obs-filters/noise-suppress-filter.c +++ b/plugins/obs-filters/noise-suppress-filter.c @@ -164,7 +164,8 @@ static void noise_suppress_destroy(void *data) struct noise_suppress_data *ng = data; #ifdef LIBNVAFX_ENABLED - pthread_mutex_lock(&ng->nvafx_mutex); + if (ng->nvafx_enabled) + pthread_mutex_lock(&ng->nvafx_mutex); #endif for (size_t i = 0; i < ng->channels; i++) { @@ -205,10 +206,13 @@ static void noise_suppress_destroy(void *data) audio_resampler_destroy(ng->nvafx_resampler_back); } bfree(ng->model); - if (ng->use_nvafx) - pthread_join(ng->nvafx_thread, NULL); - pthread_mutex_unlock(&ng->nvafx_mutex); - pthread_mutex_destroy(&ng->nvafx_mutex); + + if (ng->nvafx_enabled) { + if (ng->use_nvafx) + pthread_join(ng->nvafx_thread, NULL); + pthread_mutex_unlock(&ng->nvafx_mutex); + pthread_mutex_destroy(&ng->nvafx_mutex); + } #endif bfree(ng->copy_buffers[0]);