Loading lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -165,6 +165,7 @@ #define NONBE_FIX_871_ACELP_CRASH_IN_OSBA /* FhG: isse 871: crash in ACELP core encoder with OSBA */ #define NONBE_FIX_225_MASA_EXT_REND /* Nokia: Resolve #225: Complete MASA external renderer implementation */ #define NONBE_FIX_897_USAN_WITH_MASA_RENDERING /* Nokia: issue #897: USAN null pointer in MASA external renderer to Ambisonics */ #define NONBE_FIX_898_ISM_BRATE_CRASH /* VA: issue 898: fix decoder crash in ISM bitrate switching with DTX and binaural output */ /* ##################### End NON-BE switches ########################### */ Loading lib_dec/ivas_init_dec.c +23 −0 Original line number Diff line number Diff line Loading @@ -636,8 +636,16 @@ ivas_error ivas_dec_setup( } } #ifdef NONBE_FIX_898_ISM_BRATE_CRASH if ( st_ivas->ivas_format == ISM_FORMAT ) #else if ( st_ivas->ini_frame == 0 && st_ivas->ivas_format == ISM_FORMAT ) #endif { #ifdef NONBE_FIX_898_ISM_BRATE_CRASH ISM_MODE last_ism_mode = st_ivas->ism_mode; #endif /* read the number of objects */ st_ivas->nchan_transport = 1; nchan_ism = 1; Loading @@ -660,10 +668,25 @@ ivas_error ivas_dec_setup( st_ivas->ism_mode = (ISM_MODE) ( idx + 1 ); } #ifdef NONBE_FIX_898_ISM_BRATE_CRASH if ( st_ivas->ini_frame == 0 ) { last_ism_mode = st_ivas->ism_mode; } #endif #ifdef SPLIT_REND_WITH_HEAD_ROT #ifdef NONBE_FIX_898_ISM_BRATE_CRASH if ( ( error = ivas_ism_dec_config( st_ivas, last_ism_mode, nSamplesRendered, pcm_resolution, data ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_ism_dec_config( st_ivas, st_ivas->ism_mode, nSamplesRendered, pcm_resolution, data ) ) != IVAS_ERR_OK ) #endif #else #ifdef NONBE_FIX_898_ISM_BRATE_CRASH if ( ( error = ivas_ism_dec_config( st_ivas, last_ism_mode, nSamplesRendered, data ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_ism_dec_config( st_ivas, st_ivas->ism_mode, nSamplesRendered, data ) ) != IVAS_ERR_OK ) #endif #endif { return error; Loading lib_dec/ivas_ism_dtx_dec.c +4 −0 Original line number Diff line number Diff line Loading @@ -86,6 +86,9 @@ ivas_error ivas_ism_dtx_dec( last_ism_mode = st_ivas->ism_mode; #ifdef NONBE_FIX_898_ISM_BRATE_CRASH /* ism_mode was read in ivas_dec_setup() as well as reconfiguration ivas_ism_dec_config() */ #else /* read ism_mode */ if ( nchan_ism > 2 ) { Loading @@ -104,6 +107,7 @@ ivas_error ivas_ism_dtx_dec( { return error; } #endif } else { Loading Loading
lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -165,6 +165,7 @@ #define NONBE_FIX_871_ACELP_CRASH_IN_OSBA /* FhG: isse 871: crash in ACELP core encoder with OSBA */ #define NONBE_FIX_225_MASA_EXT_REND /* Nokia: Resolve #225: Complete MASA external renderer implementation */ #define NONBE_FIX_897_USAN_WITH_MASA_RENDERING /* Nokia: issue #897: USAN null pointer in MASA external renderer to Ambisonics */ #define NONBE_FIX_898_ISM_BRATE_CRASH /* VA: issue 898: fix decoder crash in ISM bitrate switching with DTX and binaural output */ /* ##################### End NON-BE switches ########################### */ Loading
lib_dec/ivas_init_dec.c +23 −0 Original line number Diff line number Diff line Loading @@ -636,8 +636,16 @@ ivas_error ivas_dec_setup( } } #ifdef NONBE_FIX_898_ISM_BRATE_CRASH if ( st_ivas->ivas_format == ISM_FORMAT ) #else if ( st_ivas->ini_frame == 0 && st_ivas->ivas_format == ISM_FORMAT ) #endif { #ifdef NONBE_FIX_898_ISM_BRATE_CRASH ISM_MODE last_ism_mode = st_ivas->ism_mode; #endif /* read the number of objects */ st_ivas->nchan_transport = 1; nchan_ism = 1; Loading @@ -660,10 +668,25 @@ ivas_error ivas_dec_setup( st_ivas->ism_mode = (ISM_MODE) ( idx + 1 ); } #ifdef NONBE_FIX_898_ISM_BRATE_CRASH if ( st_ivas->ini_frame == 0 ) { last_ism_mode = st_ivas->ism_mode; } #endif #ifdef SPLIT_REND_WITH_HEAD_ROT #ifdef NONBE_FIX_898_ISM_BRATE_CRASH if ( ( error = ivas_ism_dec_config( st_ivas, last_ism_mode, nSamplesRendered, pcm_resolution, data ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_ism_dec_config( st_ivas, st_ivas->ism_mode, nSamplesRendered, pcm_resolution, data ) ) != IVAS_ERR_OK ) #endif #else #ifdef NONBE_FIX_898_ISM_BRATE_CRASH if ( ( error = ivas_ism_dec_config( st_ivas, last_ism_mode, nSamplesRendered, data ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_ism_dec_config( st_ivas, st_ivas->ism_mode, nSamplesRendered, data ) ) != IVAS_ERR_OK ) #endif #endif { return error; Loading
lib_dec/ivas_ism_dtx_dec.c +4 −0 Original line number Diff line number Diff line Loading @@ -86,6 +86,9 @@ ivas_error ivas_ism_dtx_dec( last_ism_mode = st_ivas->ism_mode; #ifdef NONBE_FIX_898_ISM_BRATE_CRASH /* ism_mode was read in ivas_dec_setup() as well as reconfiguration ivas_ism_dec_config() */ #else /* read ism_mode */ if ( nchan_ism > 2 ) { Loading @@ -104,6 +107,7 @@ ivas_error ivas_ism_dtx_dec( { return error; } #endif } else { Loading