This package defines a FLAC encoder with a simple interface for enabling FLAC encoding support in an application. This class is appropriate for use in the case where you have raw pcm audio samples that you wish to encode. Currently, fixed-blocksize only is implemented, with the "Maximum Block Size" set in the StreamConfiguration object used as the actual block size.

To use this library, an application should primarily use the classes FLACEncoder, EncodingConfiguration, StreamConfiguration, and FLACOutputStream. If you're simply needing to encode a file(as opposed to a stream), you may use FLAC_FileEncoder.


An encoding process is simple, and should follow these steps:
1) Set StreamConfiguration to appropriate values. After a stream is opened, this must not be altered until the stream is closed.
2) Set FLACOutputStream, object to write results to.
3) Open FLAC Stream
4) Set EncodingConfiguration(if defaults are insufficient).
5) Add samples to encoder
6) Encode Samples
7) Close stream
(note: steps 4,5, and 6 may be done repeatedly, in any order. However, see related method documentation for info on concurrent use)