summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-10-27 21:22:31 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-10-27 21:40:05 +0200
commitc643ba81283d44618df2ec675e2b8deea73825ca (patch)
tree1d0556a54e799af2f9de63f8ee677a9345ab9ac6
parentabe17c69631c0b205f156d738294328b408dcc54 (diff)
mpegts: Fix detection of some raw AAC
Fixes Ticket577 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavformat/mpegts.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index 8c01261168..f193b0f3a7 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -961,15 +961,17 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type
switch(desc_tag) {
case 0x1F: /* FMC descriptor */
get16(pp, desc_end);
- if (st->codec->codec_id == CODEC_ID_AAC_LATM &&
+ if ((st->codec->codec_id == CODEC_ID_AAC_LATM || st->request_probe>0) &&
mp4_dec_config_descr_len && mp4_es_id == pid) {
AVIOContext pb;
ffio_init_context(&pb, mp4_dec_config_descr,
mp4_dec_config_descr_len, 0, NULL, NULL, NULL, NULL);
ff_mp4_read_dec_config_descr(fc, st, &pb);
if (st->codec->codec_id == CODEC_ID_AAC &&
- st->codec->extradata_size > 0)
- st->need_parsing = 0;
+ st->codec->extradata_size > 0){
+ st->request_probe= st->need_parsing = 0;
+ st->codec->codec_type= AVMEDIA_TYPE_AUDIO;
+ }
}
break;
case 0x56: /* DVB teletext descriptor */