Crate flac_codec

Crate flac_codec 

Source
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 metadata module
  • Decode FLAC files to PCM samples or bytes, via the decode module
  • Verify FLAC files for correctness via the decode::verify function
  • Encode FLAC files from PCM samples or bytes, via the encode module
  • Analyze the raw structure of FLAC frames, via the stream module

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