org.jaudiotagger.tag.id3.framebody
Class FrameBodyAENC

java.lang.Object
  extended by org.jaudiotagger.tag.id3.AbstractTagItem
      extended by org.jaudiotagger.tag.id3.AbstractTagFrameBody
          extended by org.jaudiotagger.tag.id3.framebody.AbstractID3v2FrameBody
              extended by 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

Field Summary
 
Fields inherited from class org.jaudiotagger.tag.id3.framebody.AbstractID3v2FrameBody
TYPE_BODY
 
Fields inherited from class org.jaudiotagger.tag.id3.AbstractTagFrameBody
objectList
 
Fields inherited from class org.jaudiotagger.tag.id3.AbstractTagItem
logger
 
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.framebody.AbstractID3v2FrameBody
createStructure, equals, getSize, read, setSize, setSize, write
 
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
 

Constructor Detail

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
Method Detail

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