Go to file
Urs Fleisch 197d2a684b 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
2022-03-12 07:33:32 +01:00
3rdparty/utf8-cpp Isolate 3rdparty library for easier maintenance. 2017-06-07 12:51:44 +09:00
bindings clang-tidy: add ending namespace comments 2021-06-21 06:49:32 +02:00
cmake/modules Run-time check for floating point byte order rather than CMake check. 2015-08-01 23:40:23 +09:00
doc Install taglib.png icon into html folder structure 2021-03-06 14:52:25 +01:00
examples Install examples after we selected to build them 2021-03-06 14:52:25 +01:00
taglib Correctly parse MP4 non-full meta atoms (#1041) 2022-03-12 07:33:32 +01:00
tests Correctly parse MP4 non-full meta atoms (#1041) 2022-03-12 07:33:32 +01:00
.astylerc Add astylerc 2015-05-18 11:31:55 +02:00
.editorconfig Add OS X settings to travis.yml. 2016-02-14 03:29:03 +09:00
.gitignore Add compile_commands.json to gitignore 2021-12-08 19:24:52 +01:00
.travis.yml adding support for linux on power 2020-09-01 16:55:07 +00:00
AUTHORS Update documentation for version 1.12.0 2021-02-15 10:37:11 +01:00
cmake_uninstall.cmake.in added uninstall target 2011-06-26 21:58:51 +02:00
CMakeLists.txt Add -Wall compiler flag to Clang compilers. 2021-12-31 07:51:38 +01:00
config.h.cmake Don't pull in C++11+ for one class 2020-12-20 18:38:05 +01:00
ConfigureChecks.cmake Move finding ZLIB to root CMakeLists.txt 2021-03-06 14:52:25 +01:00
COPYING.LGPL Different LGPL version than was referenced in headers 2010-09-22 00:07:26 +00:00
COPYING.MPL Got permission from all (non-trivial) contributors to dual license under the MPL. 2007-10-10 18:22:58 +00:00
Doxyfile.cmake Drop leftovers WITH_ASF and WITH_MP4 2021-03-06 14:54:31 +01:00
INSTALL.md Add CMake option for building with ZLib 2021-03-29 20:21:59 +02:00
NEWS Version 1.12 2021-02-15 12:23:07 +01:00
README.md Update documentation for version 1.12.0 2021-02-15 10:37:11 +01:00
taglib-config.cmake Fix taglib-config for cross compiling (#998) 2021-03-06 14:52:25 +01:00
taglib-config.cmd.cmake Use GNUInstallDirs 2021-03-06 14:52:25 +01:00
taglib.pc.cmake Use GNUInstallDirs 2021-03-06 14:52:25 +01:00

TagLib

Build Status

TagLib Audio Metadata Library

https://taglib.org/

TagLib is a library for reading and editing the metadata of several popular audio formats. Currently it supports both ID3v1 and ID3v2 for MP3 files, Ogg Vorbis comments and ID3 tags in FLAC, MPC, Speex, WavPack, TrueAudio, WAV, AIFF, MP4, APE, and ASF files.

TagLib is distributed under the GNU Lesser General Public License (LGPL) and Mozilla Public License (MPL). Essentially that means that it may be used in proprietary applications, but if changes are made to TagLib they must be contributed back to the project. Please review the licenses if you are considering using TagLib in your project.