diff --git a/apps/renderer.c b/apps/renderer.c index 73203597c4ab47b940b6ae7a7b39f4c86693f5b6..a11d077258dcf134ad4bc59e2779360da992b5d1 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 c274abb89954b581dbcca3955460a55b62d5f84a..d3c9bcb1a97040ad1154e92669d0edb2f5ed3a79 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -108,6 +108,7 @@ #define FIX_BASOP_2513_EXTRA_RETURN_REND_OPEN /* Nokia: BASOP issue 2513: Removes extra return block */ #define FIX_BASOP_2514_EFAP_PORTING_ERROR /* Nokia: BASOP issue 2514: Fix wrongly ported line */ #define FIX_BASOP_2516_REND_CUSTOM_LAYOUT_PORT_BUG /* Nokia: BASOP issue 2516: Fix porting bug in setting planar state for custom layout in renderer */ +#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 e3ec4e65a05fd7ae2acdcf71d0f3443e7ae6ac62..72a2eca3e9fdc298206c9d5f7bd6fd028d55464a 100644 --- a/lib_rend/lib_rend_fx.c +++ b/lib_rend/lib_rend_fx.c @@ -4799,13 +4799,29 @@ 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, + 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; @@ -6084,7 +6100,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; }