mirror of
https://github.com/taglib/taglib.git
synced 2026-08-14 06:17:00 -04:00
2a5fc12b6860649362dab7813374febf7004c513
Adds MP4::Properties::Codec enum values AC3, EAC3, FLAC, DTS, Opus and a MP4::Properties::codecId() method. Parse high-res FLAC bitrate from MP4 dfLa box. Parse E-AC-3 bitrate from MP4 dec3 box. The test files were generated using ffmpeg: ffmpeg -hide_banner -y -f lavfi \ -i "sine=frequency=440:sample_rate=48000:duration=1" \ -c:a flac -ac 2 -flags +bitexact -fflags +bitexact \ -metadata:s:a:0 encoder= -metadata encoder= \ -f mp4 tests/data/flac.m4a ffmpeg -hide_banner -y -f lavfi \ -i "sine=frequency=440:sample_rate=48000:duration=1" \ -c:a libopus -ac 2 -flags +bitexact -fflags +bitexact \ -metadata:s:a:0 encoder= -metadata encoder= \ -f mp4 tests/data/opus.m4a ffmpeg -hide_banner -y -f lavfi \ -i "sine=frequency=440:sample_rate=48000:duration=1" \ -c:a ac3 -b:a 128k -ac 2 -strict experimental \ -flags +bitexact -fflags +bitexact \ -metadata:s:a:0 encoder= -metadata encoder= \ -f mp4 tests/data/ac3.m4a ffmpeg -hide_banner -y -f lavfi \ -i "sine=frequency=440:sample_rate=48000:duration=1" \ -c:a eac3 -b:a 128k -ac 2 -strict experimental \ -flags +bitexact -fflags +bitexact \ -metadata:s:a:0 encoder= -metadata encoder= \ -f mp4 tests/data/eac3.m4a ffmpeg -hide_banner -y -f lavfi \ -i "sine=frequency=440:sample_rate=96000:duration=1" \ -c:a flac -sample_fmt s32 -ac 2 -flags +bitexact -fflags +bitexact \ -metadata:s:a:0 encoder= -metadata encoder= \ -f mp4 tests/data/flac96.m4a
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%