The IAAFMob 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 IAAFMob also implement the following interfaces:
Definition at line 13735 of file AAF.idl.
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) |
| 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. | |
|
||||||||||||
|
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:
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
|
|
|
Appends a pre-existing KLV Data object to the specified Mob. 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
|
|
||||||||||||||||||||||||||||
|
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:
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
|
|
|
Appends the given mob slot to the mob. 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
|
|
||||||||||||
|
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
|
|
||||||||||||||||||||
|
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:
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
|
|
||||||||||||
|
|
|
|
return total number of comments attached to this mob. Succeeds if all of the following are true:
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
AAFRESULT_NULL_PARAM
|
|
|
return total number of KLV data objects attached to this mob. Succeeds if all of the following are true:
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
AAFRESULT_NULL_PARAM
|
|
|
This method returns the number of slots contained by this mob. Succeeds if all of the following are true:
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
AAFRESULT_NULL_PARAM
|
|
|
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:
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
|
|
|
This method will return the creation time for this mob. Succeeds if all of the following are true:
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
AAFRESULT_NULL_PARAM
|
|
|
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:
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
|
|
|
This method returns the unique Mob ID associated with this mob. Succeeds if all of the following are true:
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
AAFRESULT_NULL_PARAM
|
|
||||||||||||||||||||
|
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:
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
AAFRESULT_NULL_PARAM
AAFRESULT_SMALLBUF
|
|
|
This method will return the modification time for this mob. Succeeds if all of the following are true:
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
AAFRESULT_NULL_PARAM
|
|
||||||||||||
|
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:
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_SMALL_BUF
|
|
|
Returns size of buffer (in bytes) required for GetName(). 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_NULL_PARAM
|
|
||||||||||||
|
Returns the indexed slot in *ppSlot. 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
|
|
|
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:
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
|
|
||||||||||||
|
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:
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
|
|
||||||||||||
|
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:
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
AAFRESULT_NULL_PARAM
|
|
||||||||||||||||
|
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:
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
AAFRESULT_NULL_PARAM
AAFRESULT_TIMECODE_NOT_FOUND
|
|
|
Prepends the given mob slot to the mob. 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
|
|
|
/// Removes the given comment from this mob. 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_NOT_FOUND
|
|
|
/// Removes the given KLV data object from this mob. 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_NOT_FOUND
|
|
|
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
AAFRESULT_BADINDEX
|
|
|
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
|
|
|
/// 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
|
|
|
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
|
|
|
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:
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
AAFRESULT_NULL_PARAM
|
1.4.1