org.jaudiotagger.tag.id3.framebody
Class FrameBodyCRM
java.lang.Object
org.jaudiotagger.tag.id3.AbstractTagItem
org.jaudiotagger.tag.id3.AbstractTagFrameBody
org.jaudiotagger.tag.id3.framebody.AbstractID3v2FrameBody
org.jaudiotagger.tag.id3.framebody.FrameBodyCRM
- All Implemented Interfaces:
- ID3v22FrameBody
public class FrameBodyCRM
- extends AbstractID3v2FrameBody
- implements ID3v22FrameBody
Encrypted meta frame
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 [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 $00 (00)
Content/explanation $00 (00)
Encrypted datablock
Constructor Summary |
FrameBodyCRM()
Creates a new FrameBodyCRM datatype. |
FrameBodyCRM(java.nio.ByteBuffer byteBuffer,
int frameSize)
Creates a new FrameBodyCRM datatype. |
FrameBodyCRM(FrameBodyCRM body)
|
FrameBodyCRM(java.lang.String owner,
java.lang.String description,
byte[] data)
Creates a new FrameBodyCRM datatype. |
Method Summary |
java.lang.String |
getIdentifier()
The ID3v2 frame identifier |
java.lang.String |
getOwner()
|
void |
getOwner(java.lang.String description)
|
Methods inherited from class org.jaudiotagger.tag.id3.AbstractTagFrameBody |
getBriefDescription, getHeader, getLongDescription, getObject, getObjectValue, getTextEncoding, isSubsetOf, iterator, setHeader, setObjectValue, setTextEncoding, toString |
Methods inherited from class java.lang.Object |
getClass, hashCode, notify, notifyAll, wait, wait, wait |
FrameBodyCRM
public FrameBodyCRM()
- Creates a new FrameBodyCRM datatype.
FrameBodyCRM
public FrameBodyCRM(FrameBodyCRM body)
FrameBodyCRM
public FrameBodyCRM(java.lang.String owner,
java.lang.String description,
byte[] data)
- Creates a new FrameBodyCRM datatype.
- Parameters:
owner
- description
- data
-
FrameBodyCRM
public FrameBodyCRM(java.nio.ByteBuffer byteBuffer,
int frameSize)
throws InvalidTagException
- Creates a new FrameBodyCRM datatype.
- Throws:
InvalidTagException
- if unable to create framebody from buffer
getIdentifier
public java.lang.String getIdentifier()
- The ID3v2 frame identifier
- Specified by:
getIdentifier
in class AbstractID3v2FrameBody
- Returns:
- the ID3v2 frame identifier for this frame type
getOwner
public java.lang.String getOwner()
- Returns:
getOwner
public void getOwner(java.lang.String description)
- Parameters:
description
-