mirror of
https://github.com/taglib/taglib.git
synced 2025-05-27 21:20:26 -04:00
When parsing mp4 media header version 1 (mdhd) atoms, the timescale (unit) is parsed as a `LongLong` (8 bytes), but instead should be a `UInt` (4 bytes). This results in an incorrect timescale, and also pushes the offset of the duration (length) off by 4 bytes. The end result being that the AudioProperties track length for mp4's with mdhd v1 comes back as 0. See: https://wiki.multimedia.cx/index.php/QuickTime_container | Entry | Bytes (v0) | Bytes (v1) | | :--- | :---: | :---: | | size | 4 | 4 | | type | 4 | 4 | | version | 1 | 1 | | flags | 3 | 3 | | creation time* | 4 | **8** | | modification time* | 4 | **8** | | time scale | 4 | 4 | | duration* | 4 | **8** | | language | 2 | 2 | | quality | 2 | 2 | |
||
---|---|---|
3rdparty/utf8-cpp | ||
bindings | ||
cmake/modules | ||
doc | ||
examples | ||
taglib | ||
tests | ||
.astylerc | ||
.editorconfig | ||
.gitignore | ||
.travis.yml | ||
AUTHORS | ||
cmake_uninstall.cmake.in | ||
CMakeLists.txt | ||
config.h.cmake | ||
ConfigureChecks.cmake | ||
COPYING.LGPL | ||
COPYING.MPL | ||
Doxyfile.cmake | ||
INSTALL.md | ||
NEWS | ||
README.md | ||
taglib-config.cmake | ||
taglib-config.cmd.cmake | ||
taglib.pc.cmake |
TagLib
TagLib Audio Metadata Library
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, DSF, DFF, 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.