~neon/taglib/master

Viewing all changes in revision 1578.

  • Committer: Urs Fleisch
  • Date: 2022-03-12 06:33:32 UTC
  • Revision ID: git-v1:197d2a684b14dc29d41f770e95a359c5d156db29
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

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: