static av_cold int che_configure(AACContext *ac,

                                 enum ChannelPosition che_pos,

                                 int type, int id, int *channels)

{

    if (*channels >= MAX_CHANNELS)

        return AVERROR_INVALIDDATA;

    if (che_pos) {

        if (!ac->che[type][id]) {

            if (!(ac->che[type][id] = av_mallocz(sizeof(ChannelElement))))

                return AVERROR(ENOMEM);

            ff_aac_sbr_ctx_init(ac, &ac->che[type][id]->sbr);

        }

        if (type != TYPE_CCE) {

            ac->output_element[(*channels)++] = &ac->che[type][id]->ch[0];

            if (type == TYPE_CPE ||

                (type == TYPE_SCE && ac->oc[1].m4ac.ps == 1)) {

                ac->output_element[(*channels)++] = &ac->che[type][id]->ch[1];

            }

        }

    } else {

        if (ac->che[type][id])

            ff_aac_sbr_ctx_close(&ac->che[type][id]->sbr);

        av_freep(&ac->che[type][id]);

    }

    return 0;

}

static av_cold int che_configure(AACContext *ac,

                                 enum ChannelPosition che_pos,

                                 int type, int id, int *channels)

{

    if (*channels >= MAX_CHANNELS)

        return AVERROR_INVALIDDATA;

    if (che_pos) {

        if (!ac->che[type][id]) {

            if (!(ac->che[type][id] = av_mallocz(sizeof(ChannelElement))))

                return AVERROR(ENOMEM);

            ff_aac_sbr_ctx_init(ac, &ac->che[type][id]->sbr);

        }

        if (type != TYPE_CCE) {

            ac->output_element[(*channels)++] = &ac->che[type][id]->ch[0];

            if (type == TYPE_CPE ||

                (type == TYPE_SCE && ac->oc[1].m4ac.ps == 1)) {

                ac->output_element[(*channels)++] = &ac->che[type][id]->ch[1];

            }

        }

    } else {

        if (ac->che[type][id])

            ff_aac_sbr_ctx_close(&ac->che[type][id]->sbr);

        av_freep(&ac->che[type][id]);

    }

    return 0;

}

    if (*channels >= MAX_CHANNELS)         return AVERROR_INVALIDDATA;
static av_cold int FUNC_0(AACContext *ac,

                                 enum ChannelPosition che_pos,

                                 int type, int id, int *channels)

{

    if (*channels >= MAX_CHANNELS)

        return AVERROR_INVALIDDATA;

    if (che_pos) {

        if (!ac->che[type][id]) {

            if (!(ac->che[type][id] = av_mallocz(sizeof(ChannelElement))))

                return AVERROR(ENOMEM);

            ff_aac_sbr_ctx_init(ac, &ac->che[type][id]->sbr);

        }

        if (type != TYPE_CCE) {

            ac->output_element[(*channels)++] = &ac->che[type][id]->ch[0];

            if (type == TYPE_CPE ||

                (type == TYPE_SCE && ac->oc[1].m4ac.ps == 1)) {

                ac->output_element[(*channels)++] = &ac->che[type][id]->ch[1];

            }

        }

    } else {

        if (ac->che[type][id])

            ff_aac_sbr_ctx_close(&ac->che[type][id]->sbr);

        av_freep(&ac->che[type][id]);

    }

    return 0;

}

static av_cold int FUNC_0(AACContext *ac,
enum ChannelPosition che_pos,
int type, int id, int *channels)
{ if (*channels >= MAX_CHANNELS)
return AVERROR_INVALIDDATA; if (che_pos) { if (!ac->che[type][id]) { if (!(ac->che[type][id] = av_mallocz(sizeof(ChannelElement))))
return AVERROR(ENOMEM); ff_aac_sbr_ctx_init(ac, &ac->che[type][id]->sbr); } if (type != TYPE_CCE) { ac->output_element[(*channels)++] = &ac->che[type][id]->ch[0]; if (type == TYPE_CPE ||
(type == TYPE_SCE && ac->oc[1].m4ac.ps == 1)) { ac->output_element[(*channels)++] = &ac->che[type][id]->ch[1]; } } } else { if (ac->che[type][id])
ff_aac_sbr_ctx_close(&ac->che[type][id]->sbr); av_freep(&ac->che[type][id]); } return 0; }