|
|
@ -1555,6 +1555,8 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type |
|
|
|
switch (desc_tag) { |
|
|
|
switch (desc_tag) { |
|
|
|
case 0x1E: /* SL descriptor */ |
|
|
|
case 0x1E: /* SL descriptor */ |
|
|
|
desc_es_id = get16(pp, desc_end); |
|
|
|
desc_es_id = get16(pp, desc_end); |
|
|
|
|
|
|
|
if (desc_es_id < 0) |
|
|
|
|
|
|
|
break; |
|
|
|
if (ts && ts->pids[pid]) |
|
|
|
if (ts && ts->pids[pid]) |
|
|
|
ts->pids[pid]->es_id = desc_es_id; |
|
|
|
ts->pids[pid]->es_id = desc_es_id; |
|
|
|
for (i = 0; i < mp4_descr_count; i++) |
|
|
|
for (i = 0; i < mp4_descr_count; i++) |
|
|
@ -1573,7 +1575,8 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type |
|
|
|
} |
|
|
|
} |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 0x1F: /* FMC descriptor */ |
|
|
|
case 0x1F: /* FMC descriptor */ |
|
|
|
get16(pp, desc_end); |
|
|
|
if (get16(pp, desc_end) < 0) |
|
|
|
|
|
|
|
break; |
|
|
|
if (mp4_descr_count > 0 && |
|
|
|
if (mp4_descr_count > 0 && |
|
|
|
(st->codec->codec_id == AV_CODEC_ID_AAC_LATM || st->request_probe > 0) && |
|
|
|
(st->codec->codec_id == AV_CODEC_ID_AAC_LATM || st->request_probe > 0) && |
|
|
|
mp4_descr->dec_config_descr_len && mp4_descr->es_id == pid) { |
|
|
|
mp4_descr->dec_config_descr_len && mp4_descr->es_id == pid) { |
|
|
|