diff options
author | Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com> | 2014-01-23 23:03:09 +0400 |
---|---|---|
committer | Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com> | 2014-01-24 00:40:58 +0400 |
commit | d467e7df1a74b74eaea27434b1c4de17518f400f (patch) | |
tree | dc4ef236125fe55e831ab96d7738af744f077636 /libavformat/mtv.c | |
parent | 30f4c58f6f92765b3d06b0950392e5264630bce0 (diff) |
libavformat/mtv: donwgrade probe score for < 512
MTV has a 512 bytes header. We should be able to
parse required fiels from the first 57 (rest is
padding) but if we haven't seen enough data then
go with SCORE_EXTENSION.
Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
Diffstat (limited to 'libavformat/mtv.c')
-rw-r--r-- | libavformat/mtv.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libavformat/mtv.c b/libavformat/mtv.c index 5e638cacec..0ce3f8e6d8 100644 --- a/libavformat/mtv.c +++ b/libavformat/mtv.c @@ -78,6 +78,13 @@ static int mtv_probe(AVProbeData *p) if(p->buf[51] != 16) return AVPROBE_SCORE_EXTENSION / 2; // But we are going to assume 16bpp anyway .. + /* We had enough data to parse header values + * but we expect to be able to get 512 bytes + * of header to be sure. + */ + if (p->buf_size < MTV_HEADER_SIZE) + return AVPROBE_SCORE_EXTENSION; + return AVPROBE_SCORE_MAX; } |