AAFA Developer Support

Public Member Functions
IAAFMob2 Interface Reference

The IAAFMob2 interface is implemented by objects that specify a Metadata Object, which can describe a composition, essence, or physical media. More...

List of all members.

Public Member Functions

HRESULT GetMobID ([out] aafMobID_t *pMobID)
 This method returns the unique Mob ID associated with this mob.
HRESULT SetMobID ([in, ref] aafMobID_constref mobID)
 When a mob is initially created, the Reference Implementation internally creates a mobID for the new mob.
HRESULT SetName ([in, string] aafCharacter_constptr pName)
 Sets the Mob Name string property.
HRESULT GetName ([out, string, size_is(bufSize)] aafCharacter *pName,[in] aafUInt32 bufSize)
 Gets the Mob Name string property.
HRESULT GetNameBufLen ([out] aafUInt32 *pBufSize)
 Returns size of buffer (in bytes) required for GetName().
HRESULT CountSlots ([out] aafNumSlots_t *pNumSlots)
 This method returns the number of slots contained by this mob.
HRESULT AppendSlot ([in] IAAFMobSlot *pSlot)
 Appends the given mob slot to the mob.
HRESULT PrependSlot ([in] IAAFMobSlot *pSlot)
 Prepends the given mob slot to the mob.
HRESULT InsertSlotAt ([in] aafUInt32 index,[in] IAAFMobSlot *pSlot)
 Inserts the given slot into this mob at the given index.
HRESULT RemoveSlotAt ([in] aafUInt32 index)
 Removes the slot at the given index.
HRESULT GetSlotAt ([in] aafUInt32 index,[out, retval] IAAFMobSlot **ppSlot)
 Returns the indexed slot in *ppSlot.
HRESULT GetSlots ([out] IEnumAAFMobSlots **ppEnum)
 Return an enumeration for all mob slots.
HRESULT GetModTime ([out] aafTimeStamp_t *pLastModified)
 This method will return the modification time for this mob.
HRESULT SetModTime ([in, ref] aafTimeStamp_constref modTime)
 This method sets the modification time on a mob.
HRESULT GetCreateTime ([out] aafTimeStamp_t *pCreationTime)
 This method will return the creation time for this mob.
HRESULT SetCreateTime ([in, ref] aafTimeStamp_constref createTime)
 This method sets the creation time on a mob.
HRESULT AppendComment ([in, string] aafCharacter *pCategory,[in, string] aafCharacter_constptr pComment)
 Creates a user-defined comment and appends it to the specified Mob.
HRESULT CountComments ([out] aafUInt32 *pNumComments)
 return total number of comments attached to this mob.
HRESULT GetComments ([out] IEnumAAFTaggedValues **ppEnum)
 Return the enumeration for all mob comments.
HRESULT RemoveComment ([in] IAAFTaggedValue *pComment)
 Removes the given comment from this mob.
HRESULT AppendNewTimelineSlot ([in] aafRational_t editRate,[in] IAAFSegment *pSegment,[in] aafSlotID_t slotID,[in, string] aafCharacter_constptr pSlotName,[in] aafPosition_t origin,[out] IAAFTimelineMobSlot **ppNewSlot)
 This method creates a new timeline mob slot with the given property values and appends it to the input mob.
HRESULT GetMobInfo ([out] aafTimeStamp_t *pLastModified,[out] aafTimeStamp_t *pCreationTime,[out, size_is(bufSize), string] aafCharacter *pName,[in] aafInt32 bufSize)
 This method will get all mob property information is a single call.
HRESULT OffsetToMobTimecode ([in] IAAFSegment *pTcSeg,[in] aafPosition_t *pOffset,[out] aafTimecode_t *pResult)
 This method will determine the timecode at the given offset into the given timecode segment, and will return it in *pResult.
HRESULT LookupSlot ([in] aafSlotID_t slotId,[out] IAAFMobSlot **ppDestSlot)
 The method will find the mob slot for the given slot id.
HRESULT ChangeRef ([in, ref] aafMobID_constref oldMobID,[in, ref] aafMobID_constref newMobID)
 Finds all Source Clips in the specified Mob that refer to the specified old Mob, and changes the references to point to the new Mob.
HRESULT CloneExternal ([in] aafDepend_t resolveDependencies,[in] aafIncMedia_t includeMedia,[in] IAAFFile *pDestFile,[out] IAAFMob **ppDestMob)
 Clones the specified Source Mob, and optionally all dependent Mobs, to an external file, keeping the same MobID.
HRESULT Copy ([in, string] aafCharacter_constptr pDestMobName,[out] IAAFMob **ppDestMob)
 This function copies the specified Mob into a destination Mob in the same AAF file.
HRESULT AppendKLVData ([in] IAAFKLVData *pData)
 Appends a pre-existing KLV Data object to the specified Mob.
HRESULT CountKLVData ([out] aafUInt32 *pNumData)
 Return total number of KLV data objects attached to this mob.
HRESULT GetKLVData ([out] IEnumAAFKLVData **ppEnum)
 Return the enumeration for all KLV data objects on this mob.
HRESULT RemoveKLVData ([in] IAAFKLVData *pData)
 Removes the given KLV data object from this mob.
HRESULT AppendAttribute ([in] aafCharacter_constptr pName,[in] aafCharacter_constptr pValue)
 Append an attribute name/value pair to the attribute list.
HRESULT CountAttributes ([out] aafUInt32 *pNumAttributes)
 Return the number of attributes contained in this mob.
HRESULT GetAttributes ([out] IEnumAAFTaggedValues **ppEnum)
 Return an attribute enumerator for this mob.
HRESULT RemoveAttribute ([in] IAAFTaggedValue *pAttribute)
 Remove a mob attribute (tagged value).
HRESULT SetUsageCode ([in] aafUID_constref usageCode)
 Set this mob's usage code.
HRESULT GetUsageCode ([out] aafUID_t *pUsageCode)
 Get this mob's usage code.
HRESULT AppendNewStaticSlot ([in] IAAFSegment *pSegment,[in] aafSlotID_t slotID,[in, string] aafCharacter_constptr pSlotName,[out] IAAFStaticMobSlot **ppNewSlot)
 This method creates a new static mob slot with the given property values and appends it to the input mob.
HRESULT AppendNewEventSlot ([in] aafRational_t editRate,[in] IAAFSegment *pSegment,[in] aafSlotID_t slotID,[in, string] aafCharacter_constptr pSlotName,[in] aafPosition_t origin,[out] IAAFEventMobSlot **ppNewSlot)
 This method creates a new event mob slot with the given property values and appends it to the input mob.

Detailed Description

The IAAFMob2 interface is implemented by objects that specify a Metadata Object, which can describe a composition, essence, or physical media.

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 IAAFMob2 also implement the following interfaces:

Definition at line 48633 of file AAF.idl.


Member Function Documentation

HRESULT IAAFMob2::AppendAttribute ( [in] aafCharacter_constptr  pName,
[in] aafCharacter_constptr  pValue 
)

Append an attribute name/value pair to the attribute list.

Creates a new tagged value, initializes it with the specified attribute name/value pair, and appends it to the attribute list.

Succeeds if:

  • pName and pValue are valid pointers.

Return codes:

AAFRESULT_SUCCESS

AAFRESULT_NULL_PARAM

  • pName or pValue is null.
Parameters:
pName[in] The attribute name.
pValue[in] The attribute value.
HRESULT IAAFMob2::AppendComment ( [in, string] aafCharacter *  pCategory,
[in, string] aafCharacter_constptr  pComment 
)

Creates a user-defined comment and appends it to the specified Mob.

A Mob comment is implemented as a AAFTaggedValue object of type WCharString.

Succeeds if all of the following are true:

  • the pCategory pointer is valid.
  • the pComment pointer is valid.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • either pCategory or pComment args is NULL.
Parameters:
pCategory[in,string] Comment heading
pComment[in, string] Comment value
HRESULT IAAFMob2::AppendKLVData ( [in] IAAFKLVData pData)

Appends a pre-existing KLV Data object to the specified Mob.

Succeeds if all of the following are true:

  • the pKLV pointer is valid.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • the pData arg is NULL.
Parameters:
pData[in] KLV object
HRESULT IAAFMob2::AppendNewEventSlot ( [in] aafRational_t  editRate,
[in] IAAFSegment pSegment,
[in] aafSlotID_t  slotID,
[in, string] aafCharacter_constptr  pSlotName,
[in] aafPosition_t  origin,
[out] IAAFEventMobSlot **  ppNewSlot 
)

This method creates a new event mob slot with the given property values and appends it to the input mob.

The returned mob slot is AddRef()ed before it is returned.

Succeeds if all of the following are true:

  • the pSegment pointer is valid.
  • the pSlotName pointer is valid.
  • the ppNewSlot pointer is valid.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • any of pSegment, pSlotName, or ppNewSlot arguments is null.
Parameters:
editRate[in] Edit rate property value
pSegment[in] Segment to append as slot component
slotID[in] new slot ID
pSlotName[in, string] new slot name
origin[in] The slot origin
ppNewSlot[out] Newly created slot
HRESULT IAAFMob2::AppendNewStaticSlot ( [in] IAAFSegment pSegment,
[in] aafSlotID_t  slotID,
[in, string] aafCharacter_constptr  pSlotName,
[out] IAAFStaticMobSlot **  ppNewSlot 
)

This method creates a new static mob slot with the given property values and appends it to the input mob.

The returned mob slot is AddRef()ed before it is returned.

Succeeds if all of the following are true:

  • the pSegment pointer is valid.
  • the pSlotName pointer is valid.
  • the ppNewSlot pointer is valid.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • any of pSegment, pSlotName, or ppNewSlot arguments is null.
Parameters:
pSegment[in] Segment to append as slot component
slotID[in] new slot ID
pSlotName[in, string] new slot name
ppNewSlot[out] Newly created slot
HRESULT IAAFMob2::AppendNewTimelineSlot ( [in] aafRational_t  editRate,
[in] IAAFSegment pSegment,
[in] aafSlotID_t  slotID,
[in, string] aafCharacter_constptr  pSlotName,
[in] aafPosition_t  origin,
[out] IAAFTimelineMobSlot **  ppNewSlot 
)

This method creates a new timeline mob slot with the given property values and appends it to the input mob.

The returned mob slot is AddRef()ed before it is returned.

Succeeds if all of the following are true:

  • the pSegment pointer is valid.
  • the pSlotName pointer is valid.
  • the ppNewSlot pointer is valid.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • any of pSegment, pSlotName, or ppNewSlot arguments is null.
Parameters:
editRate[in] Edit rate property value
pSegment[in] Segment to append as slot component
slotID[in] new slot ID
pSlotName[in, string] new slot name
origin[in] The slot origin
ppNewSlot[out] Newly created slot
HRESULT IAAFMob2::AppendSlot ( [in] IAAFMobSlot pSlot)

Appends the given mob slot to the mob.

Succeeds if all of the following are true:

  • the pSlot pointer is valid.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • pSlot is null.
Parameters:
pSlot[in] slot to append
HRESULT IAAFMob2::ChangeRef ( [in, ref] aafMobID_constref  oldMobID,
[in, ref] aafMobID_constref  newMobID 
)

Finds all Source Clips in the specified Mob that refer to the specified old Mob, and changes the references to point to the new Mob.

This function traverses through the entire structure of the input Mob looking for Source Clips, and changes the sourceID property on all Source Clips with oldMobID to newMobID.

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

  • succeeded. (This is the only code indicating success.)
Parameters:
oldMobID[in, ref] Old Mob ID reference in source clip
newMobID[in, ref] New Mob ID reference in source clip
HRESULT IAAFMob2::CloneExternal ( [in] aafDepend_t  resolveDependencies,
[in] aafIncMedia_t  includeMedia,
[in] IAAFFile pDestFile,
[out] IAAFMob **  ppDestMob 
)

Clones the specified Source Mob, and optionally all dependent Mobs, to an external file, keeping the same MobID.

A pointer to the newly created destination mob is returned in *ppDestMob.

This function clones the specified Source Mob in the source file into a destination Mob, with the same MobID, in the destination file. If resolveDependencies is kFollowDepend, the function also clones all Mobs referenced by the specified Source Mob. If includeMedia is kIncludeMedia, the function also copies the media data associated with the Source Mob, returns the destination Mob, and clones all private data.

If the media data is not in the file, the function does not attempt to find it in another file and clone it. Both AAF files must be open before you call this function and both must have the same AAF Version number.

The returned mob is AddRef()ed before it is returned.

Succeeds if all of the following are true:

  • the pDestFile pointer is valid.
  • the ppDestMob pointer is valid.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • either pDestFile or ppDestMob arguments is NULL.
Parameters:
resolveDependencies[in] Whether to clone dependent mobs
includeMedia[in] Whether to include media data
pDestFile[in] Destination AAF File
ppDestMob[out] Destination Mob
HRESULT IAAFMob2::Copy ( [in, string] aafCharacter_constptr  pDestMobName,
[out] IAAFMob **  ppDestMob 
)

This function copies the specified Mob into a destination Mob in the same AAF file.

The new Mob is returned through the destMob parameter. The function gives the destination Mob a new MobID and the name specified in the destMobName parameter. The function also copies all private data.

The returned mob is AddRef()ed before it is returned.

Succeeds if all of the following are true:

  • the pDestMobName pointer is valid.
  • the ppDestMob pointer is valid.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • either pDestMobName or pDestMob arguments is NULL.
Parameters:
pDestMobName[in, string] Optional Input. The name to be assigned to the new copy of the Mob. The destMobName argument is optional. Specify a NULL value if no destination Mob name is desired.
ppDestMob[out] Destination Mob
HRESULT IAAFMob2::CountAttributes ( [out] aafUInt32 *  pNumAttributes)

Return the number of attributes contained in this mob.

Succeeds if:

  • pNumAttributes is a valid pointer

Return codes:

AAFRESULT_SUCCESS

AAFRESULT_NULL_PARAM

  • pNumAttributes is null.
Parameters:
pNumAttributes[out] Pointer to attribute count.
HRESULT IAAFMob2::CountComments ( [out] aafUInt32 *  pNumComments)

return total number of comments attached to this mob.

Succeeds if all of the following are true:

  • the pNumComments pointer is valid.

If this method fails nothing will be written to *pNumComments.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • pNumComments arg is NULL.
Parameters:
pNumComments[out] Number of Mob Comments
HRESULT IAAFMob2::CountKLVData ( [out] aafUInt32 *  pNumData)

Return total number of KLV data objects attached to this mob.

Succeeds if all of the following are true:

  • the pNumData pointer is valid.

If this method fails nothing will be written to *pNumComments.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • pNumData arg is NULL.
Parameters:
pNumData[out] Number of KLV data objects
HRESULT IAAFMob2::CountSlots ( [out] aafNumSlots_t *  pNumSlots)

This method returns the number of slots contained by this mob.

Succeeds if all of the following are true:

  • the pNumSlots pointer is valid.

If this method fails nothing will be written to *pNumSlots.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • pNumSlots arg is NULL.
Parameters:
pNumSlots[out] Number of slots
HRESULT IAAFMob2::GetAttributes ( [out] IEnumAAFTaggedValues **  ppEnum)

Return an attribute enumerator for this mob.

Creates an enumerator for this mobs attributes. The new enumerator is AddRef()ed before it is returned.

Succeeds if:

  • pName and pValue are valid pointers.

Return codes:

AAFRESULT_SUCCESS

AAFRESULT_NULL_PARAM

  • pEnum was null.
Parameters:
ppEnum[out] Pointer to the new enumerator object created by this method.
HRESULT IAAFMob2::GetComments ( [out] IEnumAAFTaggedValues **  ppEnum)

Return the enumeration for all mob comments.

The returned enumerator is AddRef()ed before it is returned. Mob comments are implemented as AAFTaggedValue of type WCharString. The enumerator is implemented as a EnumAAAFTaggedValues.

Succeeds if all of the following are true:

  • the ppEnum pointer is valid.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • ppEnum is null.
Parameters:
ppEnum[out] Mob Comments
HRESULT IAAFMob2::GetCreateTime ( [out] aafTimeStamp_t *  pCreationTime)

This method will return the creation time for this mob.

Succeeds if all of the following are true:

  • the pCreationTime pointer is valid.

If this method fails nothing will be written to *pCreationTime.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • pCreationTime arg is NULL.
Parameters:
pCreationTime[out] Creation Time
HRESULT IAAFMob2::GetKLVData ( [out] IEnumAAFKLVData **  ppEnum)

Return the enumeration for all KLV data objects on this mob.

The returned enumerator is AddRef()ed before it is returned. The enumerator is implemented as a EnumAAFKLVData.

Succeeds if all of the following are true:

  • the ppEnum pointer is valid.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • ppEnum is null.
Parameters:
ppEnum[out] KLV data objects
HRESULT IAAFMob2::GetMobID ( [out] aafMobID_t *  pMobID)

This method returns the unique Mob ID associated with this mob.

Succeeds if all of the following are true:

  • the pMobID pointer is valid.

If this method fails nothing will be written to *pMobID.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • pMobID arg is NULL.
Parameters:
pMobID[out] The unique media object id
HRESULT IAAFMob2::GetMobInfo ( [out] aafTimeStamp_t *  pLastModified,
[out] aafTimeStamp_t *  pCreationTime,
[out, size_is(bufSize), string] aafCharacter *  pName,
[in] aafInt32  bufSize 
)

This method will get all mob property information is a single call.

Caller may call GetNameBufLen() to determine the required pName buffer size.

Succeeds if all of the following are true:

  • the pLastModified pointer is valid.
  • the pCreationTime pointer is valid.
  • the pName pointer is valid.

If this method fails nothing will be written to *pLastModified, pCreationTime, or *pName.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • any of pLastModified, pCreationTime, or pName arguments is NULL.

AAFRESULT_SMALLBUF

  • bufSize indicates the buffer is too small to hold the string.
Parameters:
pLastModified[out] Modified Time
pCreationTime[out] Creation Time
pName[out, size_is(bufSize), string] Mob Name
bufSize[in] size of the supplied buffer.
HRESULT IAAFMob2::GetModTime ( [out] aafTimeStamp_t *  pLastModified)

This method will return the modification time for this mob.

Succeeds if all of the following are true:

  • the pLastModified pointer is valid.

If this method fails nothing will be written to *pLastModified.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • pLastModified arg is NULL.
Parameters:
pLastModified[out] Modified Time
HRESULT IAAFMob2::GetName ( [out, string, size_is(bufSize)] aafCharacter *  pName,
[in] aafUInt32  bufSize 
)

Gets the Mob Name string property.

Writes the Name property, with a trailing null character, into the pName buffer. The buffer is allocated by the caller. The size of the buffer is given by bufSize. If the Name property has not yet been set, a zero-length string will be written (that is, only the trailing null character).

Caller may call GetNameBufLen() to determine the required buffer size.

If this method fails nothing will be written to pName.

Succeeds if:

  • The pName pointer is valid.
  • bufSize indicates that the buffer is large enough to hold Name.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • pName arg is NULL.

AAFRESULT_SMALL_BUF

  • bufSize indicates that the allocated buffer is not large enough to hold Name.
Parameters:
pName[out, string, size_is(bufSize)] buffer into which Name is to be written
bufSize[in] size of *pName buffer in bytes
HRESULT IAAFMob2::GetNameBufLen ( [out] aafUInt32 *  pBufSize)

Returns size of buffer (in bytes) required for GetName().

Succeeds if:

  • The pBufSize pointer is valid.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • pBufSize arg is NULL.
Parameters:
pBufSize[out] size of required buffer, in bytes
HRESULT IAAFMob2::GetSlotAt ( [in] aafUInt32  index,
[out, retval] IAAFMobSlot **  ppSlot 
)

Returns the indexed slot in *ppSlot.

Succeeds if all of the following are true:

  • ppSlot is a valid pointer.
  • index is less than the result obtained by CountSlots().

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • ppSlot is null.

AAFRESULT_BADINDEX

  • index is not less than the result obtained from CountSlots().
Parameters:
index[in] index of slot to be obtained
ppSlot[out, retval] the returned slot
HRESULT IAAFMob2::GetSlots ( [out] IEnumAAFMobSlots **  ppEnum)

Return an enumeration for all mob slots.

The returned enumerator is AddRef()ed before it is returned.

Succeeds if all of the following are true:

  • the ppEnum pointer is valid.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • ppEnum is null.
Parameters:
ppEnum[out] Mob Slot Enumeration
HRESULT IAAFMob2::GetUsageCode ( [out] aafUID_t *  pUsageCode)

Get this mob's usage code.

Usage codes are documented in the AAF Edit Protocol, and related specifications.

Succeeds if:

  • pUsageCode is a valid pointer

Return codes:

AAFRESULT_PROP_NOT_PRESENT

  • no usage code is present on this mob

AAFRESULT_NULL_PARAM

  • pUsageCode is null

AAFRESULT_SUCCESS

  • succeeded (This is the only code indicating success.)
Parameters:
pUsageCode[out] Pointer to usage code.
HRESULT IAAFMob2::InsertSlotAt ( [in] aafUInt32  index,
[in] IAAFMobSlot pSlot 
)

Inserts the given slot into this mob at the given index.

All existing slots at the given and higher index will be moved up one index to accommodate.

Succeeds if all of the following are true:

  • the pSlot pointer is valid.
  • index is less than or equal to the result obtained by CountSlots().

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • pSlot is null.

AAFRESULT_BADINDEX

  • index is greater than the result obtained from CountSlots().
Parameters:
index[in] index where slot is to be inserted
pSlot[in] slot to insert
HRESULT IAAFMob2::LookupSlot ( [in] aafSlotID_t  slotId,
[out] IAAFMobSlot **  ppDestSlot 
)

The method will find the mob slot for the given slot id.

The returned mob slot is AddRef()ed before it is returned.

Succeeds if all of the following are true:

  • the ppDestSlot pointer is valid.
  • the given slot ID is found.

If this method fails nothing will be written to *ppDestSlot.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • ppDestSlot arg is NULL.
Parameters:
slotId[in] The requested slot id
ppDestSlot[out] The requested slot
HRESULT IAAFMob2::OffsetToMobTimecode ( [in] IAAFSegment pTcSeg,
[in] aafPosition_t *  pOffset,
[out] aafTimecode_t *  pResult 
)

This method will determine the timecode at the given offset into the given timecode segment, and will return it in *pResult.

If pTcSeg is NULL, will search for the slot containing a timecode segment and will use that instead.

Succeeds if all of the following are true:

  • the pTcSeg pointer is valid.
  • the pOffset pointer is valid.
  • the pResult pointer is valid.
  • Timecode track exists.

If this method fails nothing will be written to *pResult.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • either pOffset or pResult argument is NULL.

AAFRESULT_TIMECODE_NOT_FOUND

  • timecode track wasn't found.
Parameters:
pTcSeg[in] Timecode Segment
pOffset[in] Offset into segment in edit units for that segment's mob slot
pResult[out] The resulting timecode
HRESULT IAAFMob2::PrependSlot ( [in] IAAFMobSlot pSlot)

Prepends the given mob slot to the mob.

Succeeds if all of the following are true:

  • the pSlot pointer is valid.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • pSlot is null.
Parameters:
pSlot[in] slot to prepend
HRESULT IAAFMob2::RemoveAttribute ( [in] IAAFTaggedValue pAttribute)

Remove a mob attribute (tagged value).

Succeeds if:

  • pName and pValue are valid pointers.

Return codes:

AAFRESULT_SUCCESS

AAFRESULT_NULL_PARAM

  • pName or pValue is null.
Parameters:
pAttribute[in] Pointer to the tagged value attribute.
HRESULT IAAFMob2::RemoveComment ( [in] IAAFTaggedValue pComment)

Removes the given comment from this mob.

Succeeds if all of the following are true:

  • the pComment pointer is valid.
  • the given comment is present in the mob.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • pComment is null.

AAFRESULT_OBJECT_NOT_FOUND

  • the given comment is not in this mob.
Parameters:
pComment[in] Comment to remove
HRESULT IAAFMob2::RemoveKLVData ( [in] IAAFKLVData pData)

Removes the given KLV data object from this mob.

Succeeds if all of the following are true:

  • the pData pointer is valid.
  • the given KLV data object is present in the mob.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • pData is null.

AAFRESULT_OBJECT_NOT_FOUND

  • the given KLV data object is not in this mob.
Parameters:
pData[in] KLV data object to remove
HRESULT IAAFMob2::RemoveSlotAt ( [in] aafUInt32  index)

Removes the slot at the given index.

All existing slots at indices higher than the given index will be moved down one 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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_BADINDEX

  • index is not less than the result obtained from CountSlots().
Parameters:
index[in] index of slot to be removed
HRESULT IAAFMob2::SetCreateTime ( [in, ref] aafTimeStamp_constref  createTime)

This method sets the creation time on a mob.

The creation time is initially set to the time that the mob was created. Therefore, this method should be called explicitly to change the creation time.

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

  • succeeded. (This is the only code indicating success.)
Parameters:
createTime[in, ref] New Creation Time
HRESULT IAAFMob2::SetMobID ( [in, ref] aafMobID_constref  mobID)

When a mob is initially created, the Reference Implementation internally creates a mobID for the new mob.

This method should be used to change the mob's identity to an explicit mobID.

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

  • succeeded. (This is the only code indicating success.)
Parameters:
mobID[in, ref] New Mob ID
HRESULT IAAFMob2::SetModTime ( [in, ref] aafTimeStamp_constref  modTime)

This method sets the modification time on a mob.

The modification time is initially set to the time that the mob was created. The Reference Implementation does not maintain the modification time every time that a mob has been updated. Therefore, this method should be called explicitly to change the modification time.

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

  • succeeded. (This is the only code indicating success.)
Parameters:
modTime[in, ref] New Modification Time
HRESULT IAAFMob2::SetName ( [in, string] aafCharacter_constptr  pName)

Sets the Mob Name string property.

Set the Name property to the value specified in pName. A copy is made of the data so the caller retains ownership of the *pName buffer and is responsible for de-allocating it. There is no pre-set limit to the length of the name, other than available system memory or disk space.

Succeeds if all of the following are true:

  • the pName pointer is valid.

If this method fails the Name property will not 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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • pName arg is NULL.
Parameters:
pName[in, string] buffer from which Name is to be read
HRESULT IAAFMob2::SetUsageCode ( [in] aafUID_constref  usageCode)

Set this mob's usage code.

Usage codes are documented in the AAF Edit Protocol, and related specifications.

Return codes:

AAFRESULT_SUCCESS

Parameters:
usageCode[in] The usage code value.

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