Ryan FrancesconiandGitHub bdfeb82cbe MP4: Cover the leading QuickTime placeholder chapter with an empty edit (#1473)
QuickTime chapter samples run back to back from media time 0, so when the
first chapter starts after 0, QtChapterList::write() prepends an untitled
placeholder sample to keep the absolute start times.  TagLib's own reader
strips it again, but the chapter track's edit list played the whole media
from time 0, so AVFoundation and ffmpeg listed the placeholder as an
untitled first chapter.

The edit list now begins with an empty edit spanning the placeholder,
followed by the media from the first written chapter.  The placeholder
sample is kept, so readers which ignore edit lists see the same chapters
as before.  A list starting at 0 still gets a single edit.

testQTChapterListNonZeroFirstChapterEditList writes chapters at 1 s and
2 s and checks the chapter track's elst: an empty edit (media time -1) of
one second in the mvhd timescale, then the remaining duration from media
time one second.  It also checks that a list starting at 0 gets a single
edit from media time 0, and that qtChapters() reads back exactly the
written chapters in both cases.
2026-10-28 17:37:46 +01:00
2026-09-05 06:17:23 +02:00
2022-10-24 07:06:23 +02:00
2015-05-18 11:31:55 +02:00
2023-10-08 05:58:33 +02:00
2023-09-16 08:41:01 +02:00
2026-09-05 06:17:23 +02:00
2026-08-27 17:39:35 +02:00
2024-01-04 17:18:23 +01:00
2026-02-18 05:15:14 +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 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.

S
Description
No description provided
Readme
16 MiB
Languages
C++ 96.6%
CMake 1.8%
C 0.8%
Python 0.5%
Logos 0.3%