From 06f66f3120363e94f420e57fb5126c7bf84cca19 Mon Sep 17 00:00:00 2001 From: Claude Heiland-Allen Date: Fri, 20 May 2022 15:48:17 +0100 Subject: [PATCH] libobs: Clamp audio NaN to 0.0f Add comparison check so that NaN is caught. Comparisons with NaN always result in false. NaNs cause problems later in audio encoder. Note: may break with -ffast-math compiler flag. Fixes #4885. --- libobs/media-io/audio-io.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libobs/media-io/audio-io.c b/libobs/media-io/audio-io.c index df88a4c24..5c3f1acf7 100644 --- a/libobs/media-io/audio-io.c +++ b/libobs/media-io/audio-io.c @@ -145,6 +145,7 @@ static inline void clamp_audio_output(struct audio_output *audio, size_t bytes) while (mix_data < mix_end) { float val = *mix_data; + val = (val == val) ? val : 0.0f; val = (val > 1.0f) ? 1.0f : val; val = (val < -1.0f) ? -1.0f : val; *(mix_data++) = val;