Commit 6e2d5b22 authored by bayers's avatar bayers
Browse files

fix for #1056, fix the condition for updating the TC buffer sub frame info...

fix for #1056, fix the condition for updating the TC buffer sub frame info from the common spatial rendering info at a rate switch
parent d5865f6e
Loading
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -166,6 +166,8 @@
/* any switch which is non-be wrt selection floating point code */
/* all switches in this category should start with "NONBE_" */

#define NONBE_FIX_1056_ISM_RATE_SWITCH                 /* FhG: Fix #1056: fix TC buffer udpate on a ISM rate switch */	


/* ##################### End NON-BE switches ########################### */

+5 −0
Original line number Diff line number Diff line
@@ -130,7 +130,12 @@ static ivas_error ivas_ism_bitrate_switching_dec(

    {
        /* transfer subframe info from DirAC or ParamMC to central tc buffer */
#ifdef NONBE_FIX_1056_ISM_RATE_SWITCH
        /* only do this if we are not having done everything alredy in the TC decoding part and having only played out from the TC buffer */
        if ( last_ism_mode == ISM_MODE_PARAM && st_ivas->hSpatParamRendCom != NULL && st_ivas->hTcBuffer->tc_buffer_mode != TC_BUFFER_MODE_BUFFER )
#else
        if ( last_ism_mode == ISM_MODE_PARAM && st_ivas->hSpatParamRendCom != NULL && ( st_ivas->renderer_type != RENDERER_MONO_DOWNMIX && st_ivas->renderer_type != RENDERER_DISABLE ) )
#endif
        {
            st_ivas->hTcBuffer->nb_subframes = st_ivas->hSpatParamRendCom->nb_subframes;
            st_ivas->hTcBuffer->subframes_rendered = st_ivas->hSpatParamRendCom->subframes_rendered;
+3 −0
Original line number Diff line number Diff line
@@ -2585,6 +2585,9 @@ static void ivas_jbm_dec_tc_buffer_playout(
        slots_to_render -= st_ivas->hTcBuffer->subframe_nbslots[last_sf];
        last_sf++;
    }
#ifdef DEBUGGING
    assert( slots_to_render == 0 );
#endif

    for ( ch_idx = 0; ch_idx < st_ivas->hTcBuffer->nchan_transport_jbm; ch_idx++ )
    {