edu.harvard.hul.ois.jhove
Class AESAudioMetadata

java.lang.Object
  extended by edu.harvard.hul.ois.jhove.AESAudioMetadata

public class AESAudioMetadata
extends java.lang.Object

Encapsulation of the AES Metadata for Audio documents

Author:
Gary McGath

Nested Class Summary
static interface AESAudioMetadata.Face
          Public interface to the nested Face object.
static interface AESAudioMetadata.FaceRegion
          Public interface to the nested FaceRegion object.
static interface AESAudioMetadata.FormatRegion
          Public interface to the nested FormatRegion object.
static interface AESAudioMetadata.TimeDesc
          Public interface to the nested TimeDesc object.
 
Field Summary
static java.lang.String[] A_D
          Analog / digital labels.
static int BIG_ENDIAN
          Big-endian constant.
static java.lang.String FILE_NAME
          Values for primary identifier type
static int LITTLE_ENDIAN
          Little-endian constant.
static double NILL
          Constant for an undefined floating-point value.
static int NULL
          Constant for an undefined integer value.
static java.lang.String OTHER
          Values for primary identifier type
static java.lang.String SCHEMA_VERSION
          Constant value for the SchemaVersion field
 
Constructor Summary
AESAudioMetadata()
          Instantiate a NisoImageMetadata object.
 
Method Summary
 void addFace()
          Adds a Face.
 void addFormatRegion()
          Adds a FormatRegion object to a FormatSize list.
 void clearBitrateReduction()
          Set the bitrate reduction information to null (no compression).
 java.lang.String getAnalogDigitalFlag()
          Returns analog/digital flag.
 java.lang.String getAppSpecificData()
          Returns application-specific data.
 java.lang.String getAudioDataEncoding()
          Returns audio data encoding.
 java.lang.String[] getBitrateReduction()
          Returns the bitrate reduction (compression information).
 int getByteOrder()
          Return the byte order: 0 = big-endian; 1 = little-endian.
 java.lang.String getDisposition()
          Returns disposition.
 java.util.List getFaceList()
          Gets the list of Faces.
 long getFirstSampleOffset()
          Return the offset of the first byte of sample data.
 java.lang.String getFormat()
          Returns format name.
 java.util.List getFormatList()
          Gets the list of Format Regions.
 java.lang.String[] getMapLocations()
          Returns the names of the map locations.
 int getNumChannels()
          Returns number of channels.
 java.lang.String getPrimaryIdentifier()
          Returns primary identifier.
 java.lang.String getPrimaryIdentifierType()
          Returns primary identifier type.
 double getSampleRate()
           
 java.lang.String getSchemaVersion()
          Returns schema version.
 java.lang.String getSpecificationVersion()
          Returns specification version of the document format.
 java.lang.String[] getUse()
          Returns the use (role of the document).
 void setAnalogDigitalFlag(java.lang.String flagType)
          Sets the analog/digital flag.
 void setAppSpecificData(java.lang.String data)
          Set the application-specific data.
 void setAudioDataEncoding(java.lang.String audioDataEncoding)
          Sets the audio data encoding.
 void setBitDepth(int bitDepth)
          Sets the bit depth.
 void setBitrateReduction(java.lang.String codecName, java.lang.String codecNameVersion, java.lang.String codecCreatorApplication, java.lang.String codecCreatorApplicationVersion, java.lang.String codecQuality, java.lang.String dataRate, java.lang.String dataRateMode)
          Sets the bitrate reduction (compression type).
 void setByteOrder(int order)
          Sets the byte order.
 void setByteOrder(java.lang.String order)
          Sets the byte order.
 void setDirection(java.lang.String direction)
          Sets the direction.
 void setDisposition(java.lang.String disposition)
          Sets the disposition.
 void setDuration(long duration)
          Sets the duration in samples.
 void setFirstSampleOffset(long offset)
          Sets the offset of the first byte of sample data.
 void setFormat(java.lang.String format)
          Sets the format name.
 void setMapLocations(java.lang.String[] locations)
          Sets the array of channel map locations.
 void setNumChannels(int numChannels)
          Sets the number of channels.
 void setOtherPrimaryIdentifierType(java.lang.String otherType)
          Sets the primary identifier type as "OTHER", and set the otherType.
 void setPrimaryIdentifier(java.lang.String primaryIdentifier)
          Sets the primary identifier.
 void setPrimaryIdentifierType(java.lang.String primaryIdentifierType)
          Sets the primary identifier type.
 void setSampleRate(double sampleRate)
          Sets the sample rate.
 void setSpecificationVersion(java.lang.String specificationVersion)
          Sets the specification version of the document format.
 void setStartTime(long samples)
          Sets the start time in samples.
 void setUse(java.lang.String useType, java.lang.String otherType)
          Sets the role of the document.
 void setWordSize(int wordSize)
          Sets the word size.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BIG_ENDIAN

public static final int BIG_ENDIAN
Big-endian constant.

See Also:
Constant Field Values

LITTLE_ENDIAN

public static final int LITTLE_ENDIAN
Little-endian constant.

See Also:
Constant Field Values

A_D

public static final java.lang.String[] A_D
Analog / digital labels.


FILE_NAME

public static final java.lang.String FILE_NAME
Values for primary identifier type

See Also:
Constant Field Values

OTHER

public static final java.lang.String OTHER
Values for primary identifier type

See Also:
Constant Field Values

NULL

public static final int NULL
Constant for an undefined integer value.

See Also:
Constant Field Values

NILL

public static final double NILL
Constant for an undefined floating-point value.

See Also:
Constant Field Values

SCHEMA_VERSION

public static final java.lang.String SCHEMA_VERSION
Constant value for the SchemaVersion field

See Also:
Constant Field Values
Constructor Detail

AESAudioMetadata

public AESAudioMetadata()
Instantiate a NisoImageMetadata object.

Method Detail

getAnalogDigitalFlag

public java.lang.String getAnalogDigitalFlag()
Returns analog/digital flag. Value will always be "FILE_DIGITAL" in practice.


getAppSpecificData

public java.lang.String getAppSpecificData()
Returns application-specific data. We assume this is representable in String format.


getAudioDataEncoding

public java.lang.String getAudioDataEncoding()
Returns audio data encoding.


getBitrateReduction

public java.lang.String[] getBitrateReduction()
Returns the bitrate reduction (compression information). This will be an array of seven strings (which may be empty, but should never be null) interpreted as follows:


getSampleRate

public double getSampleRate()

getByteOrder

public int getByteOrder()
Return the byte order: 0 = big-endian; 1 = little-endian.


getDisposition

public java.lang.String getDisposition()
Returns disposition.


getFaceList

public java.util.List getFaceList()
Gets the list of Faces. Normally there will be only one face in a digital file.


getFirstSampleOffset

public long getFirstSampleOffset()
Return the offset of the first byte of sample data.


getFormat

public java.lang.String getFormat()
Returns format name.


getFormatList

public java.util.List getFormatList()
Gets the list of Format Regions. Since one is created automatically on initialization, it's possible that the list will contain a Format Region with only default values. This should be checked with isEmpty ().


getMapLocations

public java.lang.String[] getMapLocations()
Returns the names of the map locations. The returned value is an array whose length equals the number of channels and whose elements correspond to channels 0, 1, etc.


getNumChannels

public int getNumChannels()
Returns number of channels.


getPrimaryIdentifier

public java.lang.String getPrimaryIdentifier()
Returns primary identifier.


getPrimaryIdentifierType

public java.lang.String getPrimaryIdentifierType()
Returns primary identifier type.


getSchemaVersion

public java.lang.String getSchemaVersion()
Returns schema version.


getSpecificationVersion

public java.lang.String getSpecificationVersion()
Returns specification version of the document format.


getUse

public java.lang.String[] getUse()
Returns the use (role of the document). The value returned is an array of two strings, the useType and the otherType.


setAnalogDigitalFlag

public void setAnalogDigitalFlag(java.lang.String flagType)
Sets the analog/digital flag. The value set should always be "FILE_DIGITAL".


setBitrateReduction

public void setBitrateReduction(java.lang.String codecName,
                                java.lang.String codecNameVersion,
                                java.lang.String codecCreatorApplication,
                                java.lang.String codecCreatorApplicationVersion,
                                java.lang.String codecQuality,
                                java.lang.String dataRate,
                                java.lang.String dataRateMode)
Sets the bitrate reduction (compression type).


clearBitrateReduction

public void clearBitrateReduction()
Set the bitrate reduction information to null (no compression).


setByteOrder

public void setByteOrder(int order)
Sets the byte order.

Parameters:
order - Byte order: 0 = big-endian, 1 = little-endian

setByteOrder

public void setByteOrder(java.lang.String order)
Sets the byte order.


setAudioDataEncoding

public void setAudioDataEncoding(java.lang.String audioDataEncoding)
Sets the audio data encoding.


setAppSpecificData

public void setAppSpecificData(java.lang.String data)
Set the application-specific data. For present purposes, we assume this is representable as a text string.


setBitDepth

public void setBitDepth(int bitDepth)
Sets the bit depth.


setDisposition

public void setDisposition(java.lang.String disposition)
Sets the disposition.


setDirection

public void setDirection(java.lang.String direction)
Sets the direction. This must be one of the values FORWARD, REVERSE, A_WIND, B_WIND, C_WIND, D_WIND, FRONT, BACK. FORWARD may be the only one that makes sense for digital formats.


setDuration

public void setDuration(long duration)
Sets the duration in samples. This affects the current face and its first FaceRegion.


setFirstSampleOffset

public void setFirstSampleOffset(long offset)
Sets the offset of the first byte of sample data.


setFormat

public void setFormat(java.lang.String format)
Sets the format name.


setMapLocations

public void setMapLocations(java.lang.String[] locations)
Sets the array of channel map locations. The length of the array must equal the number of channels.


setNumChannels

public void setNumChannels(int numChannels)
Sets the number of channels.


setPrimaryIdentifier

public void setPrimaryIdentifier(java.lang.String primaryIdentifier)
Sets the primary identifier.


setPrimaryIdentifierType

public void setPrimaryIdentifierType(java.lang.String primaryIdentifierType)
Sets the primary identifier type. If the primary identifier type is OTHER, use setOtherPrimaryIdentifierType instead.


setOtherPrimaryIdentifierType

public void setOtherPrimaryIdentifierType(java.lang.String otherType)
Sets the primary identifier type as "OTHER", and set the otherType.


setSampleRate

public void setSampleRate(double sampleRate)
Sets the sample rate.


setSpecificationVersion

public void setSpecificationVersion(java.lang.String specificationVersion)
Sets the specification version of the document format.


setStartTime

public void setStartTime(long samples)
Sets the start time in samples. This affects the current face and its first FaceRegion.


setUse

public void setUse(java.lang.String useType,
                   java.lang.String otherType)
Sets the role of the document. Permitted values are ORIGINAL_MASTER, PRESERVATION_MASTER, PRODUCTION_MASTER, SERVICE, PREVIEW, or OTHER. If useType is "OTHER", then otherType is significant. Since OTHER is the only meaningful value for a digital document, the code assumes this will always be the case and uses otherType.


setWordSize

public void setWordSize(int wordSize)
Sets the word size.


addFormatRegion

public void addFormatRegion()
Adds a FormatRegion object to a FormatSize list. The most recently added FormatRegion object will be filled in by setBitDepth, setSampleRate, and setWordSize.


addFace

public void addFace()
Adds a Face.