summaryrefslogtreecommitdiffstats
path: root/apps/codecs/libmusepack/mainpage.h
blob: a51174aa3a578a3602ca0c1f709f98e52a6b1681 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/**
   \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.
*/