static int parse_fmtp(AVFormatContext *s,

                      AVStream *stream, PayloadContext *data,

                      const char *attr, const char *value)

{

    AVCodecParameters *par = stream->codecpar;

    int res, i;



    if (!strcmp(attr, "config")) {

        res = parse_fmtp_config(par, value);



        if (res < 0)

            return res;

    }



    if (par->codec_id == AV_CODEC_ID_AAC) {

        /* Looking for a known attribute */

        for (i = 0; attr_names[i].str; ++i) {

            if (!av_strcasecmp(attr, attr_names[i].str)) {

                if (attr_names[i].type == ATTR_NAME_TYPE_INT) {

                    *(int *)((char *)data+

                        attr_names[i].offset) = atoi(value);

                } else if (attr_names[i].type == ATTR_NAME_TYPE_STR)

                    *(char **)((char *)data+

                        attr_names[i].offset) = av_strdup(value);

            }

        }

    }

    return 0;

}

static int parse_fmtp(AVFormatContext *s,

                      AVStream *stream, PayloadContext *data,

                      const char *attr, const char *value)

{

    AVCodecParameters *par = stream->codecpar;

    int res, i;



    if (!strcmp(attr, "config")) {

        res = parse_fmtp_config(par, value);



        if (res < 0)

            return res;

    }



    if (par->codec_id == AV_CODEC_ID_AAC) {

        

        for (i = 0; attr_names[i].str; ++i) {

            if (!av_strcasecmp(attr, attr_names[i].str)) {

                if (attr_names[i].type == ATTR_NAME_TYPE_INT) {

                    *(int *)((char *)data+

                        attr_names[i].offset) = atoi(value);

                } else if (attr_names[i].type == ATTR_NAME_TYPE_STR)

                    *(char **)((char *)data+

                        attr_names[i].offset) = av_strdup(value);

            }

        }

    }

    return 0;

}

static int FUNC_0(AVFormatContext *VAR_0,

                      AVStream *VAR_1, PayloadContext *VAR_2,

                      const char *VAR_3, const char *VAR_4)

{

    AVCodecParameters *par = VAR_1->codecpar;

    int VAR_5, VAR_6;



    if (!strcmp(VAR_3, "config")) {

        VAR_5 = parse_fmtp_config(par, VAR_4);



        if (VAR_5 < 0)

            return VAR_5;

    }



    if (par->codec_id == AV_CODEC_ID_AAC) {

        

        for (VAR_6 = 0; attr_names[VAR_6].str; ++VAR_6) {

            if (!av_strcasecmp(VAR_3, attr_names[VAR_6].str)) {

                if (attr_names[VAR_6].type == ATTR_NAME_TYPE_INT) {

                    *(int *)((char *)VAR_2+

                        attr_names[VAR_6].offset) = atoi(VAR_4);

                } else if (attr_names[VAR_6].type == ATTR_NAME_TYPE_STR)

                    *(char **)((char *)VAR_2+

                        attr_names[VAR_6].offset) = av_strdup(VAR_4);

            }

        }

    }

    return 0;

}

static int FUNC_0(AVFormatContext *VAR_0,
AVStream *VAR_1, PayloadContext *VAR_2,
const char *VAR_3, const char *VAR_4)
{ AVCodecParameters *par = VAR_1->codecpar; int VAR_5, VAR_6; if (!strcmp(VAR_3, "config")) { VAR_5 = parse_fmtp_config(par, VAR_4); if (VAR_5 < 0)
return VAR_5; } if (par->codec_id == AV_CODEC_ID_AAC) { for (VAR_6 = 0; attr_names[VAR_6].str; ++VAR_6) { if (!av_strcasecmp(VAR_3, attr_names[VAR_6].str)) { if (attr_names[VAR_6].type == ATTR_NAME_TYPE_INT) { *(int *)((char *)VAR_2+
attr_names[VAR_6].offset) = atoi(VAR_4); } else if (attr_names[VAR_6].type == ATTR_NAME_TYPE_STR) *(char **)((char *)VAR_2+
attr_names[VAR_6].offset) = av_strdup(VAR_4); } } } return 0; }