@MediaClass(uuid1=218169601, uuid2=257, uuid3=17408, uuid4={6,14,43,52,2,6,1,1}, definedName="MultipleDescriptor", description="Describes the format of the content data associated with a file source package containing multiple tracks of essence.", symbol="MultipleDescriptor") public class MultipleDescriptorImpl extends AAFFileDescriptorImpl implements MultipleDescriptor, Serializable, Cloneable
Implements the description of content data associated with a single file source package that contains multiple tracks of essence. Each file descriptor within a multiple descriptor should set the linked track property that links it to the source track that it describes.
ObjectClassPropertyID| Constructor and Description |
|---|
MultipleDescriptorImpl()
Creates and initializes a new multiple descriptor for static essence, which describes
the format of the content data associated with a
file source package
containing multiple tracks of essence. |
MultipleDescriptorImpl(Rational sampleRate,
long length)
Creates and initializes a new multiple descriptor for time varying essence, which describes
the format of the content data associated with a
file source package
containing multiple tracks of essence. |
| Modifier and Type | Method and Description |
|---|---|
void |
appendFileDescriptor(AAFFileDescriptor fileDescriptor)
Appends a file descriptor to the list of file descriptors of this multiple
descriptor.
|
void |
clearFileDescriptors() |
MultipleDescriptor |
clone()
Create a cloned copy of this interchange object.
|
int |
countFileDescriptors()
Returns the number of file descriptors of this multiple
descriptor.
|
AAFFileDescriptor |
getFileDescriptorAt(int index)
Returns the file descriptor at the given index through the list of file descriptors
of this multiple descriptor.
|
List<AAFFileDescriptor> |
getFileDescriptors()
Returns a copy of the list of file descriptors of this multiple descriptor.
|
static List<AAFFileDescriptor> |
initializeFileDescriptors() |
void |
insertFileDescriptorAt(int index,
AAFFileDescriptor fileDescriptor)
Insert a file descriptor into the list of file descriptors of this multiple descriptor
at the given index.
|
void |
prependFileDescriptor(AAFFileDescriptor fileDescriptor)
Prepends a file descriptor to the list of file descriptors of this multiple
essence descriptor.
|
void |
removeFileDescriptorAt(int index)
Removes the file descriptor at the given index from the list of file descriptors
of this multiple descriptor.
|
describesStaticEssence, getCodec, getContainerFormat, getEssenceLength, getLinkedTrackID, getSampleRate, getSampleRateString, getTwentyFourBitAudio, initializeEssenceLength, initializeSampleRate, setCodec, setContainerFormat, setDescribesStaticEssence, setDescribesTimeVaryingEssence, setEssenceLength, setEssenceLengthFromStream, setLinkedTrackID, setSampleRate, setSampleRateFromStream, setSampleRateString, setTwentyFourBitAudioappendLocator, appendSubDescriptor, clearLocators, clearSubDescriptors, countLocators, countSubDescriptors, getComment, getLocatorAt, getLocators, getSubDescriptorAt, getSubDescriptors, insertLocatorAt, insertSubDescriptorAt, prependLocator, prependSubDescriptor, removeLocatorAt, removeSubDescriptorAtaddApplicationPlugin, 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, toStringgetCodec, getContainerFormat, getEssenceLength, getLinkedTrackID, getSampleRate, setCodec, setContainerFormat, setEssenceLength, setLinkedTrackID, setSampleRateappendLocator, appendSubDescriptor, clearLocators, countLocators, countSubDescriptors, getLocatorAt, getLocators, getSubDescriptorAt, getSubDescriptors, insertLocatorAt, insertSubDescriptorAt, prependLocator, prependSubDescriptor, removeLocatorAt, removeSubDescriptorAtaddApplicationPlugin, clearApplicationPlugins, containsApplicationPlugin, containsApplicationPlugin, countApplicationPlugins, deepEquals, disableGenerationTracking, enableGenerationTracking, equals, getApplicationPlugins, getGeneration, getLinkedGenerationID, getObjectClass, isGenerationTracked, removeApplicationPlugin, removeApplicationPlugin, setLinkedGenerationID, setObjectClass, toStringgetPersistentID, setPersistentIndexpublic MultipleDescriptorImpl()
Creates and initializes a new multiple descriptor for static essence, which describes
the format of the content data associated with a file source package
containing multiple tracks of essence. File descriptors for each of the tracks
of data can then be added using the
append,
insert and
prepend methods.
public MultipleDescriptorImpl(Rational sampleRate, @LengthType long length) throws NullPointerException, IllegalArgumentException
Creates and initializes a new multiple descriptor for time varying essence, which describes
the format of the content data associated with a file source package
containing multiple tracks of essence. File descriptors for each of the tracks
of data can then be added using the
append,
insert and
prepend methods.
sampleRate - Sample rate for the content represented by this multiple descriptor.length - Length of content represented by this multiple descriptor.NullPointerException - The sample rate argument is null.IllegalArgumentException - The length of the multiple descriptor cannot be a
negative value.@MediaProperty(uuid1=100729092, uuid2=1547, uuid3=0, uuid4={6,14,43,52,1,1,1,4}, definedName="FileDescriptors", typeName="FileDescriptorStrongReferenceVector", optional=false, uniqueIdentifier=false, pid=16129, symbol="FileDescriptors") public List<AAFFileDescriptor> getFileDescriptors()
MultipleDescriptorReturns a copy of the list of file descriptors of this multiple descriptor.
getFileDescriptors in interface MultipleDescriptorpublic static final List<AAFFileDescriptor> initializeFileDescriptors()
@MediaListAppend(value="FileDescriptors") public void appendFileDescriptor(AAFFileDescriptor fileDescriptor) throws NullPointerException
MultipleDescriptorAppends a file descriptor to the list of file descriptors of this multiple
descriptor. Use this function to add a file descriptor to
the end of the interleave pattern.
appendFileDescriptor in interface MultipleDescriptorfileDescriptor - File descriptor to append to this multiple descriptor.NullPointerException - The given file descriptor is null.@MediaPropertyCount(value="FileDescriptors") public int countFileDescriptors()
MultipleDescriptorReturns the number of file descriptors of this multiple descriptor.
countFileDescriptors in interface MultipleDescriptor@MediaListGetAt(value="FileDescriptors") public AAFFileDescriptor getFileDescriptorAt(int index) throws IndexOutOfBoundsException
MultipleDescriptorReturns the file descriptor at the given index through the list of file descriptors of this multiple descriptor.
getFileDescriptorAt in interface MultipleDescriptorindex - Index of the file descriptor to retrieve.IndexOutOfBoundsException - The given index is outside the acceptable range for
the current list of file descriptors.@MediaListInsertAt(value="FileDescriptors") public void insertFileDescriptorAt(int index, AAFFileDescriptor fileDescriptor) throws NullPointerException, IndexOutOfBoundsException
MultipleDescriptorInsert a file descriptor into the list of file descriptors of this multiple descriptor at the given index. Other indices will be adjusted upwards to accommodate the new item.
insertFileDescriptorAt in interface MultipleDescriptorindex - Index at which the given file descriptor is to be inserted.fileDescriptor - File descriptor to insert.NullPointerException - The file descriptor argument is null.IndexOutOfBoundsException - The given index is outside the acceptable range for
the current list of file descriptors.@MediaListPrepend(value="FileDescriptors") public void prependFileDescriptor(AAFFileDescriptor fileDescriptor) throws NullPointerException
MultipleDescriptorPrepends a file descriptor to the list of file descriptors of this multiple
essence descriptor. Use this method to add a file descriptor
to to the beginning of the interleave pattern.
prependFileDescriptor in interface MultipleDescriptorfileDescriptor - File descriptor to prepend to this multiple descriptor.NullPointerException - The file descriptor argument is null.@MediaListRemoveAt(value="FileDescriptors") public void removeFileDescriptorAt(int index) throws IndexOutOfBoundsException
MultipleDescriptorRemoves the file descriptor at the given index from the list of file descriptors of this multiple descriptor. Indices of other items in the list will be adjusted to a lower value to fill the gap left after the removal.
removeFileDescriptorAt in interface MultipleDescriptorindex - Index of the file descriptor to remove.IndexOutOfBoundsException - The given index is outside the acceptable range for
the current list of file descriptors.TypeDefinitions.FileDescriptorStrongReferenceVector@MediaPropertyClear(value="FileDescriptors") public void clearFileDescriptors()
public MultipleDescriptor clone()
InterchangeObjectCreate a cloned copy of this interchange object.
clone in interface MediaEntityclone in interface AAFFileDescriptorclone in interface EssenceDescriptorclone in interface InterchangeObjectclone in interface MultipleDescriptorclone in class AAFFileDescriptorImpl(c)2007-2016 Richard Cartwright, all rights reserved. Licensed under Apache 2 license and subject to the AMWA IPR policy.