The IAAFMultipleDescriptor interface is implemented by objects which describe the format of the content data associated with a File Source mob containing multiple tracks of essence. More...
Public Member Functions | |
HRESULT | Initialize () |
Initializes a newly allocated, empty IAAFMultipleDescriptor-supporting object. | |
HRESULT | CountFileDescriptors ([out] aafUInt32 *pResult) |
Return the number of FileDescriptors attached to this essence descriptor. | |
HRESULT | AppendFileDescriptor ([in] IAAFFileDescriptor *pFileDescriptor) |
Append another FileDescriptor to this essence descriptor. | |
HRESULT | PrependFileDescriptor ([in] IAAFFileDescriptor *pFileDescriptor) |
Prepend another FileDescriptor to this essence descriptor. | |
HRESULT | InsertFileDescriptorAt ([in] aafUInt32 index,[in] IAAFFileDescriptor *pFileDescriptor) |
Inserts the given FileDescriptor at the given index. | |
HRESULT | GetFileDescriptorAt ([in] aafUInt32 index,[out, retval] IAAFFileDescriptor **ppFileDescriptor) |
Retrieves the FileDescriptor at the given index. | |
HRESULT | RemoveFileDescriptorAt ([in] aafUInt32 index) |
Removes the FileDescriptor at the given index. | |
HRESULT | GetFileDescriptors ([out] IEnumAAFFileDescriptors **ppEnum) |
Returns an enumerator of all the FileDescriptors in this MultipleDescriptor. |
The IAAFMultipleDescriptor interface is implemented by objects which describe the format of the content data associated with a File Source mob containing multiple tracks of essence.
In addition to the specific error results listed for each method, all methods in this interface may also return one of the following values:
AAFRESULT_NOMEMORY
AAFRESULT_NOT_INITIALIZED
Objects that implement IAAFMultipleDescriptor also implement the following interfaces:
HRESULT IAAFMultipleDescriptor::AppendFileDescriptor | ( | [in] IAAFFileDescriptor * | pFileDescriptor | ) |
Append another FileDescriptor to this essence descriptor.
Use this function to add a FileDescriptor to the end of the interleave pattern.
Succeeds if all of the following are true:
If this method fails no state will be changed.
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
AAFRESULT_OBJECT_ALREADY_ATTACHED
pFileDescriptor | [in] FileDescriptor to append |
HRESULT IAAFMultipleDescriptor::CountFileDescriptors | ( | [out] aafUInt32 * | pResult | ) |
Return the number of FileDescriptors attached to this essence descriptor.
Succeeds if all of the following are true:
If this method fails nothing is written to *pCount.
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
pResult | [out] Returns the number of FileDescriptors |
HRESULT IAAFMultipleDescriptor::GetFileDescriptorAt | ( | [in] aafUInt32 | index, |
[out, retval] IAAFFileDescriptor ** | ppFileDescriptor | ||
) |
Retrieves the FileDescriptor at the given index.
Succeeds if all of the following are true:
If this method fails no state will be changed.
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
AAFRESULT_BADINDEX
index | [in] index of FileDescriptor to retrieve |
ppFileDescriptor | [out, retval] returned FileDescriptor |
HRESULT IAAFMultipleDescriptor::GetFileDescriptors | ( | [out] IEnumAAFFileDescriptors ** | ppEnum | ) |
Returns an enumerator of all the FileDescriptors in this MultipleDescriptor.
Succeeds if all of the following are true:
If this method fails nothing will be written to *ppEnum.
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
ppEnum | [out] An enumerator of the FileDescriptors in this MultipleDescriptor |
HRESULT IAAFMultipleDescriptor::Initialize | ( | ) |
Initializes a newly allocated, empty IAAFMultipleDescriptor-supporting object.
This method must be called after allocation, and before any other method can be called.
Succeeds if:
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_ALREADY_INITIALIZED
HRESULT IAAFMultipleDescriptor::InsertFileDescriptorAt | ( | [in] aafUInt32 | index, |
[in] IAAFFileDescriptor * | pFileDescriptor | ||
) |
Inserts the given FileDescriptor at the given index.
FileDescriptors already existing at the given and higher indices will be moved to the next higher index to accommodate.
Succeeds if all of the following are true:
If this method fails no state will be changed.
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
AAFRESULT_BADINDEX
index | [in] index at which FileDescriptor is to be inserted |
pFileDescriptor | [in] FileDescriptor to append |
HRESULT IAAFMultipleDescriptor::PrependFileDescriptor | ( | [in] IAAFFileDescriptor * | pFileDescriptor | ) |
Prepend another FileDescriptor to this essence descriptor.
Use this function to add a FileDescriptor to to the beginning of the interleave pattern.
Succeeds if all of the following are true:
If this method fails no state will be changed.
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
AAFRESULT_OBJECT_ALREADY_ATTACHED
pFileDescriptor | [in] FileDescriptor to append |
HRESULT IAAFMultipleDescriptor::RemoveFileDescriptorAt | ( | [in] aafUInt32 | index | ) |
Removes the FileDescriptor at the given index.
FileDescriptors already existing at indices higher than the given index will be moved to the next lower index to accommodate.
Succeeds if all of the following are true:
If this method fails no state will be changed.
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_BADINDEX
index | [in] index of FileDescriptor to remove |