Commit 7ba68739 authored by Tapani Pihlajakuja's avatar Tapani Pihlajakuja
Browse files

Add MASA output configuration limitation to IVAS_REND_GetSamples as well.

parent 3d05b2eb
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -731,6 +731,7 @@ int main(
    }

#ifdef MASA_PREREND
    /* Check that there is allowed configuration for MASA format output */
    if ( args.outConfig.audioConfig == IVAS_REND_AUDIO_CONFIG_MASA1 || args.outConfig.audioConfig == IVAS_REND_AUDIO_CONFIG_MASA2 )
    {
        if ( args.inConfig.numMasaBuses == 0 )
+33 −0
Original line number Diff line number Diff line
@@ -6621,6 +6621,39 @@ ivas_error IVAS_REND_GetSamples(
        return IVAS_ERR_INVALID_BUFFER_SIZE;
    }

#ifdef MASA_PREREND
    /* Check that there is allowed configuration for MASA format output */
    if ( getAudioConfigType( hIvasRend->outputConfig ) == IVAS_REND_AUDIO_CONFIG_TYPE_MASA )
    {
        int16_t i;
        int16_t numMasaInputs = 0;
        int16_t numOtherInputs = 0;

        for ( i = 0; i < RENDERER_MAX_MASA_INPUTS; i++ )
        {
            numMasaInputs += hIvasRend->inputsMasa[i].base.inConfig == IVAS_REND_AUDIO_CONFIG_UNKNOWN ? 0 : 1;
        }

        for ( i = 0; i < RENDERER_MAX_MC_INPUTS; i++ )
        {
            numOtherInputs += hIvasRend->inputsMc[i].base.inConfig == IVAS_REND_AUDIO_CONFIG_UNKNOWN ? 0 : 1;
        }

        for ( i = 0; i < RENDERER_MAX_SBA_INPUTS; i++ )
        {
            numOtherInputs += hIvasRend->inputsSba[i].base.inConfig == IVAS_REND_AUDIO_CONFIG_UNKNOWN ? 0 : 1;
        }

        /* For ISM, we check only first as all ISMs are handled together via OMASA when merging to MASA. */
        numOtherInputs += hIvasRend->inputsIsm[0].base.inConfig == IVAS_REND_AUDIO_CONFIG_UNKNOWN ? 0 : 1;

        if ( numMasaInputs == 0 || numOtherInputs == 0 )
        {
            return IVAS_ERR_IO_CONFIG_PAIR_NOT_SUPPORTED;
        }
    }
#endif

    if ( ( error = IVAS_REND_NumOutChannels( hIvasRend, &numOutChannels ) ) != IVAS_ERR_OK )
    {
        return error;