WAVEDescriptorImpl (Media Authoring with Java API)
Date: 2016-02-05

tv.amwa.maj.model.impl

## Class WAVEDescriptorImpl

- java.lang.Object
- - tv.amwa.maj.model.impl.InterchangeObjectImpl
  - - tv.amwa.maj.model.impl.EssenceDescriptorImpl
    - - tv.amwa.maj.model.impl.AAFFileDescriptorImpl
      - - tv.amwa.maj.model.impl.WAVEDescriptorImpl

- All Implemented Interfaces:
    Serializable, Cloneable, QAAFFileDescriptor, MediaEntity, MetadataObject, AAFFileDescriptor, EssenceDescriptor, InterchangeObject, WAVEDescriptor

      @MediaClass(uuid1=218169601,
                  uuid2=257,
                  uuid3=11264,
                  uuid4={6,14,43,52,2,6,1,1},
                  definedName="WAVEDescriptor",
                  description="The WAVEDescriptor class specifies that a File SourcePackage is associated with audio essence formatted according to the RIFF Waveform Audio File Format (WAVE).",
                  symbol="WAVEDescriptor")
      public class WAVEDescriptorImpl
      extends AAFFileDescriptorImpl
      implements WAVEDescriptor, Serializable, Cloneable

  Implements the description of a file of audio essence formatted according to the RIFF Waveform Audio File Format (WAVE).

  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class tv.amwa.maj.model.impl.InterchangeObjectImpl

      `ObjectClassPropertyID`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `WAVEDescriptorImpl()`
    `WAVEDescriptorImpl(ContainerDefinition containerFormat, byte[] summary)` Creates and initializes a new WAVE descriptor, which specifies that a file `source package` is associated with audio essence formatted according to the RIFF Waveform Audio File Format (WAVE).

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `WAVEDescriptor` | `clone()` Create a cloned copy of this interchange object.
    `byte[]` | `getWAVESummary()` Returns a copy of the WAVE file information without the associated sample data from the audio essence described by this WAVE descriptor.
    `int` | `getWAVESummaryBufferSize()` Returns the size of the data buffer required for the `WAVEDescriptor.getWAVESummary()` method.
    `static byte[]` | `initializeWAVESummary()`
    `void` | `setWAVESummary(byte[] waveSummary)` Sets the copy of WAVE file information without the sample data from the audio essence described by this WAVE descriptor.

    - ### Methods inherited from class tv.amwa.maj.model.impl.AAFFileDescriptorImpl

      `describesStaticEssence, getCodec, getContainerFormat, getEssenceLength, getLinkedTrackID, getSampleRate, getSampleRateString, getTwentyFourBitAudio, initializeEssenceLength, initializeSampleRate, setCodec, setContainerFormat, setDescribesStaticEssence, setDescribesTimeVaryingEssence, setEssenceLength, setEssenceLengthFromStream, setLinkedTrackID, setSampleRate, setSampleRateFromStream, setSampleRateString, setTwentyFourBitAudio`

    - ### Methods inherited from class tv.amwa.maj.model.impl.EssenceDescriptorImpl

      `appendLocator, appendSubDescriptor, clearLocators, clearSubDescriptors, countLocators, countSubDescriptors, getComment, getLocatorAt, getLocators, getSubDescriptorAt, getSubDescriptors, insertLocatorAt, insertSubDescriptorAt, prependLocator, prependSubDescriptor, removeLocatorAt, removeSubDescriptorAt`

    - ### Methods inherited from class tv.amwa.maj.model.impl.InterchangeObjectImpl

      `addApplicationPlugin, appendXMLChildren, clearApplicationPlugins, containsApplicationPlugin, containsApplicationPlugin, countApplicationPlugins, deepEquals, disableGenerationTracking, enableGenerationTracking, equals, getApplicationPlugins, getGeneration, getLinkedGenerationID, getLinkedGenerationIDString, getObjectClass, getPersistentID, getPersistentIndex, hashCode, isGenerationTracked, removeApplicationPlugin, removeApplicationPlugin, setLinkedGenerationID, setLinkedGenerationIDString, setObjectClass, setPersistentID, setPersistentIndex, toString`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface tv.amwa.maj.model.AAFFileDescriptor

      `getCodec, getContainerFormat, getEssenceLength, getLinkedTrackID, getSampleRate, setCodec, setContainerFormat, setEssenceLength, setLinkedTrackID, setSampleRate`

    - ### Methods inherited from interface tv.amwa.maj.model.EssenceDescriptor

      `appendLocator, appendSubDescriptor, clearLocators, countLocators, countSubDescriptors, getLocatorAt, getLocators, getSubDescriptorAt, getSubDescriptors, insertLocatorAt, insertSubDescriptorAt, prependLocator, prependSubDescriptor, removeLocatorAt, removeSubDescriptorAt`

    - ### Methods inherited from interface tv.amwa.maj.model.InterchangeObject

      `addApplicationPlugin, clearApplicationPlugins, containsApplicationPlugin, containsApplicationPlugin, countApplicationPlugins, deepEquals, disableGenerationTracking, enableGenerationTracking, equals, getApplicationPlugins, getGeneration, getLinkedGenerationID, getObjectClass, isGenerationTracked, removeApplicationPlugin, removeApplicationPlugin, setLinkedGenerationID, setObjectClass, toString`

    - ### Methods inherited from interface tv.amwa.maj.industry.MediaEntity

      `getPersistentID, setPersistentIndex`

- - ### Constructor Detail

    - #### WAVEDescriptorImpl

          public WAVEDescriptorImpl()

    - #### WAVEDescriptorImpl

          public WAVEDescriptorImpl(ContainerDefinition containerFormat,
                                    @DataBuffer
                                    byte[] summary)
                             throws NullPointerException

      Creates and initializes a new WAVE descriptor, which specifies that a file `source package` is associated with audio essence formatted according to the RIFF Waveform Audio File Format (WAVE).

      Parameters:
        `containerFormat` - Container mechanism used to store the essence.
        `summary` - A copy of the WAVE file information without the sample data.
      Throws:
        `NullPointerException` - One or both of the arguments is/are `null` and both are required.

  - ### Method Detail

    - #### getWAVESummary

          @MediaProperty(uuid1=50529026,
                         uuid2=256,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,2},
                         definedName="WAVESummary",
                         aliases={"Summary","WAVEDescriptorSummary"},
                         typeName="DataValue",
                         optional=false,
                         uniqueIdentifier=false,
                         pid=14337,
                         symbol="WAVESummary")
          public byte[] getWAVESummary()

      Description copied from interface: `WAVEDescriptor`

      Returns a copy of the WAVE file information without the associated sample data from the audio essence described by this WAVE descriptor.

      Specified by:
        `getWAVESummary` in interface `WAVEDescriptor`
      Returns:
        Summary property of this WAVE descriptor.

    - #### setWAVESummary

          @MediaPropertySetter(value="WAVESummary")
          public void setWAVESummary(byte[] waveSummary)
                                                                        throws NullPointerException

      Description copied from interface: `WAVEDescriptor`

      Sets the copy of WAVE file information without the sample data from the audio essence described by this WAVE descriptor.

      Specified by:
        `setWAVESummary` in interface `WAVEDescriptor`
      Parameters:
        `waveSummary` - Summary property for this WAVE descriptor.
      Throws:
        `NullPointerException` - The given summary is `null`.

    - #### initializeWAVESummary

          public static final byte[] initializeWAVESummary()

    - #### getWAVESummaryBufferSize

          public int getWAVESummaryBufferSize()

      Description copied from interface: `WAVEDescriptor`

      Returns the size of the data buffer required for the `WAVEDescriptor.getWAVESummary()` method.

      Specified by:
        `getWAVESummaryBufferSize` in interface `WAVEDescriptor`
      Returns:
        Size of the data buffer required for the `WAVEDescriptor.getWAVESummary()` method.

    - #### clone

          public WAVEDescriptor clone()

      Description copied from interface: `InterchangeObject`

      Create a cloned copy of this interchange object.

      Specified by:
        `clone` in interface `MediaEntity`
      Specified by:
        `clone` in interface `AAFFileDescriptor`
      Specified by:
        `clone` in interface `EssenceDescriptor`
      Specified by:
        `clone` in interface `InterchangeObject`
      Specified by:
        `clone` in interface `WAVEDescriptor`
      Overrides:
        `clone` in class `AAFFileDescriptorImpl`
      Returns:
        Cloned copy of this interchange object.

(c)2007-2016 Richard Cartwright, all rights reserved. Licensed under Apache 2 license and subject to the AMWA IPR policy.