diff options
author | Mihnea Balta <mihnea.balta@gmail.com> | 2011-12-06 09:29:47 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-12-06 17:31:17 +0100 |
commit | fef2da6a22f200299db986fc5c2271418e816ba6 (patch) | |
tree | 9698155ac4cc77a7efb0d25682b32470fce657cb | |
parent | f0d0ae3b1e0334b70286b3e27eb8a2ffa928a9e5 (diff) | |
download | ffmpeg-fef2da6a22f200299db986fc5c2271418e816ba6.tar.gz |
movdec: Fix bad computed size for atoms with size 0 in MOV files
The computed size doesn't contain the header size because it's already
skipped by incrementing total_size, but then it's skipped again in the
last line. The atom comes out 8 bytes short and the function
mov_read_chan() aborts the whole parsing process. I think the computed
size should be atom.size - total_size + 8.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavformat/mov.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c index eb31592308..d96ab0488d 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -323,7 +323,7 @@ static int mov_read_default(MOVContext *c, AVIOContext *pb, MOVAtom atom) total_size += 8; } if (a.size == 0) { - a.size = atom.size - total_size; + a.size = atom.size - total_size + 8; if (a.size <= 8) break; } |