static void sdp_parse_fmtp_config(AVCodecContext * codec, void *ctx,

                                  char *attr, char *value)

{

    switch (codec->codec_id) {

        case CODEC_ID_MPEG4:

        case CODEC_ID_AAC:

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

                /* decode the hexa encoded parameter */

                int len = hex_to_data(NULL, value);

                if (codec->extradata)

                    av_free(codec->extradata);

                codec->extradata = av_mallocz(len + FF_INPUT_BUFFER_PADDING_SIZE);

                if (!codec->extradata)

                    return;

                codec->extradata_size = len;

                hex_to_data(codec->extradata, value);

            }

            break;

        case CODEC_ID_VORBIS:

            ff_vorbis_parse_fmtp_config(codec, ctx, attr, value);

            break;

        default:

            break;

    }

    return;

}

static void sdp_parse_fmtp_config(AVCodecContext * codec, void *ctx,

                                  char *attr, char *value)

{

    switch (codec->codec_id) {

        case CODEC_ID_MPEG4:

        case CODEC_ID_AAC:

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

                

                int len = hex_to_data(NULL, value);

                if (codec->extradata)

                    av_free(codec->extradata);

                codec->extradata = av_mallocz(len + FF_INPUT_BUFFER_PADDING_SIZE);

                if (!codec->extradata)

                    return;

                codec->extradata_size = len;

                hex_to_data(codec->extradata, value);

            }

            break;

        case CODEC_ID_VORBIS:

            ff_vorbis_parse_fmtp_config(codec, ctx, attr, value);

            break;

        default:

            break;

    }

    return;

}

static void FUNC_0(AVCodecContext * VAR_0, void *VAR_1,

                                  char *VAR_2, char *VAR_3)

{

    switch (VAR_0->codec_id) {

        case CODEC_ID_MPEG4:

        case CODEC_ID_AAC:

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

                

                int VAR_4 = hex_to_data(NULL, VAR_3);

                if (VAR_0->extradata)

                    av_free(VAR_0->extradata);

                VAR_0->extradata = av_mallocz(VAR_4 + FF_INPUT_BUFFER_PADDING_SIZE);

                if (!VAR_0->extradata)

                    return;

                VAR_0->extradata_size = VAR_4;

                hex_to_data(VAR_0->extradata, VAR_3);

            }

            break;

        case CODEC_ID_VORBIS:

            ff_vorbis_parse_fmtp_config(VAR_0, VAR_1, VAR_2, VAR_3);

            break;

        default:

            break;

    }

    return;

}

static void FUNC_0(AVCodecContext * VAR_0, void *VAR_1,
char *VAR_2, char *VAR_3)
{ switch (VAR_0->codec_id) { case CODEC_ID_MPEG4:
case CODEC_ID_AAC:
if (!strcmp(VAR_2, "config")) { int VAR_4 = hex_to_data(NULL, VAR_3); if (VAR_0->extradata)
av_free(VAR_0->extradata); VAR_0->extradata = av_mallocz(VAR_4 + FF_INPUT_BUFFER_PADDING_SIZE); if (!VAR_0->extradata)
return; VAR_0->extradata_size = VAR_4; hex_to_data(VAR_0->extradata, VAR_3); } break; case CODEC_ID_VORBIS:
ff_vorbis_parse_fmtp_config(VAR_0, VAR_1, VAR_2, VAR_3); break; default:
break; } return; }