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>
This commit is contained in:
Mihnea Balta 2011-12-06 09:29:47 +02:00 committed by Michael Niedermayer
parent f0d0ae3b1e
commit fef2da6a22

View File

@ -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;
}