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

FrameBodyMCDI

public class FrameBodyMCDI extends AbstractID3v2FrameBody implements ID3v24FrameBody, ID3v23FrameBody
Music CD identifier frame.

This frame is intended for music that comes from a CD, so that the CD can be identified in databases such as the CDDB. The frame consists of a binary dump of the Table Of Contents, TOC, from the CD, which is a header of 4 bytes and then 8 bytes/track on the CD plus 8 bytes for the 'lead out' making a maximum of 804 bytes. The offset to the beginning of every track on the CD should be described with a four bytes absolute CD-frame address per track, and not with absolute time. This frame requires a present and valid "TRCK" frame, even if the CD's only got one track. There may only be one "MCDI" frame in each tag.

<Header for 'Music CD identifier', ID: "MCDI">
CD TOC<binary data>

For more details, please refer to the ID3 specifications:

author
: Paul Taylor
author
: Eric Farng
version
$Id: FrameBodyMCDI.java 832 2009-11-12 13:25:38Z paultaylor $

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

        this.setObjectValue(DataTypes.OBJ_DATA, new byte[0]);
    
public FrameBodyMCDI(FrameBodyMCDI body)

        super(body);
    
public FrameBodyMCDI(byte[] cdTOC)
Creates a new FrameBodyMCDI datatype.

param
cdTOC

        this.setObjectValue(DataTypes.OBJ_DATA, cdTOC);
    
public FrameBodyMCDI(ByteBuffer byteBuffer, int frameSize)
Creates a new FrameBodyMCDI datatype.

param
byteBuffer
param
frameSize
throws
InvalidTagException if unable to create framebody from buffer

        super(byteBuffer, frameSize);
    
Methods Summary
public java.lang.StringgetIdentifier()
The ID3v2 frame identifier

return
the ID3v2 frame identifier for this frame type

        return ID3v24Frames.FRAME_ID_MUSIC_CD_ID;
    
protected voidsetupObjectList()

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