ad17fd4747
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6276 a1c6a512-1295-4272-9138-f99709370657
38 lines
1.8 KiB
C
38 lines
1.8 KiB
C
/**
|
|
\mainpage libmusepack documentation
|
|
|
|
\section whats what is libmusepack
|
|
libmusepack is a library that decodes musepack compressed audio data. Musepack
|
|
is a free, high performance, high quality lossy audio compression codec. For
|
|
more information on musepack visit http://www.musepack.net.
|
|
|
|
\section using using libmusepack
|
|
|
|
Using libmusepack is very straightforward. There are typically four things you must
|
|
do to use libmusepack in your application.
|
|
|
|
\subsection step1 step 1: implement an mpc_reader to provide raw data to the decoder library
|
|
The role of the mpc_reader is to provide raw mpc stream data to the mpc decoding library.
|
|
This data can come from a file, a network socket, or any other source you wish.
|
|
|
|
See the documentation of
|
|
\link mpc_reader_t mpc_reader \endlink
|
|
for more information.
|
|
|
|
\subsection step2 step2: read the streaminfo properties structure from the stream
|
|
This is a simple matter of calling the streaminfo_init() and streaminfo_read() functions,
|
|
supplying your mpc_reader as a source of raw data. This reads the stream properties header from the
|
|
mpc stream. This information will be used to prime the decoder for decoding in
|
|
the next step.
|
|
|
|
\subsection step3 step 3: initialize an mpc_decoder with your mpc_reader source
|
|
This is just a matter of calling the mpc_decoder_setup() and mpc_decoder_initialize()
|
|
functions with your mpc_decoder, mpc_reader data source and streaminfo information.
|
|
|
|
\subsection step4 step 4: iteratively read raw sample data from the mpc decoder
|
|
Once you've initialized the decoding library you just iteratively call the
|
|
mpc_decoder_decode routine until it indicates that the entire stream has been read.
|
|
|
|
For a simple example of all of these steps see the sample application distributed with
|
|
libmusepack in src/sample.cpp.
|
|
*/
|