Skip to content

sourrust/flac

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FLAC

Build Status

An implementation of FLAC, free lossless audio codec, written in Rust.

Documentation

Install

flac is on crates.io and can be included in your Cargo file like so:

[dependencies]

flac = "^0.5.0"

Followed by including it in you code:

extern crate flac;

Implementation Status

The status of this FLAC implementation:

Currently this project fully parses every FLAC file I've thrown at it and the decoder is working great for any file that has a bit sample size of 16 and before. This is based on the test suite I have on this project and the tests do fail when the bit sample size is larger than 16.

Now that I have the varied size integers, making the buffer allocation more efficient, I want to start on the encoding side of FLAC. It will be a bit slower as I am busy with work but that is a goal of the project for sure.

  • serialization
    • metadata
      • header
      • data
        • stream info
        • padding
        • application
        • seek table
        • vorbis comment
        • cuesheet
        • picture
        • unknown
    • frame
      • header
      • footer
      • sub-frame
        • header
        • constant
        • fixed
        • LPC
        • verbatim
  • encoder
    • frame
      • left side
      • right side
      • midpoint side
    • sub-frame
      • fixed
      • LPC