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