int avfilter_config_links(AVFilterContext *filter)

{

    int (*config_link)(AVFilterLink *);

    unsigned i;

    int ret;



    for (i = 0; i < filter->nb_inputs; i ++) {

        AVFilterLink *link = filter->inputs[i];

        AVFilterLink *inlink = link->src->nb_inputs ?

            link->src->inputs[0] : NULL;



        if (!link) continue;



        link->current_pts = AV_NOPTS_VALUE;



        switch (link->init_state) {

        case AVLINK_INIT:

            continue;

        case AVLINK_STARTINIT:

            av_log(filter, AV_LOG_INFO, "circular filter chain detected\n");

            return 0;

        case AVLINK_UNINIT:

            link->init_state = AVLINK_STARTINIT;



            if ((ret = avfilter_config_links(link->src)) < 0)

                return ret;



            if (!(config_link = link->srcpad->config_props)) {

                if (link->src->nb_inputs != 1) {

                    av_log(link->src, AV_LOG_ERROR, "Source filters and filters "

                                                    "with more than one input "

                                                    "must set config_props() "

                                                    "callbacks on all outputs\n");

                    return AVERROR(EINVAL);

                }

            } else if ((ret = config_link(link)) < 0) {

                av_log(link->src, AV_LOG_ERROR,

                       "Failed to configure output pad on %s\n",

                       link->src->name);

                return ret;

            }



            switch (link->type) {

            case AVMEDIA_TYPE_VIDEO:

                if (!link->time_base.num && !link->time_base.den)

                    link->time_base = inlink ? inlink->time_base : AV_TIME_BASE_Q;



                if (!link->sample_aspect_ratio.num && !link->sample_aspect_ratio.den)

                    link->sample_aspect_ratio = inlink ?

                        inlink->sample_aspect_ratio : (AVRational){1,1};



                if (inlink && !link->frame_rate.num && !link->frame_rate.den)

                    link->frame_rate = inlink->frame_rate;



                if (inlink) {

                    if (!link->w)

                        link->w = inlink->w;

                    if (!link->h)

                        link->h = inlink->h;

                } else if (!link->w || !link->h) {

                    av_log(link->src, AV_LOG_ERROR,

                           "Video source filters must set their output link's "

                           "width and height\n");

                    return AVERROR(EINVAL);

                }

                break;



            case AVMEDIA_TYPE_AUDIO:

                if (inlink) {

                    if (!link->sample_rate)

                        link->sample_rate = inlink->sample_rate;

                    if (!link->time_base.num && !link->time_base.den)

                        link->time_base = inlink->time_base;

                    if (!link->channel_layout)

                        link->channel_layout = inlink->channel_layout;

                } else if (!link->sample_rate) {

                    av_log(link->src, AV_LOG_ERROR,

                           "Audio source filters must set their output link's "

                           "sample_rate\n");

                    return AVERROR(EINVAL);

                }



                if (!link->time_base.num && !link->time_base.den)

                    link->time_base = (AVRational) {1, link->sample_rate};

            }



            if ((config_link = link->dstpad->config_props))

                if ((ret = config_link(link)) < 0) {

                    av_log(link->src, AV_LOG_ERROR,

                           "Failed to configure input pad on %s\n",

                           link->dst->name);

                    return ret;

                }



            link->init_state = AVLINK_INIT;

        }

    }



    return 0;

}

int avfilter_config_links(AVFilterContext *filter)

{

    int (*config_link)(AVFilterLink *);

    unsigned i;

    int ret;



    for (i = 0; i < filter->nb_inputs; i ++) {

        AVFilterLink *link = filter->inputs[i];

        AVFilterLink *inlink = link->src->nb_inputs ?

            link->src->inputs[0] : NULL;



        if (!link) continue;



        link->current_pts = AV_NOPTS_VALUE;



        switch (link->init_state) {

        case AVLINK_INIT:

            continue;

        case AVLINK_STARTINIT:

            av_log(filter, AV_LOG_INFO, "circular filter chain detected\n");

            return 0;

        case AVLINK_UNINIT:

            link->init_state = AVLINK_STARTINIT;



            if ((ret = avfilter_config_links(link->src)) < 0)

                return ret;



            if (!(config_link = link->srcpad->config_props)) {

                if (link->src->nb_inputs != 1) {

                    av_log(link->src, AV_LOG_ERROR, "Source filters and filters "

                                                    "with more than one input "

                                                    "must set config_props() "

                                                    "callbacks on all outputs\n");

                    return AVERROR(EINVAL);

                }

            } else if ((ret = config_link(link)) < 0) {

                av_log(link->src, AV_LOG_ERROR,

                       "Failed to configure output pad on %s\n",

                       link->src->name);

                return ret;

            }



            switch (link->type) {

            case AVMEDIA_TYPE_VIDEO:

                if (!link->time_base.num && !link->time_base.den)

                    link->time_base = inlink ? inlink->time_base : AV_TIME_BASE_Q;



                if (!link->sample_aspect_ratio.num && !link->sample_aspect_ratio.den)

                    link->sample_aspect_ratio = inlink ?

                        inlink->sample_aspect_ratio : (AVRational){1,1};



                if (inlink && !link->frame_rate.num && !link->frame_rate.den)

                    link->frame_rate = inlink->frame_rate;



                if (inlink) {

                    if (!link->w)

                        link->w = inlink->w;

                    if (!link->h)

                        link->h = inlink->h;

                } else if (!link->w || !link->h) {

                    av_log(link->src, AV_LOG_ERROR,

                           "Video source filters must set their output link's "

                           "width and height\n");

                    return AVERROR(EINVAL);

                }

                break;



            case AVMEDIA_TYPE_AUDIO:

                if (inlink) {

                    if (!link->sample_rate)

                        link->sample_rate = inlink->sample_rate;

                    if (!link->time_base.num && !link->time_base.den)

                        link->time_base = inlink->time_base;

                    if (!link->channel_layout)

                        link->channel_layout = inlink->channel_layout;

                } else if (!link->sample_rate) {

                    av_log(link->src, AV_LOG_ERROR,

                           "Audio source filters must set their output link's "

                           "sample_rate\n");

                    return AVERROR(EINVAL);

                }



                if (!link->time_base.num && !link->time_base.den)

                    link->time_base = (AVRational) {1, link->sample_rate};

            }



            if ((config_link = link->dstpad->config_props))

                if ((ret = config_link(link)) < 0) {

                    av_log(link->src, AV_LOG_ERROR,

                           "Failed to configure input pad on %s\n",

                           link->dst->name);

                    return ret;

                }



            link->init_state = AVLINK_INIT;

        }

    }



    return 0;

}

VAR_2intVAR_2 VAR_2avfilter_config_linksVAR_2(VAR_2AVFilterContextVAR_2 *VAR_2VAR_0VAR_2)

{

    VAR_2intVAR_2 (*VAR_2VAR_1VAR_2)(VAR_2AVFilterLinkVAR_2 *);

    VAR_2unsignedVAR_2 VAR_2iVAR_2;

    VAR_2intVAR_2 VAR_2retVAR_2;



    VAR_2forVAR_2 (VAR_2iVAR_2 = VAR_20VAR_2; VAR_2iVAR_2 < VAR_2VAR_0VAR_2->VAR_2nb_inputsVAR_2; VAR_2iVAR_2 ++) {

        VAR_2AVFilterLinkVAR_2 *VAR_2linkVAR_2 = VAR_2VAR_0VAR_2->VAR_2inputsVAR_2[VAR_2iVAR_2];

        VAR_2AVFilterLinkVAR_2 *VAR_2inlinkVAR_2 = VAR_2linkVAR_2->VAR_2srcVAR_2->VAR_2nb_inputsVAR_2 ?

            VAR_2linkVAR_2->VAR_2srcVAR_2->VAR_2inputsVAR_2[VAR_20VAR_2] : VAR_2NULLVAR_2;



        VAR_2ifVAR_2 (!VAR_2linkVAR_2) VAR_2continueVAR_2;



        VAR_2linkVAR_2->VAR_2current_ptsVAR_2 = VAR_2AV_NOPTS_VALUEVAR_2;



        VAR_2switchVAR_2 (VAR_2linkVAR_2->VAR_2init_stateVAR_2) {

        VAR_2caseVAR_2 VAR_2AVLINK_INITVAR_2:

            VAR_2continueVAR_2;

        VAR_2caseVAR_2 VAR_2AVLINK_STARTINITVAR_2:

            VAR_2av_logVAR_2(VAR_2VAR_0VAR_2, VAR_2AV_LOG_INFOVAR_2, "VAR_2circularVAR_2 VAR_2VAR_0VAR_2 VAR_2chainVAR_2 VAR_2detectedVAR_2\VAR_2nVAR_2");

            VAR_2returnVAR_2 VAR_20VAR_2;

        VAR_2caseVAR_2 VAR_2AVLINK_UNINITVAR_2:

            VAR_2linkVAR_2->VAR_2init_stateVAR_2 = VAR_2AVLINK_STARTINITVAR_2;



            VAR_2ifVAR_2 ((VAR_2retVAR_2 = VAR_2avfilter_config_linksVAR_2(VAR_2linkVAR_2->VAR_2srcVAR_2)) < VAR_20VAR_2)

                VAR_2returnVAR_2 VAR_2retVAR_2;



            VAR_2ifVAR_2 (!(VAR_2VAR_1VAR_2 = VAR_2linkVAR_2->VAR_2srcpadVAR_2->VAR_2config_propsVAR_2)) {

                VAR_2ifVAR_2 (VAR_2linkVAR_2->VAR_2srcVAR_2->VAR_2nb_inputsVAR_2 != VAR_21VAR_2) {

                    VAR_2av_logVAR_2(VAR_2linkVAR_2->VAR_2srcVAR_2, VAR_2AV_LOG_ERRORVAR_2, "VAR_2SourceVAR_2 VAR_2filtersVAR_2 VAR_2andVAR_2 VAR_2filtersVAR_2 "

                                                    "VAR_2withVAR_2 VAR_2moreVAR_2 VAR_2thanVAR_2 VAR_2oneVAR_2 VAR_2inputVAR_2 "

                                                    "VAR_2mustVAR_2 VAR_2setVAR_2 VAR_2config_propsVAR_2() "

                                                    "VAR_2callbacksVAR_2 VAR_2onVAR_2 VAR_2allVAR_2 VAR_2outputsVAR_2\VAR_2nVAR_2");

                    VAR_2returnVAR_2 VAR_2AVERRORVAR_2(VAR_2EINVALVAR_2);

                }

            } VAR_2elseVAR_2 VAR_2ifVAR_2 ((VAR_2retVAR_2 = VAR_2VAR_1VAR_2(VAR_2linkVAR_2)) < VAR_20VAR_2) {

                VAR_2av_logVAR_2(VAR_2linkVAR_2->VAR_2srcVAR_2, VAR_2AV_LOG_ERRORVAR_2,

                       "VAR_2FailedVAR_2 VAR_2toVAR_2 VAR_2configureVAR_2 VAR_2outputVAR_2 VAR_2padVAR_2 VAR_2onVAR_2 %VAR_2sVAR_2\VAR_2nVAR_2",

                       VAR_2linkVAR_2->VAR_2srcVAR_2->VAR_2nameVAR_2);

                VAR_2returnVAR_2 VAR_2retVAR_2;

            }



            VAR_2switchVAR_2 (VAR_2linkVAR_2->VAR_2typeVAR_2) {

            VAR_2caseVAR_2 VAR_2AVMEDIA_TYPE_VIDEOVAR_2:

                VAR_2ifVAR_2 (!VAR_2linkVAR_2->VAR_2time_baseVAR_2.VAR_2numVAR_2 && !VAR_2linkVAR_2->VAR_2time_baseVAR_2.VAR_2denVAR_2)

                    VAR_2linkVAR_2->VAR_2time_baseVAR_2 = VAR_2inlinkVAR_2 ? VAR_2inlinkVAR_2->VAR_2time_baseVAR_2 : VAR_2AV_TIME_BASE_QVAR_2;



                VAR_2ifVAR_2 (!VAR_2linkVAR_2->VAR_2sample_aspect_ratioVAR_2.VAR_2numVAR_2 && !VAR_2linkVAR_2->VAR_2sample_aspect_ratioVAR_2.VAR_2denVAR_2)

                    VAR_2linkVAR_2->VAR_2sample_aspect_ratioVAR_2 = VAR_2inlinkVAR_2 ?

                        VAR_2inlinkVAR_2->VAR_2sample_aspect_ratioVAR_2 : (VAR_2AVRationalVAR_2){VAR_21VAR_2,VAR_21VAR_2};



                VAR_2ifVAR_2 (VAR_2inlinkVAR_2 && !VAR_2linkVAR_2->VAR_2frame_rateVAR_2.VAR_2numVAR_2 && !VAR_2linkVAR_2->VAR_2frame_rateVAR_2.VAR_2denVAR_2)

                    VAR_2linkVAR_2->VAR_2frame_rateVAR_2 = VAR_2inlinkVAR_2->VAR_2frame_rateVAR_2;



                VAR_2ifVAR_2 (VAR_2inlinkVAR_2) {

                    VAR_2ifVAR_2 (!VAR_2linkVAR_2->VAR_2wVAR_2)

                        VAR_2linkVAR_2->VAR_2wVAR_2 = VAR_2inlinkVAR_2->VAR_2wVAR_2;

                    VAR_2ifVAR_2 (!VAR_2linkVAR_2->VAR_2hVAR_2)

                        VAR_2linkVAR_2->VAR_2hVAR_2 = VAR_2inlinkVAR_2->VAR_2hVAR_2;

                } VAR_2elseVAR_2 VAR_2ifVAR_2 (!VAR_2linkVAR_2->VAR_2wVAR_2 || !VAR_2linkVAR_2->VAR_2hVAR_2) {

                    VAR_2av_logVAR_2(VAR_2linkVAR_2->VAR_2srcVAR_2, VAR_2AV_LOG_ERRORVAR_2,

                           "VAR_2VideoVAR_2 VAR_2sourceVAR_2 VAR_2filtersVAR_2 VAR_2mustVAR_2 VAR_2setVAR_2 VAR_2theirVAR_2 VAR_2outputVAR_2 VAR_2linkVAR_2'VAR_2sVAR_2 "

                           "VAR_2widthVAR_2 VAR_2andVAR_2 VAR_2heightVAR_2\VAR_2nVAR_2");

                    VAR_2returnVAR_2 VAR_2AVERRORVAR_2(VAR_2EINVALVAR_2);

                }

                VAR_2breakVAR_2;



            VAR_2caseVAR_2 VAR_2AVMEDIA_TYPE_AUDIOVAR_2:

                VAR_2ifVAR_2 (VAR_2inlinkVAR_2) {

                    VAR_2ifVAR_2 (!VAR_2linkVAR_2->VAR_2sample_rateVAR_2)

                        VAR_2linkVAR_2->VAR_2sample_rateVAR_2 = VAR_2inlinkVAR_2->VAR_2sample_rateVAR_2;

                    VAR_2ifVAR_2 (!VAR_2linkVAR_2->VAR_2time_baseVAR_2.VAR_2numVAR_2 && !VAR_2linkVAR_2->VAR_2time_baseVAR_2.VAR_2denVAR_2)

                        VAR_2linkVAR_2->VAR_2time_baseVAR_2 = VAR_2inlinkVAR_2->VAR_2time_baseVAR_2;

                    VAR_2ifVAR_2 (!VAR_2linkVAR_2->VAR_2channel_layoutVAR_2)

                        VAR_2linkVAR_2->VAR_2channel_layoutVAR_2 = VAR_2inlinkVAR_2->VAR_2channel_layoutVAR_2;

                } VAR_2elseVAR_2 VAR_2ifVAR_2 (!VAR_2linkVAR_2->VAR_2sample_rateVAR_2) {

                    VAR_2av_logVAR_2(VAR_2linkVAR_2->VAR_2srcVAR_2, VAR_2AV_LOG_ERRORVAR_2,

                           "VAR_2AudioVAR_2 VAR_2sourceVAR_2 VAR_2filtersVAR_2 VAR_2mustVAR_2 VAR_2setVAR_2 VAR_2theirVAR_2 VAR_2outputVAR_2 VAR_2linkVAR_2'VAR_2sVAR_2 "

                           "VAR_2sample_rateVAR_2\VAR_2nVAR_2");

                    VAR_2returnVAR_2 VAR_2AVERRORVAR_2(VAR_2EINVALVAR_2);

                }



                VAR_2ifVAR_2 (!VAR_2linkVAR_2->VAR_2time_baseVAR_2.VAR_2numVAR_2 && !VAR_2linkVAR_2->VAR_2time_baseVAR_2.VAR_2denVAR_2)

                    VAR_2linkVAR_2->VAR_2time_baseVAR_2 = (VAR_2AVRationalVAR_2) {VAR_21VAR_2, VAR_2linkVAR_2->VAR_2sample_rateVAR_2};

            }



            VAR_2ifVAR_2 ((VAR_2VAR_1VAR_2 = VAR_2linkVAR_2->VAR_2dstpadVAR_2->VAR_2config_propsVAR_2))

                VAR_2ifVAR_2 ((VAR_2retVAR_2 = VAR_2VAR_1VAR_2(VAR_2linkVAR_2)) < VAR_20VAR_2) {

                    VAR_2av_logVAR_2(VAR_2linkVAR_2->VAR_2srcVAR_2, VAR_2AV_LOG_ERRORVAR_2,

                           "VAR_2FailedVAR_2 VAR_2toVAR_2 VAR_2configureVAR_2 VAR_2inputVAR_2 VAR_2padVAR_2 VAR_2onVAR_2 %VAR_2sVAR_2\VAR_2nVAR_2",

                           VAR_2linkVAR_2->VAR_2dstVAR_2->VAR_2nameVAR_2);

                    VAR_2returnVAR_2 VAR_2retVAR_2;

                }



            VAR_2linkVAR_2->VAR_2init_stateVAR_2 = VAR_2AVLINK_INITVAR_2;

        }

    }



    VAR_2returnVAR_2 VAR_20VAR_2;

}

VAR_2intVAR_2 VAR_2avfilter_config_linksVAR_2(VAR_2AVFilterContextVAR_2 *VAR_2VAR_0VAR_2)
{ VAR_2intVAR_2 (*VAR_2VAR_1VAR_2)(VAR_2AVFilterLinkVAR_2 *); VAR_2unsignedVAR_2 VAR_2iVAR_2; VAR_2intVAR_2 VAR_2retVAR_2; VAR_2forVAR_2 (VAR_2iVAR_2 = VAR_20VAR_2; VAR_2iVAR_2 < VAR_2VAR_0VAR_2->VAR_2nb_inputsVAR_2; VAR_2iVAR_2 ++) { VAR_2AVFilterLinkVAR_2 *VAR_2linkVAR_2 = VAR_2VAR_0VAR_2->VAR_2inputsVAR_2[VAR_2iVAR_2]; VAR_2AVFilterLinkVAR_2 *VAR_2inlinkVAR_2 = VAR_2linkVAR_2->VAR_2srcVAR_2->VAR_2nb_inputsVAR_2 ?
VAR_2linkVAR_2->VAR_2srcVAR_2->VAR_2inputsVAR_2[VAR_20VAR_2] : VAR_2NULLVAR_2; VAR_2ifVAR_2 (!VAR_2linkVAR_2) VAR_2continueVAR_2; VAR_2linkVAR_2->VAR_2current_ptsVAR_2 = VAR_2AV_NOPTS_VALUEVAR_2; VAR_2switchVAR_2 (VAR_2linkVAR_2->VAR_2init_stateVAR_2) { VAR_2caseVAR_2 VAR_2AVLINK_INITVAR_2:
VAR_2continueVAR_2; VAR_2caseVAR_2 VAR_2AVLINK_STARTINITVAR_2:
VAR_2av_logVAR_2(VAR_2VAR_0VAR_2, VAR_2AV_LOG_INFOVAR_2, "VAR_2circularVAR_2 VAR_2VAR_0VAR_2 VAR_2chainVAR_2 VAR_2detectedVAR_2\VAR_2nVAR_2"); VAR_2returnVAR_2 VAR_20VAR_2; VAR_2caseVAR_2 VAR_2AVLINK_UNINITVAR_2:
VAR_2linkVAR_2->VAR_2init_stateVAR_2 = VAR_2AVLINK_STARTINITVAR_2; VAR_2ifVAR_2 ((VAR_2retVAR_2 = VAR_2avfilter_config_linksVAR_2(VAR_2linkVAR_2->VAR_2srcVAR_2)) < VAR_20VAR_2)
VAR_2returnVAR_2 VAR_2retVAR_2; VAR_2ifVAR_2 (!(VAR_2VAR_1VAR_2 = VAR_2linkVAR_2->VAR_2srcpadVAR_2->VAR_2config_propsVAR_2)) { VAR_2ifVAR_2 (VAR_2linkVAR_2->VAR_2srcVAR_2->VAR_2nb_inputsVAR_2 != VAR_21VAR_2) { VAR_2av_logVAR_2(VAR_2linkVAR_2->VAR_2srcVAR_2, VAR_2AV_LOG_ERRORVAR_2, "VAR_2SourceVAR_2 VAR_2filtersVAR_2 VAR_2andVAR_2 VAR_2filtersVAR_2 "
"VAR_2withVAR_2 VAR_2moreVAR_2 VAR_2thanVAR_2 VAR_2oneVAR_2 VAR_2inputVAR_2 "
"VAR_2mustVAR_2 VAR_2setVAR_2 VAR_2config_propsVAR_2() "
"VAR_2callbacksVAR_2 VAR_2onVAR_2 VAR_2allVAR_2 VAR_2outputsVAR_2\VAR_2nVAR_2"); VAR_2returnVAR_2 VAR_2AVERRORVAR_2(VAR_2EINVALVAR_2); } } VAR_2elseVAR_2 VAR_2ifVAR_2 ((VAR_2retVAR_2 = VAR_2VAR_1VAR_2(VAR_2linkVAR_2)) < VAR_20VAR_2) { VAR_2av_logVAR_2(VAR_2linkVAR_2->VAR_2srcVAR_2, VAR_2AV_LOG_ERRORVAR_2,
"VAR_2FailedVAR_2 VAR_2toVAR_2 VAR_2configureVAR_2 VAR_2outputVAR_2 VAR_2padVAR_2 VAR_2onVAR_2 %VAR_2sVAR_2\VAR_2nVAR_2",
VAR_2linkVAR_2->VAR_2srcVAR_2->VAR_2nameVAR_2); VAR_2returnVAR_2 VAR_2retVAR_2; } VAR_2switchVAR_2 (VAR_2linkVAR_2->VAR_2typeVAR_2) { VAR_2caseVAR_2 VAR_2AVMEDIA_TYPE_VIDEOVAR_2:
VAR_2ifVAR_2 (!VAR_2linkVAR_2->VAR_2time_baseVAR_2.VAR_2numVAR_2 && !VAR_2linkVAR_2->VAR_2time_baseVAR_2.VAR_2denVAR_2)
VAR_2linkVAR_2->VAR_2time_baseVAR_2 = VAR_2inlinkVAR_2 ? VAR_2inlinkVAR_2->VAR_2time_baseVAR_2 : VAR_2AV_TIME_BASE_QVAR_2; VAR_2ifVAR_2 (!VAR_2linkVAR_2->VAR_2sample_aspect_ratioVAR_2.VAR_2numVAR_2 && !VAR_2linkVAR_2->VAR_2sample_aspect_ratioVAR_2.VAR_2denVAR_2)
VAR_2linkVAR_2->VAR_2sample_aspect_ratioVAR_2 = VAR_2inlinkVAR_2 ?
VAR_2inlinkVAR_2->VAR_2sample_aspect_ratioVAR_2 : (VAR_2AVRationalVAR_2){VAR_21VAR_2,VAR_21VAR_2}; VAR_2ifVAR_2 (VAR_2inlinkVAR_2 && !VAR_2linkVAR_2->VAR_2frame_rateVAR_2.VAR_2numVAR_2 && !VAR_2linkVAR_2->VAR_2frame_rateVAR_2.VAR_2denVAR_2)
VAR_2linkVAR_2->VAR_2frame_rateVAR_2 = VAR_2inlinkVAR_2->VAR_2frame_rateVAR_2; VAR_2ifVAR_2 (VAR_2inlinkVAR_2) { VAR_2ifVAR_2 (!VAR_2linkVAR_2->VAR_2wVAR_2)
VAR_2linkVAR_2->VAR_2wVAR_2 = VAR_2inlinkVAR_2->VAR_2wVAR_2; VAR_2ifVAR_2 (!VAR_2linkVAR_2->VAR_2hVAR_2)
VAR_2linkVAR_2->VAR_2hVAR_2 = VAR_2inlinkVAR_2->VAR_2hVAR_2; } VAR_2elseVAR_2 VAR_2ifVAR_2 (!VAR_2linkVAR_2->VAR_2wVAR_2 || !VAR_2linkVAR_2->VAR_2hVAR_2) { VAR_2av_logVAR_2(VAR_2linkVAR_2->VAR_2srcVAR_2, VAR_2AV_LOG_ERRORVAR_2,
"VAR_2VideoVAR_2 VAR_2sourceVAR_2 VAR_2filtersVAR_2 VAR_2mustVAR_2 VAR_2setVAR_2 VAR_2theirVAR_2 VAR_2outputVAR_2 VAR_2linkVAR_2'VAR_2sVAR_2 "
"VAR_2widthVAR_2 VAR_2andVAR_2 VAR_2heightVAR_2\VAR_2nVAR_2"); VAR_2returnVAR_2 VAR_2AVERRORVAR_2(VAR_2EINVALVAR_2); } VAR_2breakVAR_2; VAR_2caseVAR_2 VAR_2AVMEDIA_TYPE_AUDIOVAR_2:
VAR_2ifVAR_2 (VAR_2inlinkVAR_2) { VAR_2ifVAR_2 (!VAR_2linkVAR_2->VAR_2sample_rateVAR_2)
VAR_2linkVAR_2->VAR_2sample_rateVAR_2 = VAR_2inlinkVAR_2->VAR_2sample_rateVAR_2; VAR_2ifVAR_2 (!VAR_2linkVAR_2->VAR_2time_baseVAR_2.VAR_2numVAR_2 && !VAR_2linkVAR_2->VAR_2time_baseVAR_2.VAR_2denVAR_2)
VAR_2linkVAR_2->VAR_2time_baseVAR_2 = VAR_2inlinkVAR_2->VAR_2time_baseVAR_2; VAR_2ifVAR_2 (!VAR_2linkVAR_2->VAR_2channel_layoutVAR_2)
VAR_2linkVAR_2->VAR_2channel_layoutVAR_2 = VAR_2inlinkVAR_2->VAR_2channel_layoutVAR_2; } VAR_2elseVAR_2 VAR_2ifVAR_2 (!VAR_2linkVAR_2->VAR_2sample_rateVAR_2) { VAR_2av_logVAR_2(VAR_2linkVAR_2->VAR_2srcVAR_2, VAR_2AV_LOG_ERRORVAR_2,
"VAR_2AudioVAR_2 VAR_2sourceVAR_2 VAR_2filtersVAR_2 VAR_2mustVAR_2 VAR_2setVAR_2 VAR_2theirVAR_2 VAR_2outputVAR_2 VAR_2linkVAR_2'VAR_2sVAR_2 "
"VAR_2sample_rateVAR_2\VAR_2nVAR_2"); VAR_2returnVAR_2 VAR_2AVERRORVAR_2(VAR_2EINVALVAR_2); } VAR_2ifVAR_2 (!VAR_2linkVAR_2->VAR_2time_baseVAR_2.VAR_2numVAR_2 && !VAR_2linkVAR_2->VAR_2time_baseVAR_2.VAR_2denVAR_2)
VAR_2linkVAR_2->VAR_2time_baseVAR_2 = (VAR_2AVRationalVAR_2) {VAR_21VAR_2, VAR_2linkVAR_2->VAR_2sample_rateVAR_2}; } VAR_2ifVAR_2 ((VAR_2VAR_1VAR_2 = VAR_2linkVAR_2->VAR_2dstpadVAR_2->VAR_2config_propsVAR_2))
VAR_2ifVAR_2 ((VAR_2retVAR_2 = VAR_2VAR_1VAR_2(VAR_2linkVAR_2)) < VAR_20VAR_2) { VAR_2av_logVAR_2(VAR_2linkVAR_2->VAR_2srcVAR_2, VAR_2AV_LOG_ERRORVAR_2,
"VAR_2FailedVAR_2 VAR_2toVAR_2 VAR_2configureVAR_2 VAR_2inputVAR_2 VAR_2padVAR_2 VAR_2onVAR_2 %VAR_2sVAR_2\VAR_2nVAR_2",
VAR_2linkVAR_2->VAR_2dstVAR_2->VAR_2nameVAR_2); VAR_2returnVAR_2 VAR_2retVAR_2; } VAR_2linkVAR_2->VAR_2init_stateVAR_2 = VAR_2AVLINK_INITVAR_2; } } VAR_2returnVAR_2 VAR_20VAR_2; }