IAAFMob is DEPRECATED, Please use IAAFMob2. More...
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. |
IAAFMob is DEPRECATED, Please use IAAFMob2.
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:
HRESULT IAAFMob::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:
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
pCategory | [in,string] Comment heading |
pComment | [in, string] Comment value |
HRESULT IAAFMob::AppendKLVData | ( | [in] IAAFKLVData * | pData | ) |
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
pData | [in] KLV object |
HRESULT IAAFMob::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:
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
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 IAAFMob::AppendSlot | ( | [in] IAAFMobSlot * | pSlot | ) |
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
pSlot | [in] slot to append |
HRESULT IAAFMob::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
oldMobID | [in, ref] Old Mob ID reference in source clip |
newMobID | [in, ref] New Mob ID reference in source clip |
HRESULT IAAFMob::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:
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
resolveDependencies | [in] Whether to clone dependent mobs |
includeMedia | [in] Whether to include media data |
pDestFile | [in] Destination AAF File |
ppDestMob | [out] Destination Mob |
HRESULT IAAFMob::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:
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
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 IAAFMob::CountComments | ( | [out] aafUInt32 * | pNumComments | ) |
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
pNumComments | [out] Number of Mob Comments |
HRESULT IAAFMob::CountKLVData | ( | [out] aafUInt32 * | pNumData | ) |
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
pNumData | [out] Number of KLV data objects |
HRESULT IAAFMob::CountSlots | ( | [out] aafNumSlots_t * | pNumSlots | ) |
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
pNumSlots | [out] Number of slots |
HRESULT IAAFMob::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:
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
ppEnum | [out] Mob Comments |
HRESULT IAAFMob::GetCreateTime | ( | [out] aafTimeStamp_t * | pCreationTime | ) |
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
pCreationTime | [out] Creation Time |
HRESULT IAAFMob::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:
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
ppEnum | [out] KLV data objects |
HRESULT IAAFMob::GetMobID | ( | [out] aafMobID_t * | pMobID | ) |
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
pMobID | [out] The unique media object id |
HRESULT IAAFMob::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:
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
pLastModified | [out] Modified Time |
pCreationTime | [out] Creation Time |
pName | [out, size_is(bufSize), string] Mob Name |
bufSize | [in] size of the supplied buffer. |
HRESULT IAAFMob::GetModTime | ( | [out] aafTimeStamp_t * | pLastModified | ) |
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
pLastModified | [out] Modified Time |
HRESULT IAAFMob::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:
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
pName | [out, string, size_is(bufSize)] buffer into which Name is to be written |
bufSize | [in] size of *pName buffer in bytes |
HRESULT IAAFMob::GetNameBufLen | ( | [out] aafUInt32 * | pBufSize | ) |
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
pBufSize | [out] size of required buffer, in bytes |
HRESULT IAAFMob::GetSlotAt | ( | [in] aafUInt32 | index, |
[out, retval] IAAFMobSlot ** | ppSlot | ||
) |
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
index | [in] index of slot to be obtained |
ppSlot | [out, retval] the returned slot |
HRESULT IAAFMob::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:
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
ppEnum | [out] Mob Slot Enumeration |
HRESULT IAAFMob::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:
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
index | [in] index where slot is to be inserted |
pSlot | [in] slot to insert |
HRESULT IAAFMob::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:
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
slotId | [in] The requested slot id |
ppDestSlot | [out] The requested slot |
HRESULT IAAFMob::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:
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
pTcSeg | [in] Timecode Segment |
pOffset | [in] Offset into segment in edit units for that segment's mob slot |
pResult | [out] The resulting timecode |
HRESULT IAAFMob::PrependSlot | ( | [in] IAAFMobSlot * | pSlot | ) |
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
pSlot | [in] slot to prepend |
HRESULT IAAFMob::RemoveComment | ( | [in] IAAFTaggedValue * | pComment | ) |
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
pComment | [in] Comment to remove |
HRESULT IAAFMob::RemoveKLVData | ( | [in] IAAFKLVData * | pData | ) |
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
pData | [in] KLV data object to remove |
HRESULT IAAFMob::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
AAFRESULT_BADINDEX
index | [in] index of slot to be removed |
HRESULT IAAFMob::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
createTime | [in, ref] New Creation Time |
HRESULT IAAFMob::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
mobID | [in, ref] New Mob ID |
HRESULT IAAFMob::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
modTime | [in, ref] New Modification Time |
HRESULT IAAFMob::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:
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
pName | [in, string] buffer from which Name is to be read |