AAFA Developer Support

Public Member Functions
IAAFEssenceMultiAccess Interface Reference

AAFEssenceMultiAccess is an interace which provides streaming access over essence data. More...

List of all members.

Public Member Functions

HRESULT WriteMultiSamples ([in] aafUInt16 arrayElemCount,[in, size_is(arrayElemCount)] aafmMultiXfer_t *xferArray,[out, size_is(arrayElemCount)] aafmMultiResult_t *resultArray)
 Writes multiple channels worth of sample data to an interleaved data stream in the natural order for the CODEC.
HRESULT ReadMultiSamples ([in] aafUInt16 elemCount,[in, size_is(elemCount)] aafmMultiXfer_t *xferArray,[out, size_is(elemCount)] aafmMultiResult_t *resultArray)
 Reads one or more channels from an interleaved data stream.

Detailed Description

AAFEssenceMultiAccess is an interace which provides streaming access over essence data.

This nterfaces deals with essence data which is in an uncompressed form, and handles compression or decompression of the data if required.

You should call the CreateMultiEssence or OpenMultiEssence calls on AAFMasterMob in order to get an interface pointer to AAFEssenceAccess, as there is no public create or open method in the interface.

Objects implementing this interface also implement AAFEssenceAccess for operations other than read and write.

A number of errors can be returned from most method calls, These are: AAFRESULT_NOMEMORY -- The system ran out of memory processing the method. AAFRESULT_NULL_PARAM -- A NULL parameter was passed in which was required.

Definition at line 45044 of file AAF.idl.


Member Function Documentation

HRESULT IAAFEssenceMultiAccess::ReadMultiSamples ( [in] aafUInt16  elemCount,
[in, size_is(elemCount)] aafmMultiXfer_t *  xferArray,
[out, size_is(elemCount)] aafmMultiResult_t *  resultArray 
)

Reads one or more channels from an interleaved data stream.

Possible Errors:

Standard errors (see top of file).

AAFRESULT_END_OF_ESSENCE -- Hit the end of the essence (like EOF) while reading.

Parameters:
elemCount[in] The size of the array for transfer operations.
xferArray[in, size_is(elemCount)] Points to an array of transfer parameters. All fields in this array except for bytesXferred must be set up before doing the transfer. Some of the fields in the xferArray structure are status results like bytesXferred and samplesXferred.

The multiXfer_t structure has the following fields, which specify one channel of data:

essenceDef [IN] -- The essence type definition physical [IN] -- The physical input-output channel numSamples [IN] -- The number of samples to transfer buflen [IN] -- The size of the buffer buffer [IN] -- The buffer for this

Parameters:
resultArray[out, size_is(elemCount)] Results go into this array.

The aafmMultiResult_t structure has the following fields, which return result for one channel of data:

bytesXfered [OUT] -- The total number of bytes transferred samplesXfered [OUT] -- The total number of samples transferred

HRESULT IAAFEssenceMultiAccess::WriteMultiSamples ( [in] aafUInt16  arrayElemCount,
[in, size_is(arrayElemCount)] aafmMultiXfer_t *  xferArray,
[out, size_is(arrayElemCount)] aafmMultiResult_t *  resultArray 
)

Writes multiple channels worth of sample data to an interleaved data stream in the natural order for the CODEC.

Parameters:
arrayElemCount[in] number of elements in the array of transfer operations
xferArray[in,size_is(arrayElemCount)] Points to an array of transfer parameters. All fields in this array except for bytesXferred must be set up before doing the transfer. Some of the fields in the xferArray structure are status results like bytesXferred and samplesXferred.

The multiXfer_t structure has the following fields, which specify one channel of data:

essenceDef [IN] -- The essence type definition physical [IN] -- The physical input-output channel numSamples [IN] -- The number of samples to transfer buflen [IN] -- The size of the buffer buffer [IN] -- The buffer for this

Parameters:
resultArray[out,size_is(arrayElemCount)] Put results into this array. It has the following fields, which return result for one channel of data:

bytesXfered [OUT] -- The total number of bytes transferred samplesXfered [OUT] -- The total number of samples transferred


Generated on Wed Jul 4 2012 22:13:28 for AAF COM API by doxygen 1.7.4