Media Authoring
with Java API

tv.amwa.maj.iface
Interface MultipleDescriptor

All Superinterfaces:
AAFFileDescriptor, EssenceDescriptor, InterchangeObject
All Known Implementing Classes:
MultipleDescriptor

public interface MultipleDescriptor
extends AAFFileDescriptor

Specifies the description of content data associated with a single file source mob that contains multiple tracks of essence. Each file descriptor within a multiple descriptor should set the linked slot property that links it to the source mob slot that it describes.

Author:
Richard Cartwright
See Also:
makeMultipleDescriptor(), AAFFileDescriptor.getLinkedSlotID(), AAFFileDescriptor.setLinkedSlotID(Integer), SourceMob.getEssenceDescriptor()

Method Summary
 void appendFileDescriptor(AAFFileDescriptor fileDescriptor)
          Appends a file descriptor to the list of file descriptors of this multiple descriptor.
 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<? extends AAFFileDescriptor> getFileDescriptors()
          Returns a copy of the list of file descriptors of this multiple descriptor.
 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.
 
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
 

Method Detail

countFileDescriptors

int countFileDescriptors()

Returns the number of file descriptors of this multiple descriptor.

Returns:
Number of file descriptors of this multiple descriptor.

appendFileDescriptor

void appendFileDescriptor(AAFFileDescriptor fileDescriptor)
                          throws NullPointerException

Appends 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.

Parameters:
fileDescriptor - File descriptor to append to this multiple descriptor.
Throws:
NullPointerException - The given file descriptor is null.

prependFileDescriptor

void prependFileDescriptor(AAFFileDescriptor fileDescriptor)
                           throws NullPointerException

Prepends 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.

Parameters:
fileDescriptor - File descriptor to prepend to this multiple descriptor.
Throws:
NullPointerException - The file descriptor argument is null.

insertFileDescriptorAt

void insertFileDescriptorAt(@UInt32
                            int index,
                            AAFFileDescriptor fileDescriptor)
                            throws NullPointerException,
                                   IndexOutOfBoundsException

Insert 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.

Parameters:
index - Index at which the given file descriptor is to be inserted.
fileDescriptor - File descriptor to insert.
Throws:
NullPointerException - The file descriptor argument is null.
IndexOutOfBoundsException - The given index is outside the acceptable range for the current list of file descriptors.

getFileDescriptorAt

AAFFileDescriptor getFileDescriptorAt(@UInt32
                                      int index)
                                      throws IndexOutOfBoundsException

Returns the file descriptor at the given index through the list of file descriptors of this multiple descriptor.

Parameters:
index - Index of the file descriptor to retrieve.
Returns:
File descriptor at the given index.
Throws:
IndexOutOfBoundsException - The given index is outside the acceptable range for the current list of file descriptors.

removeFileDescriptorAt

void removeFileDescriptorAt(@UInt32
                            int index)
                            throws IndexOutOfBoundsException

Removes 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.

Parameters:
index - Index of the file descriptor to remove.
Throws:
IndexOutOfBoundsException - The given index is outside the acceptable range for the current list of file descriptors.

getFileDescriptors

List<? extends AAFFileDescriptor> getFileDescriptors()

Returns a copy of the list of file descriptors of this multiple descriptor.

Returns:
Copy of the list of file descriptors of this multiple descriptor.

Media Authoring
with Java API

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