AAFA Developer Support

Public Member Functions
IAAFMasterMobEx Interface Reference

The IAAFMasterMobEx interface extends IAAFMasterMob. More...

List of all members.

Public Member Functions

HRESULT ExtendEssence ([in] aafSlotID_t masterSlotID,[in] IAAFDataDef *pMediaKind,[in, ref] aafUID_constref codecID,[in] aafRational_t editRate,[in] aafRational_t samplerate,[in] aafCompressEnable_t Enable,[in] IAAFLocator *destination,[in, ref] aafUID_constref fileFormat,[out] IAAFEssenceAccess **access)
 Extends a single stream of essence that was originally created using IAAFMasterMob::CreateEssence.
HRESULT ExtendMultiEssence ([in, ref] aafUID_constref codecID,[in] aafUInt16 arrayElemCount,[in, ref, size_is(arrayElemCount)] aafmMultiCreate_t *mediaArray,[in] aafCompressEnable_t Enable,[in] IAAFLocator *destination,[in, ref] aafUID_constref fileFormat,[out] IAAFEssenceMultiAccess **access)
 Extends a multi-channel interleaved stream of essence that was originally created using IAAFMasterMob::CreateMultiEssence.

Detailed Description

The IAAFMasterMobEx interface extends IAAFMasterMob.

It supports extended essence. Extended essence is represented by a Sequence of SourceClip objects. Each SourceClip refers to a SourceMob which describes one chunk of essence.

Individual chunks of embedded essence are currently limited to 2GB in size. A Sequence of SourceClips provides the means to overcome this limit. There is no limit to the number of SourceClip objects in the sequence or the sum total size of all essence in a file, other than those imposed by the underlying persistent object store. It is expected that this will be significantly larger than 2GB of essence data.

Essence can be extended at any time, for any reason. Typically, it will be extended because a CODEC returned an error indicating a 2GB limit was reached. To overcome this limit, simply extend the essence.

IAAFEssenceAccess::ReadSamples knows how to read embedded essence. This interface is created by IAAFMasterMob::OpenEssence

This interface returns the same errors as IAAFMasterMob::CreateEssence, and IAAFMasterMob::CreateMultiEssence.

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

Objects that implement IAAFMasterMobEx also implement the following interfaces:

Definition at line 48529 of file AAF.idl.


Member Function Documentation

HRESULT IAAFMasterMobEx::ExtendEssence ( [in] aafSlotID_t  masterSlotID,
[in] IAAFDataDef pMediaKind,
[in, ref] aafUID_constref  codecID,
[in] aafRational_t  editRate,
[in] aafRational_t  samplerate,
[in] aafCompressEnable_t  Enable,
[in] IAAFLocator destination,
[in, ref] aafUID_constref  fileFormat,
[out] IAAFEssenceAccess **  access 
)

Extends a single stream of essence that was originally created using IAAFMasterMob::CreateEssence.

Extended essence is represented by a Sequence of SourceClip objects. The first call to ExtendEssence will cause the TimelineMobSlot's SourceClip object to be replaced by a Sequence. The initial SourceClip becomes the first component of the new Sequence.

Parameters:
masterSlotID[in]
pMediaKind[in] create essence of this type
codecID[in, ref] using this codec
editRate[in] with this edit rate
samplerate[in] with this sample rate
Enable[in] optionally compressing it
destination[in] Optionally create the file HERE.
fileFormat[in, ref] with this format
access[out] Return an essence access on the essence.
HRESULT IAAFMasterMobEx::ExtendMultiEssence ( [in, ref] aafUID_constref  codecID,
[in] aafUInt16  arrayElemCount,
[in, ref, size_is(arrayElemCount)] aafmMultiCreate_t *  mediaArray,
[in] aafCompressEnable_t  Enable,
[in] IAAFLocator destination,
[in, ref] aafUID_constref  fileFormat,
[out] IAAFEssenceMultiAccess **  access 
)

Extends a multi-channel interleaved stream of essence that was originally created using IAAFMasterMob::CreateMultiEssence.

Extended essence is represented by a Sequence of SourceClip objects. The first call to ExtendEssence will cause the TimelineMobSlot's SourceClip object to be replaced by a Sequence. The initial SourceClip becomes the first component of the new Sequence.

Parameters:
codecID[in, ref] using this codec
arrayElemCount[in] this many channels
mediaArray[in,ref,size_is(arrayElemCount)] using these definitions
Enable[in] optionally compressing it
destination[in] Optionally create the file HERE.
fileFormat[in, ref] with this format
access[out] Return an essence access on the essence.

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