So I did some reading up on this, as it's clear there's a great deal of
confusion. This is what I found:

As I thought - the gapless info is NOT in an ID3 tag. It's stored in
the "XING VBR Header" which is a special header built into the start of
the data field (i.e. - it's embedded right in the data stream). I would
be _amazed_ if slimserver was somehow stripping this out, it's a lot of
work and any competent decoder (like the one in the squeezebox firmware)
will happily deal with it as is. So I really don't believe that any
significant change to the server/client protocol will be required, and
it's possible that no server change at all is required.

Description of the MP3 file format, including the location of the XING
header is here : http://www.codeproject.com/audio/mpegaudioinfo.asp

Description of the contents of that header, including the LAME
extensions, are here : http://gabriel.mp3-tech.org/mp3infotag.html

The whole problem arises from the fact that mp3 uses fixed length
frames, and variable length audio files will therefore rarely be an
exact number of frames long. This header fixes this by including both
the pregap (i.e. any 0 bytes which may be wrongly present at the start
of the first frame) and postgap (any 0 bytes at the end of the last
frame). Skipping both will lead to gapless nirvana. Other formats
(FLAC, Vorbis, etc) avoid this problem by using variable length frames
so no padding is required.

There are a number of apps out there which read these headers properly
- I know of Winamp, Foobar and iTunes in the Windows world (the NYT
link in an earlier post is out of date) and several portable players
including the Rio Karma and iPod (although it's not yet known if it
actually reads the headers itself or has iTunes do it first).


-- 
radish
------------------------------------------------------------------------
radish's Profile: http://forums.slimdevices.com/member.php?userid=77
View this thread: http://forums.slimdevices.com/showthread.php?t=27384

_______________________________________________
discuss mailing list
[email protected]
http://lists.slimdevices.com/lists/listinfo/discuss

Reply via email to