comparison matroskadec.c @ 5250:4b736fd7d0fd libavformat

matroskadec: fix handling of A_MS/ACM track with no extradata
author aurel
date Thu, 01 Oct 2009 21:14:05 +0000
parents 1f237326c8bc
children 75a5bf71fad3
comparison
equal deleted inserted replaced
5249:8e78fee99db5 5250:4b736fd7d0fd
1246 && track->codec_priv.data != NULL) { 1246 && track->codec_priv.data != NULL) {
1247 track->video.fourcc = AV_RL32(track->codec_priv.data + 16); 1247 track->video.fourcc = AV_RL32(track->codec_priv.data + 16);
1248 codec_id = ff_codec_get_id(ff_codec_bmp_tags, track->video.fourcc); 1248 codec_id = ff_codec_get_id(ff_codec_bmp_tags, track->video.fourcc);
1249 extradata_offset = 40; 1249 extradata_offset = 40;
1250 } else if (!strcmp(track->codec_id, "A_MS/ACM") 1250 } else if (!strcmp(track->codec_id, "A_MS/ACM")
1251 && track->codec_priv.size >= 18 1251 && track->codec_priv.size >= 14
1252 && track->codec_priv.data != NULL) { 1252 && track->codec_priv.data != NULL) {
1253 init_put_byte(&b, track->codec_priv.data, track->codec_priv.size, 1253 init_put_byte(&b, track->codec_priv.data, track->codec_priv.size,
1254 URL_RDONLY, NULL, NULL, NULL, NULL); 1254 URL_RDONLY, NULL, NULL, NULL, NULL);
1255 ff_get_wav_header(&b, st->codec, track->codec_priv.size); 1255 ff_get_wav_header(&b, st->codec, track->codec_priv.size);
1256 codec_id = st->codec->codec_id; 1256 codec_id = st->codec->codec_id;
1257 extradata_offset = 18; 1257 extradata_offset = FFMIN(track->codec_priv.size, 18);
1258 } else if (!strcmp(track->codec_id, "V_QUICKTIME") 1258 } else if (!strcmp(track->codec_id, "V_QUICKTIME")
1259 && (track->codec_priv.size >= 86) 1259 && (track->codec_priv.size >= 86)
1260 && (track->codec_priv.data != NULL)) { 1260 && (track->codec_priv.data != NULL)) {
1261 track->video.fourcc = AV_RL32(track->codec_priv.data); 1261 track->video.fourcc = AV_RL32(track->codec_priv.data);
1262 codec_id=ff_codec_get_id(codec_movvideo_tags, track->video.fourcc); 1262 codec_id=ff_codec_get_id(codec_movvideo_tags, track->video.fourcc);