This interface is used with an object representing a particular kind of essence codec, which may be implemented by one or more AAFPluginDescriptors. More...
Public Member Functions | |
HRESULT | Initialize ([in, ref] aafUID_constref id,[in, string] aafCharacter_constptr pName,[in, string] aafCharacter_constptr pDescription) |
Init all fields of a definition object. | |
HRESULT | IsEssenceKindSupported ([in] IAAFDataDef *pEssenceKind,[out, retval] aafBoolean_t *pIsSupported) |
Returns AAFTrue if the given codec support transfers to essence of the given essence kind. | |
HRESULT | AddEssenceKind ([in] IAAFDataDef *pEssenceKind) |
Appends the given essence kind to those supported by the codec. | |
HRESULT | RemoveEssenceKind ([in] IAAFDataDef *pEssenceKind) |
Removes the given essence kind from the list of those supported by the codec. | |
HRESULT | CountEssenceKinds ([out, retval] aafUInt32 *pResult) |
Places the number of supported essence kinds into *pResult. | |
HRESULT | GetEssenceKinds ([out, retval] IEnumAAFDataDefs **ppEnum) |
Places an IEnumAAFDataDefs enumerator for the essence kinds contained in the sequence into the *ppEnum argument. | |
HRESULT | AreThereFlavours ([out, retval] aafBoolean_t *pResult) |
Find out whether its worth iterating over flavours. | |
HRESULT | GetFileDescriptorClass ([out] IAAFClassDef **ppClass) |
Places the file descriptor class object associated with this codec into the *ppClass argument. | |
HRESULT | SetFileDescriptorClass ([in] IAAFClassDef *pClass) |
Sets the file descriptor class associated with this codec to be the given one. | |
HRESULT | EnumCodecFlavours ([out, retval] IEnumAAFCodecFlavours **ppEnum) |
Places an enumerator for codec flavour into the *ppEnum argument. |
This interface is used with an object representing a particular kind of essence codec, which may be implemented by one or more AAFPluginDescriptors.
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 IAAFCodecDef also implement the following interfaces:
HRESULT IAAFCodecDef::AddEssenceKind | ( | [in] IAAFDataDef * | pEssenceKind | ) |
Appends the given essence kind to those supported by the codec.
This is dependant upon the format, not an incomplete implementation.
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_DUPLICATE_ESSENCE_KIND
pEssenceKind | [in] The essence kind |
HRESULT IAAFCodecDef::AreThereFlavours | ( | [out, retval] aafBoolean_t * | pResult | ) |
Find out whether its worth iterating over flavours.
Flavours are used when a single codec can support multiple formats. An example would be a codec which would accept a "resolution ID" for a particular manufacturer and set up all of the parameters. When a new resolution ID is released, then a new codec plugin would give users the ability to use the new resolutions without upgrading the application.
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
pResult | [out,retval] True if there are flavours of this codec |
HRESULT IAAFCodecDef::CountEssenceKinds | ( | [out, retval] aafUInt32 * | pResult | ) |
Places the number of supported essence kinds into *pResult.
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
pResult | [out, retval] The number of essence kinds |
HRESULT IAAFCodecDef::EnumCodecFlavours | ( | [out, retval] IEnumAAFCodecFlavours ** | ppEnum | ) |
Places an enumerator for codec flavour into the *ppEnum argument.
The returned enumerator is AddRef()ed before it is returned.
Flavours are used when a single codec can support multiple formats. An example would be a codec which would accept a "resolution ID" for a particular manufacturer and set up all of the parameters. When a new resolution ID is released, then a new codec plugin would give users the ability to use the new resolutions without upgrading the application.
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,retval] Codec flavour Enumeration |
HRESULT IAAFCodecDef::GetEssenceKinds | ( | [out, retval] IEnumAAFDataDefs ** | ppEnum | ) |
Places an IEnumAAFDataDefs enumerator for the essence kinds contained in the sequence into the *ppEnum argument.
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_NOT_INITIALIZED
AAFRESULT_NULL_PARAM
E_FAIL
ppEnum | [out, retval] Essence Kind Enumeration |
HRESULT IAAFCodecDef::GetFileDescriptorClass | ( | [out] IAAFClassDef ** | ppClass | ) |
Places the file descriptor class object associated with this codec into the *ppClass argument.
If none exists yet, NULL is placed into the*ppClass argument.
The returned class object, if it exists, is AddRef()ed before it is returned.
Succeeds if all of the following are true:
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_NOT_INITIALIZED
AAFRESULT_NULL_PARAM
ppClass | [out] Returned file descriptor class object |
HRESULT IAAFCodecDef::Initialize | ( | [in, ref] aafUID_constref | id, |
[in, string] aafCharacter_constptr | pName, | ||
[in, string] aafCharacter_constptr | pDescription | ||
) |
Init all fields of a definition object.
id | [in, ref] AUID for new DefObject |
pName | [in, string] Name for new DefObject |
pDescription | [in, string] Description for new DefObject |
HRESULT IAAFCodecDef::IsEssenceKindSupported | ( | [in] IAAFDataDef * | pEssenceKind, |
[out, retval] aafBoolean_t * | pIsSupported | ||
) |
Returns AAFTrue if the given codec support transfers to essence of the given essence kind.
Succeeds if all of the following are true:
If this method fails nothing will be written to *pIsSupported.
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
pEssenceKind | [in] The essence kind |
pIsSupported | [out,retval] Is this type supported |
HRESULT IAAFCodecDef::RemoveEssenceKind | ( | [in] IAAFDataDef * | pEssenceKind | ) |
Removes the given essence kind from the list of those supported by the codec.
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
pEssenceKind | [in] The essence kind to remove |
HRESULT IAAFCodecDef::SetFileDescriptorClass | ( | [in] IAAFClassDef * | pClass | ) |
Sets the file descriptor class associated with this codec to be the given one.
Succeeds if all of the following are true:
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_NOT_INITIALIZED
AAFRESULT_NULL_PARAM
pClass | [in] File descriptor class object |