[LAD] Decode and Info about media

Robin Gareus robin at gareus.org
Mon Apr 18 10:48:25 UTC 2011


On 04/18/2011 12:22 PM, Alfs Kurmis wrote:
> 
>  Hello Experts.
>  Is here library with C  #include headers for so what ?
>  How can i gotta info about  Wav, mp3, ogg, m4a, wma [wmv] ... files
>  SampleRate, Channels, PlayLen( in samples ), bytesPerSample ,
>  bitrate, VBR ... ,
>  and after i gotta this info , decode em to RAW stream ?
>  At least i need everything about Wav, mp3, ogg.
>  Info about sound file should not  be printf()'ed to stdout , but must
>  be filled in info structure.
>    Decoder library should have functions - loadFile, Play,
>  SeekToSample , Stop.
>  At least possibility - play file from sample or second.part .
>  Or should be used 2 libs, one for gotta info and one for decoding ?
>  Any C example and pointer welcomed.
>    Tnx in advance @ all.
>  Alfs Kurmis

libavformat from ffmpeg [1]; see `ffprobe` for example-code to get info
and libavcodec for playback, it can do all that you want and will
read/play any file you throw at it.

gavl/gmerlin [2] offers an easier-to-use wrapper around ffmpeg libs.

gstreamer (actually libgstreamer) [3] is another option.

libsndfile [4] is very easy to use and well designed, but has no support
for mp3, wma, m4a or other proprietary/license-encumbered formats.

All of the above are available on most GNU/Linux distributions.

[1] http://ffmpeg.org/
[2] http://gmerlin.sourceforge.net/
[2] http://gstreamer.freedesktop.org/
[4] http://www.mega-nerd.com/libsndfile/

HTH,
robin

PS. another option is to use many small libs directly: libmad,
libsndfile, libogg, libquicktime,... but gmerlin/gavl conveniently wraps
those.



More information about the Linux-audio-dev mailing list