Commit 403e6da0 authored by vaclav's avatar vaclav
Browse files

fix memory deallocation

parent 274445b5
Loading
Loading
Loading
Loading
Loading
+23 −4
Original line number Diff line number Diff line
@@ -1113,7 +1113,11 @@ static ivas_error initHeadRotation(
static void closeHeadRotation(
    IVAS_REND_HANDLE hIvasRend )
{
#ifdef FIX_1135_EXT_RENDERER_HANDLES
    if ( hIvasRend != NULL && hIvasRend->headRotData.headRotEnabled && hIvasRend->headRotData.hOrientationTracker != NULL )
#else
    if ( ( hIvasRend != NULL ) && ( hIvasRend->headRotData.hOrientationTracker != NULL ) )
#endif
    {
        free( hIvasRend->headRotData.hOrientationTracker );
    }
@@ -1399,7 +1403,11 @@ static void clearInputIsm(
    initRendInputBase( &inputIsm->base, IVAS_AUDIO_CONFIG_INVALID, 0, rendCtx, NULL, 0 );

    /* Free input's internal handles */
#ifdef FIX_1135_EXT_RENDERER_HANDLES
    ivas_rend_closeCrend( &inputIsm->crendWrapper, inputIsm->base.ctx.pSplitRendWrapper != NULL ? inputIsm->base.ctx.pSplitRendWrapper->multiBinPoseData.num_poses : 1 );
#else
    ivas_rend_closeCrend( &inputIsm->crendWrapper, inputIsm->base.ctx.pSplitRendWrapper->multiBinPoseData.num_poses );
#endif

    ivas_reverb_close( &inputIsm->hReverb );

@@ -2374,7 +2382,11 @@ static void clearInputMc(
        efap_free_data( &inputMc->efapInWrapper.hEfap );
    }

#ifdef FIX_1135_EXT_RENDERER_HANDLES
    ivas_rend_closeCrend( &inputMc->crendWrapper, inputMc->base.ctx.pSplitRendWrapper != NULL ? inputMc->base.ctx.pSplitRendWrapper->multiBinPoseData.num_poses : 1 );
#else
    ivas_rend_closeCrend( &inputMc->crendWrapper, inputMc->base.ctx.pSplitRendWrapper->multiBinPoseData.num_poses );
#endif

    ivas_reverb_close( &inputMc->hReverb );

@@ -2670,7 +2682,11 @@ static void clearInputSba(
    initRendInputBase( &inputSba->base, IVAS_AUDIO_CONFIG_INVALID, 0, rendCtx, NULL, 0 );

    /* Free input's internal handles */
#ifdef FIX_1135_EXT_RENDERER_HANDLES
    ivas_rend_closeCrend( &inputSba->crendWrapper, rendCtx.pSplitRendWrapper != NULL ? rendCtx.pSplitRendWrapper->multiBinPoseData.num_poses : 1 );
#else
    ivas_rend_closeCrend( &inputSba->crendWrapper, rendCtx.pSplitRendWrapper->multiBinPoseData.num_poses );
#endif

    if ( inputSba->cldfbRendWrapper.hCldfbRend != NULL )
    {
@@ -7700,9 +7716,12 @@ void IVAS_REND_Close(

    /* Split binaural rendering */
#ifdef FIX_1135_EXT_RENDERER_HANDLES
    if ( hIvasRend->splitRendWrapper != NULL )
    {
        ISAR_PRE_REND_close( hIvasRend->splitRendWrapper, &hIvasRend->splitRendEncBuffer );
        free( hIvasRend->splitRendWrapper );
        hIvasRend->splitRendWrapper = NULL;
    }
#else
    ISAR_PRE_REND_close( &hIvasRend->splitRendWrapper, &hIvasRend->splitRendEncBuffer );
#endif