AAFA Developer Support

Public Member Functions
IAAFCodecDef Interface Reference

This interface is used with an object representing a particular kind of essence codec, which may be implemented by one or more AAFPluginDescriptors. More...

List of all members.

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.

Detailed Description

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:

Definition at line 3226 of file AAF.idl.


Member Function Documentation

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

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

AAFRESULT_NULL_PARAM

  • pEssenceKind is null.

AAFRESULT_DUPLICATE_ESSENCE_KIND

  • the given essenceKind is already contained.
Parameters:
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:

  • the pResult 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

  • if Result is null.
Parameters:
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

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

AAFRESULT_NULL_PARAM

  • pResult is NULL.
Parameters:
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:

  • 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

  • if ppEnum is null.
Parameters:
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:

  • this object has already been initialized.
  • 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_NOT_INITIALIZED

AAFRESULT_NULL_PARAM

  • ppEnum is null.

E_FAIL

  • Failed to create the enumerator.
Parameters:
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:

  • the ppClass pointer is valid.
  • A valid file descriptor class exists.

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_NOT_INITIALIZED

AAFRESULT_NULL_PARAM

  • ppClass is null.
Parameters:
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.

Parameters:
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:

  • the pEssenceKind pointer is valid.
  • the pIsSupported pointer is valid.

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

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

AAFRESULT_NULL_PARAM

  • pEssenceKind or pIsSupported is null.
Parameters:
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

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

AAFRESULT_NULL_PARAM

  • pEssenceKind is null.

AAFRESULT_OBJECT_NOT_FOUND

  • the given essenceKind is not already contained.
Parameters:
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:

  • the pClass 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_NOT_INITIALIZED

AAFRESULT_NULL_PARAM

  • pClass is null.
Parameters:
pClass[in] File descriptor class object

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