org.jaudiotagger.tag.id3.framebody
Class FrameBodyAENC
java.lang.Object
org.jaudiotagger.tag.id3.AbstractTagItem
org.jaudiotagger.tag.id3.AbstractTagFrameBody
org.jaudiotagger.tag.id3.framebody.AbstractID3v2FrameBody
org.jaudiotagger.tag.id3.framebody.FrameBodyAENC
- All Implemented Interfaces:
- ID3v23FrameBody, ID3v24FrameBody
public class FrameBodyAENC
- extends AbstractID3v2FrameBody
- implements ID3v24FrameBody, ID3v23FrameBody
Audio encryption Frame.
This frame indicates if the actual audio stream is encrypted, and by
whom. Since standardisation of such encrypion scheme is beyond this
document, all "AENC" frames begin with a terminated string with a
URL containing an email address, or a link to a location where an
email address can be found, that belongs to the organisation
responsible for this specific encrypted audio file. Questions
regarding the encrypted audio should be sent to the email address
specified. If a $00 is found directly after the 'Frame size' and the
audiofile indeed is encrypted, the whole file may be considered
useless.
After the 'Owner identifier', a pointer to an unencrypted part of the
audio can be specified. The 'Preview start' and 'Preview length' is
described in frames. If no part is unencrypted, these fields should
be left zeroed. After the 'preview length' field follows optionally a
datablock required for decryption of the audio. There may be more
than one "AENC" frames in a tag, but only one with the same 'Owner
identifier'.
<Header for 'Audio encryption', ID: "AENC"> |
Owner identifier | <text string> $00 |
Preview start | $xx xx |
Preview length | $xx xx |
Encryption info | <binary data> |
For more details, please refer to the ID3 specifications:
- Version:
- $Id: FrameBodyAENC.java,v 1.15 2009/11/12 13:25:21 paultaylor Exp $
- Author:
- : Paul Taylor, : Eric Farng
Constructor Summary |
FrameBodyAENC()
Creates a new FrameBodyAENC datatype. |
FrameBodyAENC(java.nio.ByteBuffer byteBuffer,
int frameSize)
Creates a new FrameBodyAENC datatype. |
FrameBodyAENC(FrameBodyAENC body)
|
FrameBodyAENC(java.lang.String owner,
short previewStart,
short previewLength,
byte[] data)
Creates a new FrameBodyAENC datatype. |
Method Summary |
java.lang.String |
getIdentifier()
The ID3v2 frame identifier |
java.lang.String |
getOwner()
|
void |
getOwner(java.lang.String description)
|
protected void |
setupObjectList()
Create the list of Datatypes that this body
expects in the correct order This method needs to be implemented by concrete subclasses |
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 |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
FrameBodyAENC
public FrameBodyAENC()
- Creates a new FrameBodyAENC datatype.
FrameBodyAENC
public FrameBodyAENC(FrameBodyAENC body)
FrameBodyAENC
public FrameBodyAENC(java.lang.String owner,
short previewStart,
short previewLength,
byte[] data)
- Creates a new FrameBodyAENC datatype.
- Parameters:
owner
- previewStart
- previewLength
- data
-
FrameBodyAENC
public FrameBodyAENC(java.nio.ByteBuffer byteBuffer,
int frameSize)
throws InvalidTagException
- Creates a new FrameBodyAENC datatype.
- Parameters:
byteBuffer
- frameSize
-
- 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:
- owner
getOwner
public void getOwner(java.lang.String description)
- Parameters:
description
-
setupObjectList
protected void setupObjectList()
- Description copied from class:
AbstractTagFrameBody
- Create the list of Datatypes that this body
expects in the correct order This method needs to be implemented by concrete subclasses
- Specified by:
setupObjectList
in class AbstractTagFrameBody