add mp3on4 detection, fix red.mp4

Originally committed as revision 5222 to svn://svn.ffmpeg.org/ffmpeg/trunk
pull/126/head
Baptiste Coudurier 19 years ago
parent 94ede53e57
commit e31bd3e309
  1. 16
      libavformat/mov.c

@ -600,6 +600,10 @@ static int mov_read_esds(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom)
if (st->codec->extradata) { if (st->codec->extradata) {
get_buffer(pb, st->codec->extradata, len); get_buffer(pb, st->codec->extradata, len);
st->codec->extradata_size = len; st->codec->extradata_size = len;
/* from mplayer */
if ((*(uint8_t *)st->codec->extradata >> 3) == 29) {
st->codec->codec_id = CODEC_ID_MP3ON4;
}
} }
} }
} }
@ -1134,11 +1138,17 @@ static int mov_read_stsd(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom)
if(st->codec->codec_type==CODEC_TYPE_AUDIO && st->codec->sample_rate==0 && sc->time_scale>1) { if(st->codec->codec_type==CODEC_TYPE_AUDIO && st->codec->sample_rate==0 && sc->time_scale>1) {
st->codec->sample_rate= sc->time_scale; st->codec->sample_rate= sc->time_scale;
} }
switch (st->codec->codec_id) {
#ifdef CONFIG_FAAD #ifdef CONFIG_FAAD
if(st->codec->codec_id ==CODEC_ID_AAC) { case CODEC_ID_AAC:
st->codec->sample_rate= 0; /* let faad init parameters properly */
}
#endif #endif
case CODEC_ID_MP3ON4:
st->codec->sample_rate= 0; /* let decoder init parameters properly */
break;
default:
break;
}
return 0; return 0;
} }

Loading…
Cancel
Save