Mercurial > libavformat.hg
changeset 5156:6c50f319725d libavformat
Extend ipmovie signature to match exactly one place in mve files that have a
player binary prepended.
author | reimar |
---|---|
date | Sat, 05 Sep 2009 11:30:55 +0000 |
parents | e562b793c959 |
children | a74bea5a7084 |
files | ipmovie.c |
diffstat | 1 files changed, 4 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/ipmovie.c Fri Sep 04 21:43:41 2009 +0000 +++ b/ipmovie.c Sat Sep 05 11:30:55 2009 +0000 @@ -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 @@ 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 @@ 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)