~ft/libtags

A cross-platform C library for reading audio tags
flac: parse seek table as toc
redo parts of the API to fit more tag-kind-specific info - attached image type

clone

read-only
https://git.sr.ht/~ft/libtags
read/write
git@git.sr.ht:~ft/libtags

You can also use your local clone with git send-email.

#libtags

A cross-platform library for reading audio tags, designed mainly for highly constrained environments.

Some features:

  • C, no memory allocations, no dependencies, portable, thread-safe
  • minimalistic API
  • MIT license
  • flac, ogg/vorbis, ogg/opus, m4a, mp3, wav
  • it, xm, s3m, mod
  • id3v1, id3v2.*
  • replay gain
  • number of channels, sampling/bit rate, duration (unless it's a mod-like format)
  • strings are converted to UTF-8 (from 437, ISO-8859-1 and UTF-16)
  • very fast

Fuzzing has been performed with AFL++.

#Usage

tags.h is the API which contains the documentation as well.

examples/readtags.c is a simple example that reads and prints out tags of the files specified on the command line.