Expand description
A library for reading, writing, and editing the metadata of FLAC-formatted audio files.
§What Is FLAC?
FLAC is the Free Lossless Audio Codec, a popular audio codec which losslessly compresses audio such that the original data can always be restored.
Its notable qualities include:
- Broad support on a wide array of players and devices
- A design that allows for extremely fast decoding speed
- Metadata support for text and images (e.g. cover artwork)
- Data integrity checks including checksummed input and hashed output
§What Can This Crate Do?
Intended to provide comprehensive support for the FLAC format, this crate allows the user to:
- Read and edit FLAC file metadata, via the
metadatamodule - Decode FLAC files to PCM samples or bytes, via the
decodemodule - Verify FLAC files for correctness via the
decode::verifyfunction - Encode FLAC files from PCM samples or bytes, via the
encodemodule - Analyze the raw structure of FLAC frames, via the
streammodule
It is based heavily on the official FLAC specification (RFC 9639) and verified against the reference implementation.
Check the examples/ directory in the source code
repository for several examples of using this crate for common
FLAC management tasks.
Modules§
- byteorder
- Byte order for PCM samples
- decode
- For decoding FLAC files to PCM samples
- encode
- For encoding PCM samples to FLAC files
- metadata
- For handling a FLAC file’s metadata blocks
- stream
- For handling common FLAC stream items
Enums§
- Error
- A unified FLAC error