|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.farng.mp3.AbstractMP3FileItem org.farng.mp3.AbstractMP3FragmentBody org.farng.mp3.id3.AbstractID3v2FrameBody org.farng.mp3.id3.FrameBodyCRM
This frame contains one or more encrypted frames. This enables protection of copyrighted information such as pictures and text, that people might want to pay extra for. Since standardisation of such an encryption scheme is beyond this document, all "CRM" frames begin with a terminated string with a URL containing an email address, or a link to a location where an email adress can be found, that belongs to the organisation responsible for this specific encrypted meta frame.
Questions regarding the encrypted frame should be sent to the indicated email address. If a $00 is found directly after the 'Frame size', the whole frame should be ignored, and preferably be removed. The 'Owner identifier' is then followed by a short content description and explanation as to why it's encrypted. After the 'content/explanation' description, the actual encrypted block follows.
When an ID3v2 decoder encounters a "CRM" frame, it should send the datablock to the 'plugin' with the corresponding 'owner identifier' and expect to receive either a datablock with one or several ID3v2 frames after each other or an error. There may be more than one "CRM" frames in a tag, but only one with the same 'owner identifier'.
Encrypted meta frame | "CRM" | |
Frame size | $xx xx xx | |
Owner identifier | <textstring> $00 (00) | |
Content/explanation | <textstring> $00 (00) | |
Encrypted datablock | <binary data> |
Constructor Summary | |
FrameBodyCRM()
Creates a new FrameBodyCRM object. |
|
FrameBodyCRM(FrameBodyCRM body)
Creates a new FrameBodyCRM object. |
|
FrameBodyCRM(java.io.RandomAccessFile file)
Creates a new FrameBodyCRM object. |
|
FrameBodyCRM(java.lang.String owner,
java.lang.String description,
byte[] data)
Creates a new FrameBodyCRM object. |
Method Summary | |
java.lang.String |
getIdentifier()
ID string that usually corresponds to the class name, but can be displayed to the user. |
java.lang.String |
getOwner()
|
void |
getOwner(java.lang.String description)
|
protected void |
setupObjectList()
Create the order of MP3Object objects that this body expects. |
Methods inherited from class org.farng.mp3.id3.AbstractID3v2FrameBody |
equals, readHeader, writeHeader |
Methods inherited from class org.farng.mp3.AbstractMP3FragmentBody |
appendToObjectList, getBriefDescription, getDescription, getObject, getObjectListIterator, getSize, has6ByteHeader, isSubsetOf, iterator, read, setObject, toString, write |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public FrameBodyCRM()
public FrameBodyCRM(FrameBodyCRM body)
public FrameBodyCRM(java.lang.String owner, java.lang.String description, byte[] data)
public FrameBodyCRM(java.io.RandomAccessFile file) throws java.io.IOException, InvalidTagException
Method Detail |
public java.lang.String getIdentifier()
AbstractMP3FileItem
getIdentifier
in class AbstractMP3FileItem
public java.lang.String getOwner()
public void getOwner(java.lang.String description)
protected void setupObjectList()
AbstractMP3FragmentBody
MP3Object
objects that this body expects. This method needs to be overwritten.
setupObjectList
in class AbstractMP3FragmentBody
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |