From 1fdd23c4f569c0c58ada4b01b6fdf168af1882ed Mon Sep 17 00:00:00 2001 From: Tapani Pihlajakuja Date: Wed, 8 Apr 2026 15:08:19 +0300 Subject: [PATCH 1/2] Fix float issue 1569 by adding proper error checks. Also fix inverted condition. --- apps/renderer.c | 2 +- lib_com/options.h | 1 + lib_rend/lib_rend_fx.c | 15 +++++++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/apps/renderer.c b/apps/renderer.c index 73203597c..a11d07725 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -1251,7 +1251,7 @@ int main( /* Set reverb room size if specified */ if ( args.reverbRoomSize != IVAS_ROOM_SIZE_AUTO ) { - if ( ( IVAS_REND_SetReverbRoomSize( hIvasRend, args.reverbRoomSize ) ) != IVAS_ERR_OK ) + if ( ( error = IVAS_REND_SetReverbRoomSize( hIvasRend, args.reverbRoomSize ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError setting reverb room size\n" ); goto cleanup; diff --git a/lib_com/options.h b/lib_com/options.h index e628cf13d..fc282cc0e 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -122,6 +122,7 @@ #define FIX_BASOP_2497_MCMASA_LFE_WRONG_SF_INDEX /* Nokia: BASOP 2497: Fix wrong subframe index in McMASA LFE synth. */ #define FIX_BASOP_2496_OMASA_OBJ_EDIT_WRONG_ASSIGN /* Nokia: BASOP 2496: Fix wrong assignment in OMASA object edit code */ #define FIX_2495_Q_ALIGN_OSBA_RENDERER /* FhG: Basop issue #2495: Corrected exponent scaling of outAudio.data_fx before buffer accumulation in renderSbaToBinaural(). */ +#define FIX_FLOAT_1569_REND_RENDER_CONFIG_CHECKS /* Nokia: float issue 1569: fix render config checks in renderer */ /* ##################### End NON-BE switches ########################### */ diff --git a/lib_rend/lib_rend_fx.c b/lib_rend/lib_rend_fx.c index 3c2b545f9..76667d26e 100644 --- a/lib_rend/lib_rend_fx.c +++ b/lib_rend/lib_rend_fx.c @@ -4795,11 +4795,22 @@ ivas_error IVAS_REND_AddInput_fx( /* select default reverb size after adding an input */ IF( EQ_32( hIvasRend->selectedRoomReverbSize, DEFAULT_REVERB_UNSET ) ) { +#ifdef FIX_FLOAT_1569_REND_RENDER_CONFIG_CHECKS + IF( NE_32( error = IVAS_REND_SetReverbRoomSize( hIvasRend, getDefaultReverbSize( hIvasRend->inputsIsm, + hIvasRend->inputsMasa, + hIvasRend->inputsMc, + hIvasRend->inputsSba ) ), + IVAS_ERR_OK ) ) + { + return error; + } +#else IVAS_REND_SetReverbRoomSize( hIvasRend, getDefaultReverbSize( hIvasRend->inputsIsm, hIvasRend->inputsMasa, hIvasRend->inputsMc, hIvasRend->inputsSba ) ); +#endif } return IVAS_ERR_OK; @@ -6078,7 +6089,11 @@ ivas_error IVAS_REND_SetReverbRoomSize( IF( hIvasRend->hRendererConfig != NULL ) { +#ifdef FIX_FLOAT_1569_REND_RENDER_CONFIG_CHECKS + IF( NE_32( error = ivas_render_config_change_defaults( hIvasRend->hRendererConfig, hIvasRend->selectedRoomReverbSize ), IVAS_ERR_OK ) ) +#else IF( EQ_32( error = ivas_render_config_change_defaults( hIvasRend->hRendererConfig, hIvasRend->selectedRoomReverbSize ), IVAS_ERR_OK ) ) +#endif { return error; } -- GitLab From e1636331e2dffb887fb214c79d2e21096570b5c9 Mon Sep 17 00:00:00 2001 From: Tapani Pihlajakuja Date: Thu, 9 Apr 2026 09:38:12 +0300 Subject: [PATCH 2/2] Add check for only changing reverb when correct output format. --- lib_rend/lib_rend_fx.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib_rend/lib_rend_fx.c b/lib_rend/lib_rend_fx.c index 76667d26e..c0f58d39a 100644 --- a/lib_rend/lib_rend_fx.c +++ b/lib_rend/lib_rend_fx.c @@ -4793,7 +4793,12 @@ ivas_error IVAS_REND_AddInput_fx( setMaxGlobalDelayNs( hIvasRend ); /* select default reverb size after adding an input */ +#ifdef FIX_FLOAT_1569_REND_RENDER_CONFIG_CHECKS + test(); + IF( EQ_32( hIvasRend->outputConfig, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) && EQ_32( hIvasRend->selectedRoomReverbSize, DEFAULT_REVERB_UNSET ) ) +#else IF( EQ_32( hIvasRend->selectedRoomReverbSize, DEFAULT_REVERB_UNSET ) ) +#endif { #ifdef FIX_FLOAT_1569_REND_RENDER_CONFIG_CHECKS IF( NE_32( error = IVAS_REND_SetReverbRoomSize( hIvasRend, getDefaultReverbSize( hIvasRend->inputsIsm, -- GitLab