2 \mainpage libmusepack documentation
4 \section whats what is libmusepack
5 libmusepack is a library that decodes musepack compressed audio data. Musepack
6 is a free, high performance, high quality lossy audio compression codec. For
7 more information on musepack visit http://www.musepack.net.
9 \section using using libmusepack
11 Using libmusepack is very straightforward. There are typically four things you must
12 do to use libmusepack in your application.
14 \subsection step1 step 1: implement an mpc_reader to provide raw data to the decoder library
15 The role of the mpc_reader is to provide raw mpc stream data to the mpc decoding library.
16 This data can come from a file, a network socket, or any other source you wish.
18 See the documentation of
19 \link mpc_reader_t mpc_reader \endlink
22 \subsection step2 step2: read the streaminfo properties structure from the stream
23 This is a simple matter of calling the streaminfo_init() and streaminfo_read() functions,
24 supplying your mpc_reader as a source of raw data. This reads the stream properties header from the
25 mpc stream. This information will be used to prime the decoder for decoding in
28 \subsection step3 step 3: initialize an mpc_decoder with your mpc_reader source
29 This is just a matter of calling the mpc_decoder_setup() and mpc_decoder_initialize()
30 functions with your mpc_decoder, mpc_reader data source and streaminfo information.
32 \subsection step4 step 4: iteratively read raw sample data from the mpc decoder
33 Once you've initialized the decoding library you just iteratively call the
34 mpc_decoder_decode routine until it indicates that the entire stream has been read.
36 For a simple example of all of these steps see the sample application distributed with
37 libmusepack in src/sample.cpp.