Commit 61a88e5d authored by Archit Tamarapu's avatar Archit Tamarapu
Browse files

Merge branch '302-crash-in-ivas_rend-when-converting-ism2-to-binaural-format' into 'main'

Resolve "Crash in IVAS_rend when converting ISM2 to BINAURAL format"

See merge request !402
parents 27083603 97985b88
Loading
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -413,13 +413,14 @@ ivas_error ivas_dec(
                                                       &st_ivas->hIntSetup,
                                                       st_ivas->hEFAPdata,
                                                       output,
                                                       output_Fs ) != IVAS_ERR_OK ) )
                                                       output_Fs ) ) != IVAS_ERR_OK )
                {
                    return error;
                }
#else
                ivas_crend_process( st_ivas, output );
#endif

                ivas_binaural_add_LFE( st_ivas, output_frame, output );
            }
            else if ( st_ivas->renderer_type == RENDERER_MC )
+3 −1
Original line number Diff line number Diff line
@@ -1187,14 +1187,16 @@ ivas_error ivas_init_decoder(
                return error;
            }
        }

        if ( ( error = ivas_rend_openCrend( &( st_ivas->hCrendWrapper ),
                                            getRendAudioConfigFromIvasAudioConfig( st_ivas->intern_config ),
                                            getRendAudioConfigFromIvasAudioConfig( st_ivas->hDecoderConfig->output_config ),
                                            st_ivas->hRenderConfig, st_ivas->hDecoderConfig->Opt_Headrotation,
                                            st_ivas->hDecoderConfig->output_Fs ) != IVAS_ERR_OK ) )
                                            st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK )
        {
            return error;
        }

        st_ivas->binaural_latency_ns = st_ivas->hCrendWrapper->binaural_latency_ns;
#else
        if ( ivas_crend_open( st_ivas ) != IVAS_ERR_OK )
+6 −8
Original line number Diff line number Diff line
@@ -1121,14 +1121,13 @@ static ivas_error ivas_mc_dec_reconfig(
                                                    getRendAudioConfigFromIvasAudioConfig( st_ivas->intern_config ),
                                                    getRendAudioConfigFromIvasAudioConfig( st_ivas->hDecoderConfig->output_config ),
                                                    st_ivas->hRenderConfig, st_ivas->hDecoderConfig->Opt_Headrotation,
                                                    st_ivas->hDecoderConfig->output_Fs ) != IVAS_ERR_OK ) )
                                                    st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK )
                {
                    return error;
                }
                st_ivas->binaural_latency_ns = st_ivas->hCrendWrapper->binaural_latency_ns;
            }
#else
        }
            else if ( st_ivas->hCrend == NULL && ( st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV || st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM ) )
            {
                if ( ivas_crend_open( st_ivas ) != IVAS_ERR_OK )
@@ -1136,7 +1135,6 @@ static ivas_error ivas_mc_dec_reconfig(
                    return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "ivas_crend_open failed" );
                }
            }

#endif
        }
        /* mono/stereo */
+3 −3
Original line number Diff line number Diff line
@@ -3348,7 +3348,7 @@ ivas_error IVAS_REND_GetDelay(
        if ( hIvasRend->inputsIsm[i].base.inConfig != IVAS_REND_AUDIO_CONFIG_UNKNOWN )
        {
#ifdef FIX_197_CREND_INTERFACE
            latency_ns = max( hIvasRend->inputsIsm[i].crendWrapper->binaural_latency_ns,
            latency_ns = max( ( hIvasRend->inputsIsm[i].crendWrapper != NULL ) ? hIvasRend->inputsIsm[i].crendWrapper->binaural_latency_ns : 0,
                              hIvasRend->inputsIsm[i].tdRendWrapper.binaural_latency_ns );
#else
            latency_ns = max( hIvasRend->inputsIsm[i].crendWrapper.binaural_latency_ns,
@@ -3363,7 +3363,7 @@ ivas_error IVAS_REND_GetDelay(
        if ( hIvasRend->inputsMc[i].base.inConfig != IVAS_REND_AUDIO_CONFIG_UNKNOWN )
        {
#ifdef FIX_197_CREND_INTERFACE
            latency_ns = max( hIvasRend->inputsMc[i].crendWrapper->binaural_latency_ns,
            latency_ns = max( ( hIvasRend->inputsMc[i].crendWrapper != NULL ) ? hIvasRend->inputsMc[i].crendWrapper->binaural_latency_ns : 0,
                              hIvasRend->inputsMc[i].tdRendWrapper.binaural_latency_ns );
#else
            latency_ns = max( hIvasRend->inputsMc[i].crendWrapper.binaural_latency_ns,
@@ -3378,7 +3378,7 @@ ivas_error IVAS_REND_GetDelay(
        if ( hIvasRend->inputsSba[i].base.inConfig != IVAS_REND_AUDIO_CONFIG_UNKNOWN )
        {
#ifdef FIX_197_CREND_INTERFACE
            latency_ns = hIvasRend->inputsSba[i].crendWrapper->binaural_latency_ns;
            latency_ns = ( hIvasRend->inputsSba[i].crendWrapper != NULL ) ? hIvasRend->inputsSba[i].crendWrapper->binaural_latency_ns : 0;
#else
            latency_ns = hIvasRend->inputsSba[i].crendWrapper.binaural_latency_ns;
#endif