avformat/astdec: sanity check channels & sample rate

Fixes probetest failure

Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2013-11-06 13:12:59 +01:00
parent 4684539c91
commit cbe84b4ffa

View File

@ -27,12 +27,15 @@
static int ast_probe(AVProbeData *p)
{
if (AV_RL32(p->buf) == MKTAG('S','T','R','M') &&
AV_RB16(p->buf + 10) &&
AV_RB16(p->buf + 12) &&
AV_RB32(p->buf + 16))
return AVPROBE_SCORE_MAX / 3 * 2;
return 0;
if (AV_RL32(p->buf) != MKTAG('S','T','R','M'))
return 0;
if (!AV_RB16(p->buf + 10) ||
!AV_RB16(p->buf + 12) || AV_RB16(p->buf + 12) > 256 ||
!AV_RB32(p->buf + 16) || AV_RB32(p->buf + 16) > 8*48000)
return 1;
return AVPROBE_SCORE_MAX / 3 * 2;
}
static int ast_read_header(AVFormatContext *s)