mirror of
https://github.com/taglib/taglib.git
synced 2025-06-04 01:28:21 -04:00
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