This interface deals with essence data which is in an uncompressed form, and handles compression or decompression of the data if required. You may need to QueryInterface for an AAFEssenceAccess interface in order to do non-read write operations such as seek.
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.
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.
Objects that implement IAAFEssenceAccess also implement the following interfaces:
Definition at line 6211 of file AAF.idl.
Public Member Functions | |
| HRESULT | SetEssenceCodecFlavour ([in, ref] aafUID_constref flavour) |
| Sets which flavour of the codec ID is to be used. | |
| HRESULT | WriteSamples ([in] aafUInt32 nSamples,[in] aafUInt32 buflen,[in, size_is(buflen)] aafDataBuffer_t buffer,[out, ref] aafUInt32 *samplesWritten,[out, ref] aafUInt32 *bytesWritten) |
| Writes data to the given essence stream. | |
| HRESULT | GetLargestSampleSize ([in] IAAFDataDef *pDataDef,[out] aafLength_t *maxSize) |
| Returns the size in bytes of the largest sample for a given essence type. | |
| HRESULT | GetIndexedSampleSize ([in] IAAFDataDef *pDataDef,[in] aafPosition_t frameNum,[out] aafLength_t *frameSize) |
| Returns the size in bytes of the given sample for a given essence type. | |
| HRESULT | SetTransformParameters ([in] IAAFEssenceFormat *op) |
| Sets a series of format objects which will be used to describe the in-memory format. | |
| HRESULT | CountSamples ([in] IAAFDataDef *pDataDef,[out] aafLength_t *result) |
| Returns the number of samples of the given essence type on the given essence stream. | |
| HRESULT | ReadSamples ([in] aafUInt32 nSamples,[in] aafUInt32 buflen,[out, size_is(buflen), length_is(*bytesRead)] aafDataBuffer_t buffer,[out, ref] aafUInt32 *samplesRead,[out, ref] aafUInt32 *bytesRead) |
| Read a given number of samples from an opened essence stream. | |
| HRESULT | Seek ([in] aafPosition_t sampleFrameNum) |
| The seek function for essence. | |
| HRESULT | GetFileFormat ([in] IAAFEssenceFormat *opsTemplate,[out] IAAFEssenceFormat **opsResult) |
| Given an AAFEssenceFormat, read the essence parameters inside and set the values from the file format. | |
| HRESULT | GetFileFormatParameterList ([out] IAAFEssenceFormat **ops) |
| Returns an AAFEssenceFormat containing a list of all parameters supported by the current codec. | |
| HRESULT | GetEmptyFileFormat ([out] IAAFEssenceFormat **ops) |
| Returns an empty AAFEssenceFormat object. | |
| HRESULT | PutFileFormat ([in] IAAFEssenceFormat *ops) |
| Given an AAFEssenceFormat, read the essence parameters inside and change the file format. | |
| HRESULT | GetCodecName ([in] aafUInt32 namelen,[out, size_is(namelen)] aafCharacter *name) |
| Returns the full name of the given codec expanded for human consumption. | |
| HRESULT | GetCodecID ([out] aafCodecID_t *codecID) |
| Returns the codec ID being used to handle the specified essence. | |
| HRESULT | CompleteWrite () |
| Handle any format related writing at the end and adjust mob lengths. | |
|
|
Handle any format related writing at the end and adjust mob lengths. Must be called before releasing a write essence access. Possible Errors: AAFRESULT_STREAM_FULL
|
|
||||||||||||
|
Returns the number of samples of the given essence type on the given essence stream. A video sample is one frame.
|
|
|
Returns the codec ID being used to handle the specified essence. This will be required in order to send private data to the codec. The name will be truncated to fit within "buflen" bytes.
|
|
||||||||||||
|
Returns the full name of the given codec expanded for human consumption. No other call uses this name, so it may be fully descriptive, esp. of limitations. The name will be truncated to fit within "buflen" bytes. Possible Errors: AAFRESULT_CODEC_INVALID - The given codec ID is not loaded. AAFRESULT_SMALLBUF - The buffer is not large enough to hold the data.
|
|
|
Returns an empty AAFEssenceFormat object. This is the factory method for AAFEssenceFormat.
|
|
||||||||||||
|
Given an AAFEssenceFormat, read the essence parameters inside and set the values from the file format.
|
|
|
Returns an AAFEssenceFormat containing a list of all parameters supported by the current codec.
|
|
||||||||||||||||
|
Returns the size in bytes of the given sample for a given essence type. For uncompressed data, or the output of the software codec, the sample size will propably be a constant. The essence type parameter exists to support codecs with multiple interleaved essence types. Possible Errors: AAFRESULT_NULL_PARAM -- A return parameter was NULL. AAFRESULT_BADSAMPLEOFFSET -- The supplied sample offset is out of range.
|
|
||||||||||||
|
Returns the size in bytes of the largest sample for a given essence type. For uncompressed data, or the output of the software codec, the sample size will propably be a constant. The essence type parameter exists to support codecs with multiple interleaved essence types.
|
|
|
Given an AAFEssenceFormat, read the essence parameters inside and change the file format.
|
|
||||||||||||||||||||||||
|
Read a given number of samples from an opened essence stream. This call will only return a single channel of essence from an interleaved stream. A video sample is a frame. Buflen is in bytes, and should be large enough to hold the samples after the requested transforms have been applied. Possible Errors: AAFRESULT_END_OF_DATA -- Hit the end of the essence (like EOF) while reading. AAFRESULT_SMALLBUF -- Buffer too small for samples.
|
|
|
The seek function for essence. Useful only on reading, you can't seek aound while writing essence. An audio frame is one sample across all channels. Possible Errors: AAFRESULT_BADSAMPLEOFFSET -- Hit the end of the essence (like EOF) while reading.
|
|
|
Sets which flavour of the codec ID is to be used. An example of a flavour would be a number of standard starting JPEG tables.
|
|
|
Sets a series of format objects which will be used to describe the in-memory format. This is the format expected on writes and produced on reads. On writes, the data will be written in this format, except where a software codec may be used. On reads, the data will be translated to this format. The order of the parameters does matter, as transformations will be applied in that order to get from the on-disk format to the in-memory format.
|
|
||||||||||||||||||||||||
|
Writes data to the given essence stream. A single video frame is ONE sample. Buflen must be large enough to hold the total sample size. Possible Errors: AAFRESULT_SINGLE_CHANNEL_OP -- Tried to write to an interleaved stream. AAFRESULT_BADDATAADDRESS -- The buffer must not be a NULL pointer.
|
1.4.1