FileDocCategorySizeDatePackage
FrameBodyMLLT.javaAPI DocJaudiotagger 2.0.44194Wed Mar 30 16:12:02 BST 2011org.jaudiotagger.tag.id3.framebody

FrameBodyMLLT

public class FrameBodyMLLT extends AbstractID3v2FrameBody implements ID3v24FrameBody, ID3v23FrameBody
MPEG location lookup table frame.

To increase performance and accuracy of jumps within a MPEG audio file, frames with timecodes in different locations in the file might be useful. The ID3v2 frame includes references that the software can use to calculate positions in the file. After the frame header is a descriptor of how much the 'frame counter' should increase for every reference. If this value is two then the first reference points out the second frame, the 2nd reference the 4th frame, the 3rd reference the 6th frame etc. In a similar way the 'bytes between reference' and 'milliseconds between reference' points out bytes and milliseconds respectively.

Each reference consists of two parts; a certain number of bits, as defined in 'bits for bytes deviation', that describes the difference between what is said in 'bytes between reference' and the reality and a certain number of bits, as defined in 'bits for milliseconds deviation', that describes the difference between what is said in 'milliseconds between reference' and the reality. The number of bits in every reference, i.e. 'bits for bytes deviation'+'bits for milliseconds deviation', must be a multiple of four. There may only be one "MLLT" frame in each tag.

<Header for 'Location lookup table', ID: "MLLT">
MPEG frames between reference$xx xx
Bytes between reference$xx xx xx
Milliseconds between reference$xx xx xx
Bits for bytes deviation$xx
Bits for milliseconds dev.$xx

Then for every reference the following data is included;

Deviation in bytes%xxx....
Deviation in milliseconds%xxx....

For more details, please refer to the ID3 specifications:

author
: Paul Taylor
author
: Eric Farng
version
$Id: FrameBodyMLLT.java 520 2008-01-01 15:16:38Z paultaylor $

Fields Summary
Constructors Summary
public FrameBodyMLLT()
Creates a new FrameBodyMLLT datatype.

    
public FrameBodyMLLT(FrameBodyMLLT body)

        super(body);
    
Methods Summary
public java.lang.StringgetIdentifier()
The ID3v2 frame identifier

return
the ID3v2 frame identifier for this frame type

        return ID3v24Frames.FRAME_ID_MPEG_LOCATION_LOOKUP_TABLE;
    
protected voidsetupObjectList()
TODO:proper mapping

        objectList.add(new ByteArraySizeTerminated(DataTypes.OBJ_DATA, this));