Skip to content

Object editing broken with OMASA input and MC/SBA outputs in VOIP

Object editing doesn't work properly with OMASA input and outputs using Dirac rendering when VOIP-mode is enabled. In ISM_MASA_MODE_PARAM_ONE_OBJ mode, the gain modification is not applied to the separated object. In DISC mode, the gaining is not applied for any objects nor MASA part. Gain editing functionality is disabled in ivas_omasa_dirac_rend_jbm() when VOIP is used, and this is not taken into account any where else:

if ( !st_ivas->hDecoderConfig->Opt_tsm && st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ )
{
            /* Gain separated object, if edited */
            for ( n = 0; n < st_ivas->nchan_ism; n++ )
            {
                if ( st_ivas->hMasaIsmData->ism_gain_is_edited[n] && st_ivas->hMasaIsmData->idx_separated_ism == n )
                {
                    v_multc( data_separated_objects[0], st_ivas->hMasaIsmData->gain_ism_edited[n], data_separated_objects[0], *nSamplesRendered );
                }
            }
        }
    }

...
else
{
    /* Gain discrete objects, if edited */
            if ( !st_ivas->hDecoderConfig->Opt_tsm && st_ivas->hMasaIsmData->ism_gain_is_edited[n] )
            {
                v_multc( data_separated_objects[n], st_ivas->hMasaIsmData->gain_ism_edited[n], data_separated_objects[n], *nSamplesRendered );
            }
}
Edited by lintervo