Media Authoring
with Java API

tv.amwa.maj.entity
Class AES3PCMDescriptor

java.lang.Object
  extended by tv.amwa.maj.entity.InterchangeObject
      extended by tv.amwa.maj.entity.EssenceDescriptor
          extended by tv.amwa.maj.entity.AAFFileDescriptor
              extended by tv.amwa.maj.entity.SoundDescriptor
                  extended by tv.amwa.maj.entity.PCMDescriptor
                      extended by tv.amwa.maj.entity.AES3PCMDescriptor
All Implemented Interfaces:
Serializable, Cloneable, MAJCommon, AAFFileDescriptor, AES3PCMDescriptor, EssenceDescriptor, InterchangeObject, PCMDescriptor, SoundDescriptor, XMLSerializable

@AAFClass(uuid1=218169601,
          uuid2=257,
          uuid3=18176,
          uuid4={6,14,43,52,2,6,1,1},
          definedName="AES3PCMDescriptor",
          description="Describes audio essence in the AES3 audio file format.")
public class AES3PCMDescriptor
extends PCMDescriptor
implements AES3PCMDescriptor, Serializable, Cloneable, MAJCommon

Implements an AES3 PCM descriptor that describes audio essence in the AES/EBU audio file format, as defined in the EBU/AES digital audio interface specification.

THE COMMENTS FOR THIS CLASS ARE INCOMPLETE.

Author:
Richard Cartwright
See Also:
Serialized Form

Nested Class Summary
static class AES3PCMDescriptor.ByteDataXMLHandler
           
static class AES3PCMDescriptor.ChannelStatusModeXMLHandler
           
static class AES3PCMDescriptor.FixedChannelDataXMLHandler
           
static class AES3PCMDescriptor.FixedUserDataXMLHandler
           
static class AES3PCMDescriptor.UserDataModeXMLHandler
           
static class AES3PCMDescriptor.XMLHandler
           
 
Nested classes/interfaces inherited from class tv.amwa.maj.entity.AAFFileDescriptor
AAFFileDescriptor.FileDescriptorXMLHandler
 
Nested classes/interfaces inherited from class tv.amwa.maj.entity.EssenceDescriptor
EssenceDescriptor.EssenceDescriptorXMLHandler, EssenceDescriptor.LocatorXMLHandler, EssenceDescriptor.SubDescriptorXMLHandler
 
Nested classes/interfaces inherited from class tv.amwa.maj.entity.InterchangeObject
InterchangeObject.InterchangeObjectXMLHandler
 
Field Summary
static String AES3PCMDESCRIPTOR_TAG
           
 
Fields inherited from class tv.amwa.maj.entity.PCMDescriptor
PCMDESCRIPTOR_TAG
 
Fields inherited from class tv.amwa.maj.entity.SoundDescriptor
SOUNDDESCRIPTOR_TAG
 
Fields inherited from class tv.amwa.maj.entity.AAFFileDescriptor
FILEDESCRIPTOR_ITEM
 
Fields inherited from class tv.amwa.maj.entity.EssenceDescriptor
ESSENCEDESCRIPTOR_ITEM
 
Fields inherited from interface tv.amwa.maj.iface.AES3PCMDescriptor
AES3DefaultUserData, AES3Minimum, AUXBITSMODE_DEFAULT, BLOCKSTARTOFFSET_DEFAULT, EMPHASIS_DEFAULT
 
Constructor Summary
AES3PCMDescriptor(ContainerDefinition containerFormat, Rational audioSamplingRate, int channels, int quantizationBits, short blockAlign, int averageBPS)
          Creates and initializes a new PCM sound descriptor, which is associated with audio essence formatted according to the BWF File Format.
 
Method Summary
 void appendXMLChildren(Node parent)
          Append child elements to the given parent node to serialize the value of an object to an XML fragment.
 AES3PCMDescriptor clone()
          Creates a cloned copy of this entity.
 boolean equals(Object o)
          Tests to see if the given object is equal to this interchange object.
 AuxBitsModeType getAuxBitsMode()
          Returns the AES3 use of auxiliary bits in the associated audio essence.
 short getBlockStartOffset()
          Returns the AES3 position of the first Z preamble in the associated sound essence stream.
 ChannelStatusModeType[] getChannelStatusMode()
           
 ChannelStatusModeType getChannelStatusModeAt(int index)
          Returns the AES3 enumerated mode of carriage of channel status data for the associated audio essence for the given channel number.
 EmphasisType getEmphasis()
          Returns the AES3 emphasis of the associated sound essence.
 byte[] getFixedChannelStatusData()
           
 byte[] getFixedChannelStatusDataAt(int index)
          Returns the AES3 fixed channel status data for the channel referenced by the given index in the associated audio essence.
 byte[] getFixedUserData()
           
 byte[] getFixedUserDataAt(int index)
          Returns the AES3 fixed user data for the given channel in the associated audio essence.
 UserDataModeType[] getUserDataMode()
           
 UserDataModeType getUserDataModeAt(int index)
          Returns the user data mode for the channel of the associated audio essence referenced by the given channel index.
 int hashCode()
          Returns a hash code value for this interchange object.
 void omitChannelStatusData()
          Omits the optional fixed channel status data and channel status mode properties from this AES3 PCM descriptor.
 void omitUserData()
          Omit the optional fixed user data and user data mode properties from this AES3 PCM descriptor.
 void setAuxBitsMode(AuxBitsModeType auxBitsMode)
          Sets the AES3 use of auxiliary bits in the associated audio essence.
 void setBlockStartOffset(Short blockStartOffset)
          Sets the AES3 position of the first Z preamble in the associated sound essence stream.
 void setChannelStatusMode(ChannelStatusModeType[] channelStatusMode)
           
 void setChannelStatusModeAt(int index, ChannelStatusModeType channelStatusMode)
          Sets the AES3 enumerated mode of carriage of channel status data for the associated audio essence at the given channel number.
 void setEmphasis(EmphasisType emphasisType)
          Sets the AES3 emphasis property of the associated sound essence.
 void setFixedChannelStatusData(byte[] fixedChannelStatusData)
           
 void setFixedChannelStatusDataAt(int index, byte[] fixedChannelStatusData)
          Sets the AES3 fixed channel status data for the channel referenced by the given index in the associated audio essence.
 void setFixedUserData(byte[] fixedUserData)
           
 void setFixedUserDataAt(int index, byte[] fixedUserData)
          Sets the AES3 fixed user data for the given channel in the associated audio essence.
 void setPropertiesFromInterface(AES3PCMDescriptor castFrom)
           
 void setUserDataMode(UserDataModeType[] userDataMode)
           
 void setUserDataModeAt(int index, UserDataModeType userDataMode)
          Sets the user data mode for the channel of the associated audio essence referenced by the given channel index.
 
Methods inherited from class tv.amwa.maj.entity.PCMDescriptor
areAllPeakEnvelopePropertiesPresent, getAverageBPS, getBlockAlign, getChannelAssignment, getPeakChannelCount, getPeakEnvelopeBlockSize, getPeakEnvelopeData, getPeakEnvelopeDataPosition, getPeakEnvelopeDataSize, getPeakEnvelopeFormat, getPeakEnvelopeTimestamp, getPeakEnvelopeVersion, getPeakFrameCount, getPeakOfPeaksPosition, getPointsPerPeakValue, getSequenceOffset, readPeakEnvelopeData, setAverageBPS, setBlockAlign, setChannelAssignment, setPeakChannelCount, setPeakEnvelopeBlockSize, setPeakEnvelopeData, setPeakEnvelopeDataPosition, setPeakEnvelopeFormat, setPeakEnvelopeTimestamp, setPeakEnvelopeVersion, setPeakFrameCount, setPeakOfPeaksPosition, setPointsPerPeakValue, setPropertiesFromInterface, setSequenceOffset, writePeakEnvelopeData
 
Methods inherited from class tv.amwa.maj.entity.SoundDescriptor
getAudioRefLevel, getAudioSamplingRate, getChannelCount, getCompression, getDialNorm, getElectroSpatialFormulation, getIsLocked, getQuantizationBits, isLocked, setAudioRefLevel, setAudioSamplingRate, setChannelCount, setCompression, setDialNorm, setElectroSpatialFormulation, setIsLocked, setPropertiesFromInterface, setQuantizationBits
 
Methods inherited from class tv.amwa.maj.entity.AAFFileDescriptor
describesStaticEssence, getCodecDefinition, getContainerFormat, getLength, getLinkedSlotID, getSampleRate, setCodecDefinition, setContainerFormat, setDescribesStaticEssence, setDescribesTimeVaryingEssence, setLength, setLinkedSlotID, setPropertiesFromInterface, setSampleRate
 
Methods inherited from class tv.amwa.maj.entity.EssenceDescriptor
appendLocator, appendSubDescriptor, countLocators, countSubDescriptors, getLocatorAt, getLocators, getSubDescriptorAt, getSubDescriptors, insertLocatorAt, insertSubDescriptorAt, prependLocator, prependSubDescriptor, removeLocatorAt, removeSubDescriptorAt, setPropertiesFromInterface
 
Methods inherited from class tv.amwa.maj.entity.InterchangeObject
castFromInterface, countProperties, createOptionalPropertyValue, disableGenerationTracking, enableGenerationTracking, getDefinition, getGeneration, getGenerationAUID, getProperties, getPropertyValue, isGenerationTracked, isPropertyPresent, omitOpionalProperty, registerImplementation, setPropertiesFromInterface, setPropertyValue, toString
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface tv.amwa.maj.iface.PCMDescriptor
areAllPeakEnvelopePropertiesPresent, getAverageBPS, getBlockAlign, getChannelAssignment, getPeakChannelCount, getPeakEnvelopeBlockSize, getPeakEnvelopeDataPosition, getPeakEnvelopeDataSize, getPeakEnvelopeFormat, getPeakEnvelopeTimestamp, getPeakEnvelopeVersion, getPeakFrameCount, getPeakOfPeaksPosition, getPointsPerPeakValue, getSequenceOffset, readPeakEnvelopeData, setAverageBPS, setBlockAlign, setChannelAssignment, setPeakChannelCount, setPeakEnvelopeBlockSize, setPeakEnvelopeDataPosition, setPeakEnvelopeFormat, setPeakEnvelopeTimestamp, setPeakEnvelopeVersion, setPeakFrameCount, setPeakOfPeaksPosition, setPointsPerPeakValue, setSequenceOffset, writePeakEnvelopeData
 
Methods inherited from interface tv.amwa.maj.iface.SoundDescriptor
getAudioRefLevel, getAudioSamplingRate, getChannelCount, getCompression, getDialNorm, getElectroSpatialFormulation, getQuantizationBits, isLocked, setAudioRefLevel, setAudioSamplingRate, setChannelCount, setCompression, setDialNorm, setElectroSpatialFormulation, setIsLocked, setQuantizationBits
 
Methods inherited from interface tv.amwa.maj.iface.AAFFileDescriptor
getCodecDefinition, getContainerFormat, getLength, getLinkedSlotID, getSampleRate, setCodecDefinition, setContainerFormat, setLength, setLinkedSlotID, setSampleRate
 
Methods inherited from interface tv.amwa.maj.iface.EssenceDescriptor
appendLocator, appendSubDescriptor, countLocators, countSubDescriptors, getLocatorAt, getLocators, getSubDescriptorAt, getSubDescriptors, insertLocatorAt, insertSubDescriptorAt, prependLocator, prependSubDescriptor, removeLocatorAt, removeSubDescriptorAt
 
Methods inherited from interface tv.amwa.maj.iface.InterchangeObject
countProperties, createOptionalPropertyValue, disableGenerationTracking, enableGenerationTracking, getDefinition, getGeneration, getGenerationAUID, getProperties, getPropertyValue, isGenerationTracked, isPropertyPresent, omitOpionalProperty, setPropertyValue
 
Methods inherited from interface tv.amwa.maj.entity.MAJCommon
toString
 

Field Detail

AES3PCMDESCRIPTOR_TAG

public static final String AES3PCMDESCRIPTOR_TAG
See Also:
Constant Field Values
Constructor Detail

AES3PCMDescriptor

public AES3PCMDescriptor(ContainerDefinition containerFormat,
                         Rational audioSamplingRate,
                         @UInt32
                         int channels,
                         @UInt32
                         int quantizationBits,
                         @UInt16
                         short blockAlign,
                         @UInt32
                         int averageBPS)
                  throws NullPointerException,
                         IllegalArgumentException

Creates and initializes a new PCM sound descriptor, which is associated with audio essence formatted according to the BWF File Format.

Parameters:
containerFormat - Identifies the container mechanism used to store the essence.
audioSamplingRate - Sampling rate of the audio essence.
channels - Number of audio channels.
quantizationBits - Number of quantization bits.
blockAlign - Sample block alignment.
averageBPS - Average bytes per second.
Throws:
NullPointerException - The container format or sampling rate properties are null.
IllegalArgumentException - Cannot set the channels, quantization bits, block align or average bits per second values to negative values.
Method Detail

setPropertiesFromInterface

public final void setPropertiesFromInterface(AES3PCMDescriptor castFrom)
See Also:
InterchangeObject.setPropertiesFromInterface(tv.amwa.maj.iface.InterchangeObject)

getAuxBitsMode

@AAFProperty(uuid1=67241217,
             uuid2=256,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,5},
             definedName="AuxBitsMode",
             typeName="AuxBitsModeType",
             optional=true,
             uniqueIdentifier=false,
             pid=15624)
public AuxBitsModeType getAuxBitsMode()
Description copied from interface: AES3PCMDescriptor

Returns the AES3 use of auxiliary bits in the associated audio essence. If this optional property is not present, the default value of AuxBitsModeType.NotDefined is returned.

Specified by:
getAuxBitsMode in interface AES3PCMDescriptor
Returns:
AES3 use of auxiliary bits in the associated audio essence.
See Also:
AES3PCMDescriptor.AUXBITSMODE_DEFAULT

setAuxBitsMode

public void setAuxBitsMode(AuxBitsModeType auxBitsMode)
Description copied from interface: AES3PCMDescriptor

Sets the AES3 use of auxiliary bits in the associated audio essence. To omit this optional property, call this method with null.

Specified by:
setAuxBitsMode in interface AES3PCMDescriptor
Parameters:
auxBitsMode - AES3 use of auxiliary bits in the associated audio essence.
See Also:
AES3PCMDescriptor.AUXBITSMODE_DEFAULT

getBlockStartOffset

@AAFProperty(uuid1=67240706,
             uuid2=768,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,5},
             definedName="BlockStartOffset",
             typeName="UInt16",
             optional=true,
             uniqueIdentifier=false,
             pid=15631)
public short getBlockStartOffset()
Description copied from interface: AES3PCMDescriptor

Returns the AES3 position of the first Z preamble in the associated sound essence stream. If this optional property is not present, the default value of 0 is returned.

Specified by:
getBlockStartOffset in interface AES3PCMDescriptor
Returns:
AES3 position of the first Z preamble is the associated sound essence stream.
See Also:
AES3PCMDescriptor.BLOCKSTARTOFFSET_DEFAULT

setBlockStartOffset

public void setBlockStartOffset(Short blockStartOffset)
                         throws IllegalArgumentException
Description copied from interface: AES3PCMDescriptor

Sets the AES3 position of the first Z preamble in the associated sound essence stream. The default value of this optional property is 0. To omit this optional property, call this method with null.

Specified by:
setBlockStartOffset in interface AES3PCMDescriptor
Parameters:
blockStartOffset - AES3 position of the first Z preamble in the associated sound essence stream.
Throws:
IllegalArgumentException - The block start offset is negative.
See Also:
AES3PCMDescriptor.BLOCKSTARTOFFSET_DEFAULT

getChannelStatusMode

@AAFProperty(uuid1=67241217,
             uuid2=512,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,5},
             definedName="ChannelStatusMode",
             typeName="ChannelStatusModeArray",
             optional=true,
             uniqueIdentifier=false,
             pid=15632)
public ChannelStatusModeType[] getChannelStatusMode()

setChannelStatusMode

public void setChannelStatusMode(ChannelStatusModeType[] channelStatusMode)
                          throws NullPointerException,
                                 BadSizeException
Throws:
NullPointerException
BadSizeException

getChannelStatusModeAt

public ChannelStatusModeType getChannelStatusModeAt(int index)
                                             throws IndexOutOfBoundsException
Description copied from interface: AES3PCMDescriptor

Returns the AES3 enumerated mode of carriage of channel status data for the associated audio essence for the given channel number. If the channel status mode property is not present, the default value of ChannelStatusModeType.None is returned.

Specified by:
getChannelStatusModeAt in interface AES3PCMDescriptor
Parameters:
index - Index into the AES3 channel status mode array.
Returns:
Element of the AES3 channel status mode at the given index.
Throws:
IndexOutOfBoundsException - The given index is outside the acceptable range for the current channel status mode array.
See Also:
SoundDescriptor.getChannelCount()

setChannelStatusModeAt

public void setChannelStatusModeAt(int index,
                                   ChannelStatusModeType channelStatusMode)
                            throws IndexOutOfBoundsException
Description copied from interface: AES3PCMDescriptor

Sets the AES3 enumerated mode of carriage of channel status data for the associated audio essence at the given channel number.

If the channel status mode property is not present at the time of calling the method, after completion of the method the property becomes present and properties at other indexes are initialized to ChannelStatusModeType.None.

Specified by:
setChannelStatusModeAt in interface AES3PCMDescriptor
Parameters:
index - Index of the channel status mode array to set the channel status for.
channelStatusMode - Channel status for the given index.
Throws:
IndexOutOfBoundsException - The given index is outside the acceptable range for the current channel status mode array.
See Also:
SoundDescriptor.getChannelCount()

getEmphasis

@AAFProperty(uuid1=67241217,
             uuid2=1536,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,5},
             definedName="Emphasis",
             typeName="EmphasisType",
             optional=true,
             uniqueIdentifier=false,
             pid=15629)
public EmphasisType getEmphasis()
Description copied from interface: AES3PCMDescriptor

Returns the AES3 emphasis of the associated sound essence. If this optional property is not present, the default value of this property is returned.

Specified by:
getEmphasis in interface AES3PCMDescriptor
Returns:
AES3 emphasis of the associated sound essence.
See Also:
AES3PCMDescriptor.EMPHASIS_DEFAULT

setEmphasis

public void setEmphasis(EmphasisType emphasisType)
Description copied from interface: AES3PCMDescriptor

Sets the AES3 emphasis property of the associated sound essence. Calling this method with null will omit this optional property.

Specified by:
setEmphasis in interface AES3PCMDescriptor
Parameters:
emphasisType - AES3 emphasis property of the associated sound essence.
See Also:
AES3PCMDescriptor.EMPHASIS_DEFAULT

getFixedChannelStatusData

@AAFProperty(uuid1=67241217,
             uuid2=768,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,5},
             definedName="FixedChannelStatusData",
             typeName="UInt8Array",
             optional=true,
             uniqueIdentifier=false,
             pid=15633)
public byte[] getFixedChannelStatusData()

setFixedChannelStatusData

public void setFixedChannelStatusData(byte[] fixedChannelStatusData)
                               throws BadSizeException
Throws:
BadSizeException

getFixedChannelStatusDataAt

public byte[] getFixedChannelStatusDataAt(int index)
                                   throws IndexOutOfBoundsException
Description copied from interface: AES3PCMDescriptor

Returns the AES3 fixed channel status data for the channel referenced by the given index in the associated audio essence. The value returned is a 24-byte array.

The default value is the AES3 minimum, which codes the most significant bit of the first byte as 1 and all other bits as 0. If this optional property is omitted, the default value will be returned.

Specified by:
getFixedChannelStatusDataAt in interface AES3PCMDescriptor
Parameters:
index - Channel index to retrieve the fixed channel status data for.
Returns:
Fixed channel status data for the given channel in the associated audio essence.
Throws:
IndexOutOfBoundsException - The given index is outside the acceptable range for the current range of channels for which fixed status data is represented.
See Also:
SoundDescriptor.getChannelCount()

setFixedChannelStatusDataAt

public void setFixedChannelStatusDataAt(int index,
                                        byte[] fixedChannelStatusData)
                                 throws NullPointerException,
                                        IndexOutOfBoundsException,
                                        BadSizeException
Description copied from interface: AES3PCMDescriptor

Sets the AES3 fixed channel status data for the channel referenced by the given index in the associated audio essence. The data must take the form of a 24-byte array.

Specified by:
setFixedChannelStatusDataAt in interface AES3PCMDescriptor
Parameters:
index - Channel number to set the AES3 fixed channel status data for.
fixedChannelStatusData - Fixed channel status array.
Throws:
NullPointerException - The fixed channel status data argument is null.
IndexOutOfBoundsException - The given channel index is outside the acceptable range for the associated audio essence.
BadSizeException - The fixed channel status data must be an array of 24-bytes exactly.
See Also:
SoundDescriptor.getChannelCount()

omitChannelStatusData

public void omitChannelStatusData()
Description copied from interface: AES3PCMDescriptor

Omits the optional fixed channel status data and channel status mode properties from this AES3 PCM descriptor. To make them present again, call AES3PCMDescriptor.setFixedChannelStatusDataAt(int, byte[]) and AES3PCMDescriptor.setChannelStatusModeAt(int, ChannelStatusModeType).

Specified by:
omitChannelStatusData in interface AES3PCMDescriptor

getFixedUserData

@AAFProperty(uuid1=67241217,
             uuid2=1280,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,5},
             definedName="FixedUserData",
             typeName="UInt8Array",
             optional=true,
             uniqueIdentifier=false,
             pid=15635)
public byte[] getFixedUserData()

setFixedUserData

public void setFixedUserData(byte[] fixedUserData)
                      throws BadSizeException
Throws:
BadSizeException

getFixedUserDataAt

public byte[] getFixedUserDataAt(int index)
                          throws IndexOutOfBoundsException
Description copied from interface: AES3PCMDescriptor

Returns the AES3 fixed user data for the given channel in the associated audio essence. The value is always a 24-byte array.

The default value for fixed user data on a channel is all zero values, as represented by AES3PCMDescriptor.AES3DefaultUserData. If this optional property is not present, the default value will be returned.

Specified by:
getFixedUserDataAt in interface AES3PCMDescriptor
Parameters:
index - Channel index of the fixed user data to retrieve.
Returns:
Retrieved fixed user data for the given channel number from the associated audio essence.
Throws:
IndexOutOfBoundsException - The channel number is outside the acceptable range for the associated audio essence.
See Also:
SoundDescriptor.getChannelCount()

setFixedUserDataAt

public void setFixedUserDataAt(int index,
                               byte[] fixedUserData)
                        throws NullPointerException,
                               IndexOutOfBoundsException,
                               BadSizeException
Description copied from interface: AES3PCMDescriptor

Sets the AES3 fixed user data for the given channel in the associated audio essence. The value is always a 24-byte array.

Specified by:
setFixedUserDataAt in interface AES3PCMDescriptor
Parameters:
index - Channel index of the fixed user data to set.
fixedUserData - Fixed user data for the given channel number of the associated audio essence.
Throws:
NullPointerException - Cannot set fixed user data to null.
IndexOutOfBoundsException - The channel number is outside the acceptable range for the associated audio essence.
BadSizeException - The fixed user data value must by a 24-byte array.
See Also:
SoundDescriptor.getChannelCount()

getUserDataMode

@AAFProperty(uuid1=67241217,
             uuid2=1024,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,5},
             definedName="UserDataMode",
             typeName="UserDataModeArray",
             optional=true,
             uniqueIdentifier=false,
             pid=15634)
public UserDataModeType[] getUserDataMode()

setUserDataMode

public void setUserDataMode(UserDataModeType[] userDataMode)
                     throws NullPointerException,
                            BadSizeException
Throws:
NullPointerException
BadSizeException

getUserDataModeAt

public UserDataModeType getUserDataModeAt(int index)
                                   throws IndexOutOfBoundsException
Description copied from interface: AES3PCMDescriptor

Returns the user data mode for the channel of the associated audio essence referenced by the given channel index.

The default value for each element of this property is UserDataModeType.NotDefined. If this optional property is omitted, the default value will be returned.

Specified by:
getUserDataModeAt in interface AES3PCMDescriptor
Parameters:
index - Channel index to identify the channel to retrieve the user data mode for.
Returns:
Type of use data for the given channel number in the associated audio essence.
Throws:
IndexOutOfBoundsException - The given channel index is outside the acceptable range for the associated audio essence.
See Also:
SoundDescriptor.getChannelCount()

setUserDataModeAt

public void setUserDataModeAt(int index,
                              UserDataModeType userDataMode)
                       throws NullPointerException,
                              IndexOutOfBoundsException
Description copied from interface: AES3PCMDescriptor

Sets the user data mode for the channel of the associated audio essence referenced by the given channel index.

Specified by:
setUserDataModeAt in interface AES3PCMDescriptor
Parameters:
index - Channel index to identify the channel to set the user data mode for.
userDataMode - Type of user data for the given channel.
Throws:
NullPointerException - Cannot set the user data mode for a channel to null.
IndexOutOfBoundsException - The given channel index is outside the acceptable range for the associated audio essence.
See Also:
SoundDescriptor.getChannelCount()

omitUserData

public void omitUserData()
Description copied from interface: AES3PCMDescriptor

Omit the optional fixed user data and user data mode properties from this AES3 PCM descriptor. To make them present again, call AES3PCMDescriptor.setFixedUserDataAt(int, byte[]) and AES3PCMDescriptor.setUserDataModeAt(int, UserDataModeType).

Specified by:
omitUserData in interface AES3PCMDescriptor

equals

public boolean equals(Object o)
Description copied from interface: MAJCommon

Tests to see if the given object is equal to this interchange object. To be equal, the given value must be not null, share the same interface to its value and each of the properties of the value must each be equal.

Specified by:
equals in interface MAJCommon
Overrides:
equals in class PCMDescriptor
Parameters:
o - Object to test for equality with.
Returns:
Is the given object equals to this value?
See Also:
Object.equals(Object)

hashCode

public int hashCode()
Description copied from interface: MAJCommon

Returns a hash code value for this interchange object.

Specified by:
hashCode in interface MAJCommon
Overrides:
hashCode in class PCMDescriptor
Returns:
Hash code value for this interchange object.
See Also:
Object.hashCode()

clone

public AES3PCMDescriptor clone()
Description copied from interface: MAJCommon

Creates a cloned copy of this entity. The clone will be initialized to have the same value as this value but exists independently from then on. Changes to this value will not effect the clone and changes to the clone will not effect this. MAJ API clones are true deep clones with no shared references to areas of memory within the original.

This method does not throw a CloneNotSupportedException as all entity values must implement the Cloneable interface. If a cloning error does occur, a null value will be returned but this is very unlikely to happen.

Specified by:
clone in interface MAJCommon
Overrides:
clone in class PCMDescriptor
Returns:
Independent clone of this value, which is a deep copy.
See Also:
Object.clone()

appendXMLChildren

public void appendXMLChildren(Node parent)
Description copied from interface: XMLSerializable

Append child elements to the given parent node to serialize the value of an object to an XML fragment. Methods of the XMLBuilder class are provided to help with this process.

Specified by:
appendXMLChildren in interface XMLSerializable
Overrides:
appendXMLChildren in class PCMDescriptor
Parameters:
parent - XML parent element to append child nodes to.

Media Authoring
with Java API

(c) 2007-2008 Richard Cartwright, all rights reserved. Subject to the terms of the AAF SDK Public Source License.