mirror of
https://github.com/taglib/taglib.git
synced 2026-08-14 06:17:00 -04:00
e37ee8498f4a04dc0c21e1e90bf6a7132f16458d
A trak may hold at most one tref. setQtChapters() appended a second one for the chap reference instead of joining the atom already present, which happens whenever the audio track references another track -- a timecode track, as in camera recordings. Parsers differ on the result: the lenient keep reading the track, the strict discard it entirely. A file written this way therefore still reads correctly in TagLib while presenting as having no audio elsewhere, and anything that remuxes it from a stricter parser's track list writes an audioless copy back to disk. Removal follows the same rule inverted: only the chap box is taken out when the tref is shared, and the tref itself goes only when chap was its sole child. It also now looks for the tref that actually contains chap rather than the first one on the track, so a file already carrying two is repaired rather than stripped of the wrong reference.
TagLib
TagLib Audio Metadata Library
TagLib is a library for reading and editing the metadata of several popular audio formats. Currently, it supports various metadata containers such as ID3v1, ID3v2 and Vorbis comments for MP3, MP4, AAC, Ogg, Opus, FLAC, Speex, APE, MPC, WavPack, WAV, AIFF, TrueAudio, Matroska, WebM, ASF, WMA, DSF, DFF and tracker (MOD, XM, S3M, IT) 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.
Languages
C++
96.7%
CMake
2%
C
0.9%
Logos
0.4%