Enabling MP3 support in vlc

Jean-Paul Saman saman at natlab.research.philips.com
Tue Feb 5 15:45:14 CET 2002


Christophe Massiot wrote:

> À (At) 23:02 +0100 3/02/02, Jean-Paul Saman écrivait (wrote) :
> 
>> Almost every mp3 file is built up of IDv3 tags and MPEG frames. It
>> starts with "ID3" followed by approximately 96 bytes of header data (see
>> www.id3.org). This information is only of interest to audio players and
>> user interfaces in general.
>>
>> The so called ID3 tags are only found at the begining and the end of an
>> mp3 file. They provide title, author and could even contain song lyrics.
>> In short nothing to do with the decoder.
> 
> 
> This is quite interesting. Does libmad provide functions to parse the 
> ID3 tags ? Are the tags always at the end of the file (how do you do 
> then when you stream mp3 ?) ?
> 

Libmad itself does not. In the mad tar (found at 
http://www.mars.org/home/rob/proj/mpeg/) there is a library called 
libid3tag (see http://www.id3.org/) that does. A citaat from mad- site:

"The software is distributed as a library (libmad) and command-line 
front-end (madplay). Also included is a new ID3 tag manipulation library 
(libid3tag)."


>> Where do you exactly detect that a stream is of type MPEG1_AUDIO_ES?
>> There should audio layer III be detected along side layer I and II in
>> SelectES file input_programs. Which variable in p_es tells it the data
>> is one of the layers? And in which code is that detected?
> 
> 
> Don't confuse things. MPEG1_AUDIO_ES == MPEG-1 (ISO/IEC 11172-3), 
> MPEG2_AUDIO_ES == MPEG-2 (ISO/IEC 13818-3), there is absolutely NO 
> notion of layer in this. For a simple reason : the input layer can't 
> tell the layer of the audio stream without looking inside, that's the 
> job of the decoder.
> 
> What will probably happen in the long run is that libmad will always be 
> used, so we don't need to indicate that layer (libmad can read all layers).
> 
So if I strip of this information in an input module (or somewhere else), 

then selectES in input_programs.c should do nothing more then let it pass?

Or am I missing  a point here?


-- 
Kind greetings,

Jean-Paul Saman

Software Architect

e-mail (work): saman at natlab.research.philips.com
phone  (work): 040 27 42909
------------------------------------------------------------
Ordina TA,
Science Park Eindhoven 5602, Postbus 293, 5600 AG Eindhoven
e-mail : jean-paul.saman at ordina.nl
phone  : 040 2601200
fax    : 040 2601199


-- 
This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://www.videolan.org/lists.html



More information about the vlc-devel mailing list