Commit e34cba85 authored by Dominik Weckbecker's avatar Dominik Weckbecker 💬
Browse files

experimental patch for TD renderer crashes in OMASA

parent 17d9cac7
Loading
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
@@ -1616,6 +1616,29 @@ void ivas_jbm_dec_prepare_renderer(
    }
    else if ( st_ivas->ivas_format == MASA_ISM_FORMAT )
    {
#ifdef OBJ_EDITING_API

        if ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC )
        {
            if ( st_ivas->ism_mode == ISM_MASA_MODE_DISC )
            {
                if ( st_ivas->hBinRendererTd == NULL )
                {
                    if (ivas_td_binaural_open( st_ivas ) != IVAS_ERR_OK )
                    {
                        return;
                    }
                    if ( st_ivas->hOutSetup.output_config == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB )
                    {
                        if ( ivas_reverb_open( &st_ivas->hReverb, st_ivas->hHrtfStatistics, st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_Fs ) != IVAS_ERR_OK )
                        {
                            return;
                        }
                    }
                }
            }
        }
#endif
        if ( st_ivas->renderer_type == RENDERER_OMASA_MIX_EXT || st_ivas->renderer_type == RENDERER_OMASA_OBJECT_EXT )
        {
            ivas_jbm_dec_td_renderers_adapt_subframes( st_ivas );
+2 −0
Original line number Diff line number Diff line
@@ -433,6 +433,7 @@ ivas_error ivas_omasa_dec_config(
            if ( st_ivas->ism_mode == ISM_MASA_MODE_DISC )
            {
                /* Allocate TD renderer for the objects in DISC mode */
#ifndef OBJ_EDITING_API
                if ( st_ivas->hBinRendererTd == NULL )
                {
                    if ( ( error = ivas_td_binaural_open( st_ivas ) ) != IVAS_ERR_OK )
@@ -447,6 +448,7 @@ ivas_error ivas_omasa_dec_config(
                        }
                    }
                }
#endif

                /* Allocate memory for delay buffer within 'hMasaIsmData' */
                if ( ( error = ivas_omasa_objects_delay_open( st_ivas ) ) != IVAS_ERR_OK )