From 78bfe6c3c1708f9ef1ef74596f88015c194784fa Mon Sep 17 00:00:00 2001 From: Reimar Döffinger Date: Sat, 5 Sep 2009 11:30:55 +0000 Subject: Extend ipmovie signature to match exactly one place in mve files that have a player binary prepended. Originally committed as revision 19768 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/ipmovie.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'libavformat/ipmovie.c') diff --git a/libavformat/ipmovie.c b/libavformat/ipmovie.c index f992b68782..0552605a5d 100644 --- a/libavformat/ipmovie.c +++ b/libavformat/ipmovie.c @@ -46,8 +46,6 @@ static inline void debug_ipmovie(const char *format, ...) { } #endif -#define IPMOVIE_SIGNATURE "Interplay MVE File\x1A\0" -#define IPMOVIE_SIGNATURE_SIZE 20 #define CHUNK_PREAMBLE_SIZE 4 #define OPCODE_PREAMBLE_SIZE 4 @@ -499,9 +497,11 @@ static int process_ipmovie_chunk(IPMVEContext *s, ByteIOContext *pb, return chunk_type; } +static const char signature[] = "Interplay MVE File\x1A\0\x1A"; + static int ipmovie_probe(AVProbeData *p) { - if (strncmp(p->buf, IPMOVIE_SIGNATURE, IPMOVIE_SIGNATURE_SIZE) != 0) + if (memcmp(p->buf, signature, sizeof(signature)) != 0) return 0; return AVPROBE_SCORE_MAX; @@ -523,7 +523,7 @@ static int ipmovie_read_header(AVFormatContext *s, ipmovie->decode_map_chunk_offset = 0; /* on the first read, this will position the stream at the first chunk */ - ipmovie->next_chunk_offset = IPMOVIE_SIGNATURE_SIZE + 6; + ipmovie->next_chunk_offset = sizeof(signature) + 4; /* process the first chunk which should be CHUNK_INIT_VIDEO */ if (process_ipmovie_chunk(ipmovie, pb, &pkt) != CHUNK_INIT_VIDEO) -- cgit v1.2.3