libavformat/mpegts.c:1415: error: Uninitialized Value
  The value read from language[_] was never initialized.

libavformat/mpegts.c:1415:18: 
1413.             }
1414.         }
1415.         if (i && language[0]) {
                       ^
1416.             language[i - 1] = 0;
1417.             av_dict_set(&st->metadata, "language", language, 0);

int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type,
                              const uint8_t **pp, const uint8_t *desc_list_end,
                              Mp4Descr *mp4_descr, int mp4_descr_count, int pid,
                              MpegTSContext *ts)
{
    const uint8_t *desc_end;
    int desc_len, desc_tag, desc_es_id;
    char language[252];
    int i;
    desc_tag = get8(pp, desc_list_end);
    if (desc_tag < 0)
        return AVERROR_INVALIDDATA;
    desc_len = get8(pp, desc_list_end);
    if (desc_len < 0)
        return AVERROR_INVALIDDATA;
    desc_end = *pp + desc_len;
    if (desc_end > desc_list_end)
        return AVERROR_INVALIDDATA;
    av_dlog(fc, "tag: 0x%02x len=%d\n", desc_tag, desc_len);
    if (st->codec->codec_id == AV_CODEC_ID_NONE &&
        stream_type == STREAM_TYPE_PRIVATE_DATA)
        mpegts_find_stream_type(st, desc_tag, DESC_types);
    switch (desc_tag) {
    case 0x1E:
        desc_es_id = get16(pp, desc_end);
        if (ts && ts->pids[pid])
            ts->pids[pid]->es_id = desc_es_id;
        for (i = 0; i < mp4_descr_count; i++)
            if (mp4_descr[i].dec_config_descr_len &&
                mp4_descr[i].es_id == desc_es_id) {
                AVIOContext pb;
                ffio_init_context(&pb, mp4_descr[i].dec_config_descr,
                                  mp4_descr[i].dec_config_descr_len, 0,
                                  NULL, NULL, NULL, NULL);
                ff_mp4_read_dec_config_descr(fc, st, &pb);
                if (st->codec->codec_id == AV_CODEC_ID_AAC &&
                    st->codec->extradata_size > 0)
                    st->need_parsing = 0;
                if (st->codec->codec_id == AV_CODEC_ID_MPEG4SYSTEMS)
                    mpegts_open_section_filter(ts, pid, m4sl_cb, ts, 1);
            }
        break;
    case 0x1F:
        get16(pp, desc_end);
        if (mp4_descr_count > 0 &&
            st->codec->codec_id == AV_CODEC_ID_AAC_LATM &&
            mp4_descr->dec_config_descr_len && mp4_descr->es_id == pid) {
            AVIOContext pb;
            ffio_init_context(&pb, mp4_descr->dec_config_descr,
                              mp4_descr->dec_config_descr_len, 0,
                              NULL, NULL, NULL, NULL);
            ff_mp4_read_dec_config_descr(fc, st, &pb);
            if (st->codec->codec_id == AV_CODEC_ID_AAC &&
                st->codec->extradata_size > 0)
                st->need_parsing = 0;
        }
        break;
    case 0x56:
        language[0] = get8(pp, desc_end);
        language[1] = get8(pp, desc_end);
        language[2] = get8(pp, desc_end);
        language[3] = 0;
        av_dict_set(&st->metadata, "language", language, 0);
        break;
    case 0x59:
        language[0] = get8(pp, desc_end);
        language[1] = get8(pp, desc_end);
        language[2] = get8(pp, desc_end);
        language[3] = 0;
        switch (get8(pp, desc_end)) {
        case 0x20:
        case 0x21:
        case 0x22:
        case 0x23:
        case 0x24:
        case 0x25:
            st->disposition |= AV_DISPOSITION_HEARING_IMPAIRED;
            break;
        }
        if (st->codec->extradata) {
            if (st->codec->extradata_size == 4 &&
                memcmp(st->codec->extradata, *pp, 4))
                avpriv_request_sample(fc, "DVB sub with multiple IDs");
        } else {
            st->codec->extradata = av_malloc(4 + FF_INPUT_BUFFER_PADDING_SIZE);
            if (st->codec->extradata) {
                st->codec->extradata_size = 4;
                memcpy(st->codec->extradata, *pp, 4);
            }
        }
        *pp += 4;
        av_dict_set(&st->metadata, "language", language, 0);
        break;
    case 0x0a:
        for (i = 0; i + 4 <= desc_len; i += 4) {
            language[i + 0] = get8(pp, desc_end);
            language[i + 1] = get8(pp, desc_end);
            language[i + 2] = get8(pp, desc_end);
            language[i + 3] = ',';
            switch (get8(pp, desc_end)) {
            case 0x01:
                st->disposition |= AV_DISPOSITION_CLEAN_EFFECTS;
                break;
            case 0x02:
                st->disposition |= AV_DISPOSITION_HEARING_IMPAIRED;
                break;
            case 0x03:
                st->disposition |= AV_DISPOSITION_VISUAL_IMPAIRED;
                break;
            }
        }
        if (i && language[0]) {
            language[i - 1] = 0;
            av_dict_set(&st->metadata, "language", language, 0);
        }
        break;
    case 0x05:
        st->codec->codec_tag = bytestream_get_le32(pp);
        av_dlog(fc, "reg_desc=%.4s\n", (char *)&st->codec->codec_tag);
        if (st->codec->codec_id == AV_CODEC_ID_NONE)
            mpegts_find_stream_type(st, st->codec->codec_tag, REGD_types);
        break;
    default:
        break;
    }
    *pp = desc_end;
    return 0;
}
['int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type,\n                              const uint8_t **pp, const uint8_t *desc_list_end,\n                              Mp4Descr *mp4_descr, int mp4_descr_count, int pid,\n                              MpegTSContext *ts)\n{\n    const uint8_t *desc_end;\n    int desc_len, desc_tag, desc_es_id;\n    char language[252];\n    int i;\n    desc_tag = get8(pp, desc_list_end);\n    if (desc_tag < 0)\n        return AVERROR_INVALIDDATA;\n    desc_len = get8(pp, desc_list_end);\n    if (desc_len < 0)\n        return AVERROR_INVALIDDATA;\n    desc_end = *pp + desc_len;\n    if (desc_end > desc_list_end)\n        return AVERROR_INVALIDDATA;\n    av_dlog(fc, "tag: 0x%02x len=%d\\n", desc_tag, desc_len);\n    if (st->codec->codec_id == AV_CODEC_ID_NONE &&\n        stream_type == STREAM_TYPE_PRIVATE_DATA)\n        mpegts_find_stream_type(st, desc_tag, DESC_types);\n    switch (desc_tag) {\n    case 0x1E:\n        desc_es_id = get16(pp, desc_end);\n        if (ts && ts->pids[pid])\n            ts->pids[pid]->es_id = desc_es_id;\n        for (i = 0; i < mp4_descr_count; i++)\n            if (mp4_descr[i].dec_config_descr_len &&\n                mp4_descr[i].es_id == desc_es_id) {\n                AVIOContext pb;\n                ffio_init_context(&pb, mp4_descr[i].dec_config_descr,\n                                  mp4_descr[i].dec_config_descr_len, 0,\n                                  NULL, NULL, NULL, NULL);\n                ff_mp4_read_dec_config_descr(fc, st, &pb);\n                if (st->codec->codec_id == AV_CODEC_ID_AAC &&\n                    st->codec->extradata_size > 0)\n                    st->need_parsing = 0;\n                if (st->codec->codec_id == AV_CODEC_ID_MPEG4SYSTEMS)\n                    mpegts_open_section_filter(ts, pid, m4sl_cb, ts, 1);\n            }\n        break;\n    case 0x1F:\n        get16(pp, desc_end);\n        if (mp4_descr_count > 0 &&\n            st->codec->codec_id == AV_CODEC_ID_AAC_LATM &&\n            mp4_descr->dec_config_descr_len && mp4_descr->es_id == pid) {\n            AVIOContext pb;\n            ffio_init_context(&pb, mp4_descr->dec_config_descr,\n                              mp4_descr->dec_config_descr_len, 0,\n                              NULL, NULL, NULL, NULL);\n            ff_mp4_read_dec_config_descr(fc, st, &pb);\n            if (st->codec->codec_id == AV_CODEC_ID_AAC &&\n                st->codec->extradata_size > 0)\n                st->need_parsing = 0;\n        }\n        break;\n    case 0x56:\n        language[0] = get8(pp, desc_end);\n        language[1] = get8(pp, desc_end);\n        language[2] = get8(pp, desc_end);\n        language[3] = 0;\n        av_dict_set(&st->metadata, "language", language, 0);\n        break;\n    case 0x59:\n        language[0] = get8(pp, desc_end);\n        language[1] = get8(pp, desc_end);\n        language[2] = get8(pp, desc_end);\n        language[3] = 0;\n        switch (get8(pp, desc_end)) {\n        case 0x20:\n        case 0x21:\n        case 0x22:\n        case 0x23:\n        case 0x24:\n        case 0x25:\n            st->disposition |= AV_DISPOSITION_HEARING_IMPAIRED;\n            break;\n        }\n        if (st->codec->extradata) {\n            if (st->codec->extradata_size == 4 &&\n                memcmp(st->codec->extradata, *pp, 4))\n                avpriv_request_sample(fc, "DVB sub with multiple IDs");\n        } else {\n            st->codec->extradata = av_malloc(4 + FF_INPUT_BUFFER_PADDING_SIZE);\n            if (st->codec->extradata) {\n                st->codec->extradata_size = 4;\n                memcpy(st->codec->extradata, *pp, 4);\n            }\n        }\n        *pp += 4;\n        av_dict_set(&st->metadata, "language", language, 0);\n        break;\n    case 0x0a:\n        for (i = 0; i + 4 <= desc_len; i += 4) {\n            language[i + 0] = get8(pp, desc_end);\n            language[i + 1] = get8(pp, desc_end);\n            language[i + 2] = get8(pp, desc_end);\n            language[i + 3] = \',\';\n            switch (get8(pp, desc_end)) {\n            case 0x01:\n                st->disposition |= AV_DISPOSITION_CLEAN_EFFECTS;\n                break;\n            case 0x02:\n                st->disposition |= AV_DISPOSITION_HEARING_IMPAIRED;\n                break;\n            case 0x03:\n                st->disposition |= AV_DISPOSITION_VISUAL_IMPAIRED;\n                break;\n            }\n        }\n        if (i && language[0]) {\n            language[i - 1] = 0;\n            av_dict_set(&st->metadata, "language", language, 0);\n        }\n        break;\n    case 0x05:\n        st->codec->codec_tag = bytestream_get_le32(pp);\n        av_dlog(fc, "reg_desc=%.4s\\n", (char *)&st->codec->codec_tag);\n        if (st->codec->codec_id == AV_CODEC_ID_NONE)\n            mpegts_find_stream_type(st, st->codec->codec_tag, REGD_types);\n        break;\n    default:\n        break;\n    }\n    *pp = desc_end;\n    return 0;\n}']