mirror of
https://github.com/taglib/taglib.git
synced 2025-07-18 21:14:23 -04:00
Correctly parse MP4 non-full meta atoms (#1041)
There are m4a files with regular (non-full) meta atoms. When such a meta atom is not correctly parsed, the subsequent atoms are not recognized and offsets will not be adjusted when atoms are added, which will corrupt the MP4 file. This change will look behind the meta atom to check if the next atom follows directly, i.e. without the four bytes with version and flags as they exist in full atoms. In such a case, these four bytes will not be skipped. Witnesses of this strange format specification are https://leo-van-stee.github.io/ https://github.com/axiomatic-systems/Bento4/blob/v1.6.0-639/Source/C%2B%2B/Core/Ap4ContainerAtom.cpp#L60
This commit is contained in:
BIN
tests/data/non-full-meta.m4a
Normal file
BIN
tests/data/non-full-meta.m4a
Normal file
Binary file not shown.
Reference in New Issue
Block a user