AAFA Developer Support

Main Page | Class List | File List | Class Members | File Members

IAAFCodecDef Interface Reference

List of all members.

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 874 of file AAF.idl.

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.


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 DeObject
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 Thu Feb 17 09:34:13 2005 for AAF COM API by doxygen 1.4.1