/*
* DXA demuxer
- * Copyright (c) 2007 Konstantin Shishkov.
+ * Copyright (c) 2007 Konstantin Shishkov
*
* This file is part of FFmpeg.
*
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "libavutil/intreadwrite.h"
#include "avformat.h"
#include "riff.h"
static int dxa_probe(AVProbeData *p)
{
+ int w, h;
+ if (p->buf_size < 15)
+ return 0;
+ w = AV_RB16(p->buf + 11);
+ h = AV_RB16(p->buf + 13);
/* check file header */
if (p->buf[0] == 'D' && p->buf[1] == 'E' &&
- p->buf[2] == 'X' && p->buf[3] == 'A')
+ p->buf[2] == 'X' && p->buf[3] == 'A' &&
+ w && w <= 2048 && h && h <= 2048)
return AVPROBE_SCORE_MAX;
else
return 0;
ast = av_new_stream(s, 0);
if (!ast)
return -1;
- get_wav_header(pb, ast->codec, fsize);
+ ff_get_wav_header(pb, ast->codec, fsize);
// find 'data' chunk
while(url_ftell(pb) < c->vidpos && !url_feof(pb)){
tag = get_le32(pb);
}
/* now we are ready: build format streams */
- st->codec->codec_type = CODEC_TYPE_VIDEO;
+ st->codec->codec_type = AVMEDIA_TYPE_VIDEO;
st->codec->codec_id = CODEC_ID_DXA;
st->codec->width = w;
st->codec->height = h;