Advanced Authoring Format

Application Programming Interface Reference

Version 1.0 Preliminary Draft



NOTICE

Product Specifications are subject to change without notice. The software described in this document is furnished under a license agreement, and may be used or copied only in accordance with the terms of the license agreement.
THE ADVANCED AUTHORING FORMAT APPLICATION PROGRAMMING INTERFACE REFERENCE IS PROVIDED "AS IS" WITH NO WARRANTIES WHATSOEVER, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO ANY WARRANTY OF MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR ANY PARTICULAR OR INTENDED PURPOSE, OR ANY WARRANTY OTHERWISE ARISING OUT OF ANY PROPOSAL, SPECIFICATION, OR SAMPLE. IN NO EVENT WILL THE PROMOTERS OR ANY OF THEM BE LIABLE FOR ANY DAMAGES, INCLUDING BUT NOT LIMITED TO LOSS OF PROFITS, LOSS OF USE, INCIDENTAL, CONSEQUENTIAL, INDIRECT, OR SPECIAL DAMAGES ARISING OUT OF USE OF THIS ADVANCED AUTHORING FORMAT APPLICATION PROGRAMMING INTERFACE REFERENCE WHETHER OR NOT SUCH PARTY HAD ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.

Copyright © 1999 Avid Technology, Inc. All Rights Reserved

Trademarks

Avid is a registered trademark of Avid Technology, Inc.

All other trademarks contained herein are the property of their respective owners.



AAF Types Reference
AAF Plugin Interfaces for Codecs
AAF Plugin Types Reference

IAAFAIFCDescriptor Interface
IAAFCDCIDescriptor Interface
IAAFClassDef Interface
IAAFCodecDef Interface
IAAFCommentMarker Interface
IAAFComponent Interface
IAAFCompositionMob Interface
IAAFConstantValue Interface
IAAFContainerDef Interface
IAAFControlPoint Interface
IAAFDataDef Interface
IAAFDefObject Interface
IAAFDictionary Interface
IAAFDigitalImageDescriptor Interface
IAAFEdgecode Interface
IAAFEndian Interface
IAAFEssenceAccess Interface
IAAFEssenceData Interface
IAAFEssenceDescriptor Interface
IAAFEssenceFormat Interface
IAAFEssenceGroup Interface
IAAFEssenceMultiAccess Interface
IAAFEssenceRawAccess Interface
IAAFEvent Interface
IAAFEventMobSlot Interface
IAAFFile Interface
IAAFFileDescriptor Interface
IAAFFiller Interface
IAAFFilmDescriptor Interface
IAAFFindSourceInfo Interface
IAAFGPITrigger Interface
IAAFHeader Interface
IAAFHTMLClip Interface
IAAFIdentification Interface
IAAFIntraFrameMarker Interface
IAAFLocator Interface
IAAFMasterMob Interface
IAAFMob Interface
IAAFMobSlot Interface
IAAFNestedScope Interface
IAAFNetworkLocator Interface
IAAFObject Interface
IAAFOperationDef Interface
IAAFOperationGroup Interface
IAAFParameter Interface
IAAFParameterDef Interface
IAAFPluggableCode Interface
IAAFPluginDescriptor Interface
IAAFPluginManager Interface
IAAFProperty Interface
IAAFPropertyDef Interface
IAAFPropertyValue Interface
IAAFPulldown Interface
IAAFScopeReference Interface
IAAFSearchSource Interface
IAAFSegment Interface
IAAFSelector Interface
IAAFSequence Interface
IAAFSourceClip Interface
IAAFSourceMob Interface
IAAFSourceReference Interface
IAAFTaggedValue Interface
IAAFTapeDescriptor Interface
IAAFTextLocator Interface
IAAFTIFFDescriptor Interface
IAAFTimecode Interface
IAAFTimecodeStream Interface
IAAFTimelineMobSlot Interface
IAAFTransition Interface
IAAFTypeDef Interface
IAAFTypeDefEnum Interface
IAAFTypeDefExtEnum Interface
IAAFTypeDefFixedArray Interface
IAAFTypeDefInt Interface
IAAFTypeDefObjectRef Interface
IAAFTypeDefRecord Interface
IAAFTypeDefRename Interface
IAAFTypeDefSet Interface
IAAFTypeDefStream Interface
IAAFTypeDefString Interface
IAAFTypeDefVariableArray Interface
IAAFVaryingValue Interface
IAAFWAVEDescriptor Interface
IEnumAAFClassDefs Interface
IEnumAAFCodecDefs Interface
IEnumAAFCodecFlavours Interface
IEnumAAFComponents Interface
IEnumAAFContainerDefs Interface
IEnumAAFControlPoints Interface
IEnumAAFDataDefs Interface
IEnumAAFEssenceData Interface
IEnumAAFIdentifications Interface
IEnumAAFInterpolationDefs Interface
IEnumAAFLoadedPlugins Interface
IEnumAAFLocators Interface
IEnumAAFMobs Interface
IEnumAAFMobSlots Interface
IEnumAAFOperationDefs Interface
IEnumAAFParameterDefs Interface
IEnumAAFPluginDescriptors Interface
IEnumAAFPluginLocators Interface
IEnumAAFProperties Interface
IEnumAAFPropertyDefs Interface
IEnumAAFPropertyValues Interface
IEnumAAFSegments Interface
IEnumAAFTaggedValues Interface
IEnumAAFTypeDefs Interface

IAAFAIFCDescriptor Interface


In addition to the methods inherited from IUnknown, the IAAFAIFCDescriptor interface exposes the following methods.
GetSummary
GetSummaryBufferSize
Initialize
SetSummary

The AAFAIFCDescriptor object implements the IAAFAIFCDescriptor interface and also implements the following:

Interface Method
IAAFFileDescriptor GetContainerFormat
GetIsInContainer
GetLength
GetSampleRate
SetContainerFormat
SetIsInContainer
SetLength
SetSampleRate

IAAFEssenceDescriptor AppendLocator
EnumAAFAllLocators
GetNumLocators
PrependLocator




IAAFAIFCDescriptor::GetSummary


The GetSummary method getSummary() Gets a copy of the AIFC file information without the media.
Syntax
HRESULT GetSummary(
  aafUInt32  size,
  aafDataValue_t  pSummary
);

Parameters
  [in]  size
  Specifies size.
  [out]  pSummary
  If the method succeeds, specifies a pointer to a summary object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetSummary() Gets a copy of the AIFC file information without
the media. Succeeds if all of the following are true: - pSummary
is a valid pointer. - The size of the buffer is large enough
to hold the AIFC file information. If this method fails pSummary
will not be changed. This method will return the following codes:
AAFRESULT_SUCCESS - succeeded. AAFRESULT_NULL_PARAM - pSummary
arg is NULL. AAFRESULT_SMALLBUF - The buffer is too small to
hold the AIFC file information.
size: Preallocated buffer to hold the AIFC file information.

See Also


IAAFAIFCDescriptor::GetSummaryBufferSize


The GetSummaryBufferSize method getSummaryBufferSize() Returns the size of the buffer required for the GetSummary() method.
Syntax
HRESULT GetSummaryBufferSize(
  aafUInt32*  pSize
);

Parameters
  [out]  pSize
  If the method succeeds, specifies a pointer to a size object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetSummaryBufferSize() Returns the size of the buffer required
for the GetSummary() method. The value is placed into the location
specified by pSize. Succeeds if all of the following are true:
- the pSize pointer is valid. If this method fails nothing will
be written to *pSize. This method will return the following codes:
AAFRESULT_SUCCESS - succeeded. AAFRESULT_NULL_PARAM - pSize arg
is NULL.
pSize: required buffer size.
See Also


IAAFAIFCDescriptor::Initialize


The Initialize method .
Syntax
HRESULT Initialize();
Parameters
This method takes no parameters.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFAIFCDescriptor ************************
The IAAFAIFCDescriptor interface is implemented by objects which
describe audio content data formatted according to the AIFC compressed
Audio File Format. 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 - insufficient
system memory is available to perform the operation. 5-11d2-bf9d-00104bc9156d
Initialize() Initializes a newly allocated, empty IAAFAIFCDescriptor-supporting
object. This method must be called after allocation, and before
any other method can be called. Succeeds if: - Initialize() has
not yet been called on this object. 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_ALREADY_INITIALIZED - Initialize()
has already been called on this object.
See Also


IAAFAIFCDescriptor::SetSummary


The SetSummary method setSummary() Sets the AIFC file information.
Syntax
HRESULT SetSummary(
  aafUInt32  size,
  aafDataValue_t  pSummary
);

Parameters
  [in]  size
  Specifies size.
  [in]  pSummary
  Pointer to a summary object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetSummary() Sets the AIFC file information. Succeeds if all
of the following are true: - pSummary is a valid pointer If this
method fails the summary property will not be changed. This method
will return the following codes: AAFRESULT_SUCCESS - succeeded.
AAFRESULT_NULL_PARAM - pSummary arg is NULL.
size: buffer containing value.
See Also


IAAFCDCIDescriptor Interface


In addition to the methods inherited from IUnknown, the IAAFCDCIDescriptor interface exposes the following methods.
GetBlackReferenceLevel
GetColorRange
GetColorSiting
GetComponentWidth
GetHorizontalSubsampling
GetPaddingBits
GetWhiteReferenceLevel
Initialize
SetBlackReferenceLevel
SetColorRange
SetColorSiting
SetComponentWidth
SetHorizontalSubsampling
SetPaddingBits
SetWhiteReferenceLevel

The AAFCDCIDescriptor object implements the IAAFCDCIDescriptor interface and also implements the following:

Interface Method
IAAFDigitalImageDescriptor GetAlphaTransparency
GetCompression
GetDisplayView
GetFrameLayout
GetGamma
GetImageAlignmentFactor
GetImageAspectRatio
GetSampledView
GetStoredView
GetVideoLineMap
GetVideoLineMapSize
SetAlphaTransparency
SetCompression
SetDisplayView
SetFrameLayout
SetGamma
SetImageAlignmentFactor
SetImageAspectRatio
SetSampledView
SetStoredView
SetVideoLineMap

IAAFFileDescriptor GetContainerFormat
GetIsInContainer
GetLength
GetSampleRate
SetContainerFormat
SetIsInContainer
SetLength
SetSampleRate

IAAFEssenceDescriptor AppendLocator
EnumAAFAllLocators
GetNumLocators
PrependLocator




IAAFCDCIDescriptor::GetBlackReferenceLevel


The GetBlackReferenceLevel method getBlackReferenceLevel() Gets the BlackReferenceLevel property.
Syntax
HRESULT GetBlackReferenceLevel(
  aafUInt32*  pBlackReferenceLevel
);

Parameters
  [out]  pBlackReferenceLevel
  If the method succeeds, specifies a pointer to a black reference level object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetBlackReferenceLevel() Gets the BlackReferenceLevel property.
Specifies the digital luminance component value associated with
black. For CCIR-601/2, the value is 16 for 8-bit video and 64
for 10-bit video. For YUV, the value is 0. These are typical
values; other values will not be disallowed by the reference
implementation. The same value is used in CDCI and RGBA when
standard colorspace conversion is used. Succeeds if all of the
following are true: - pBlackReferenceLevel is a valid pointer.
If this method fails, *pBlackReferenceLevel will not be changed.
This method will return the following codes: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pBlackReferenceLevel arg is NULL.
pBlackReferenceLevel: Address to store the integer value..
See Also


IAAFCDCIDescriptor::GetColorRange


The GetColorRange method getColorRange() Gets the ColorRange property.
Syntax
HRESULT GetColorRange(
  aafUInt32*  pColorRange
);

Parameters
  [out]  pColorRange
  If the method succeeds, specifies a pointer to a color range object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetColorRange() Gets the ColorRange property. Specifies the range
of allowable digital chrominance component values. Chrominance
values are unsigned and the range is centered on 128 for 8-bit
video and 512 for 10-bit video. This value is used for both chrominance
components. For CCIR-601/2, the range is 225 for 8-bit video
and 897 for 10-bit video. For YUV, the range is 255 for 8-bit
video and 1023 for 10-bit video. These are typical values; other
values will not be disallowed by the reference implementation.
Succeeds if all of the following are true: - pColorRange is a
valid pointer. If this method fails, *pColorRange will not be
changed. This method will return the following codes: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pColorRange arg is NULL.
pColorRange: Address to store the integer value..
See Also


IAAFCDCIDescriptor::GetColorSiting


The GetColorSiting method getColorSiting() Gets the ColorSiting property.
Syntax
HRESULT GetColorSiting(
  aafColorSiting_t*  pColorSiting
);

Parameters
  [out]  pColorSiting
  If the method succeeds, specifies a pointer to a color siting object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetColorSiting() Gets the ColorSiting property. Specifies how
to compute subsampled chrominance values. Valid values are:
kCoSiting - To calculate subsampled pixels, take the preceding's
pixels color value, discard the other color values and cosite
the color with the first luminance value. kAveraging - To calculate
subsampled pixels, take the average of the two adjacent pixels'
color values and site the color in the center of the luminance
pixels. kThreeTap - To calculate subsampled pixels, take 25 percent
of the the previous pixel's color value, 50 percent of the first
value and 25 percent of the second value. For the first value
in a row, use 75 percent of that value since there is no previous
value. The kThreeTap value is only meaningful when the HorizontalSubsampling
propert has a value of 2. Succeeds if all of the following are
true: - pColorSiting is a valid pointer. If this method fails,
*pColorSiting will not be changed. This method will return the
following codes: AAFRESULT_SUCCESS - succeeded. (This is the
only code indicating success.) AAFRESULT_NOT_INITIALIZED - This
object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pColorSiting arg is NULL.
pColorSiting: Address to store the color siting value..
See Also


IAAFCDCIDescriptor::GetComponentWidth


The GetComponentWidth method getComponentWidth() Gets the ComponentWidth property.
Syntax
HRESULT GetComponentWidth(
  aafInt32*  pComponentWidth
);

Parameters
  [out]  pComponentWidth
  If the method succeeds, specifies a pointer to a component width object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetComponentWidth() Gets the ComponentWidth property. Specifies
the number of bits used to store each component. Typical values
can be 8, 10, 12, 14, or 16, but others are permitted by the
reference implementation. Each component in a sample is packed
contiguously; the sample is filled with the number of bits specified
by the optional PaddingBits property. If the PaddingBits property
is omitted, samples are packed contiguously. Succeeds if all
of the following are true: - pComponentWidth is a valid pointer.
If this method fails, *pComponentWidth will not be changed.
This method will return the following codes: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pComponentWidth arg is NULL.
pComponentWidth: Address to store the number of bits..
See Also


IAAFCDCIDescriptor::GetHorizontalSubsampling


The GetHorizontalSubsampling method getHorizontalSubsampling() Gets the HorizontalSubsampling property.
Syntax
HRESULT GetHorizontalSubsampling(
  aafUInt32*  pHorizontalSubsampling
);

Parameters
  [out]  pHorizontalSubsampling
  If the method succeeds, specifies a pointer to a horizontal subsampling object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetHorizontalSubsampling() Gets the HorizontalSubsampling property.
Specifies the ratio of luminance sampling to chrominance sampling
in the horizontal direction. For 4:2:2 video, the value is 2,
which means that there are twice as many luminance values as
there are color-difference values. Another typical value is 1;
however other values are permitted by the reference implementation.
Succeeds if all of the following are true: - pHorizontalSubsampling
is a valid pointer. If this method fails, *pHorizontalSubsampling
will not be changed. This method will return the following codes:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NOT_INITIALIZED - This object has not yet
had Initialize() called on it. AAFRESULT_NULL_PARAM - pHorizontalSubsampling
arg is NULL.
pHorizontalSubsampling: Address to store the integer value..

See Also


IAAFCDCIDescriptor::GetPaddingBits


The GetPaddingBits method getPaddingBits() Gets the PaddingBits property.
Syntax
HRESULT GetPaddingBits(
  aafInt16*  pPaddingBits
);

Parameters
  [out]  pPaddingBits
  If the method succeeds, specifies a pointer to a padding bits object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetPaddingBits() Gets the PaddingBits property. Specifies the
number of bits padded to each pixel. Succeeds if all of the following
are true: - pPaddingBits is a valid pointer. If this method fails,
pPaddingBits will not be changed. This method will return the
following codes: AAFRESULT_SUCCESS - succeeded. (This is the
only code indicating success.) AAFRESULT_NOT_INITIALIZED - This
object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pPaddingBits arg is NULL.
pPaddingBits: Address to store the number of bits..
See Also


IAAFCDCIDescriptor::GetWhiteReferenceLevel


The GetWhiteReferenceLevel method getWhiteReferenceLevel() Gets the WhiteReferenceLevel property.
Syntax
HRESULT GetWhiteReferenceLevel(
  aafUInt32*  pWhiteReferenceLevel
);

Parameters
  [out]  pWhiteReferenceLevel
  If the method succeeds, specifies a pointer to a white reference level object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetWhiteReferenceLevel() Gets the WhiteReferenceLevel property.
Specifies the digital luminance component component value associated
with white. For CCIR-601/2, the value is 235 for 8-bit video
and 940 for 10-bit video. For YUV, the value is 255 for 8-bit
video and 1023 for 10-bit video. These are typical values; other
values will not be disallowed by the reference implementation.
Succeeds if all of the following are true: - pWhiteReferenceLevel
is a valid pointer. If this method fails, *pWhiteReferenceLevel
will not be changed. This method will return the following codes:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NOT_INITIALIZED - This object has not yet
had Initialize() called on it. AAFRESULT_NULL_PARAM - pWhiteReferenceLevel
arg is NULL.
pWhiteReferenceLevel: Address to store the integer value..
See Also


IAAFCDCIDescriptor::Initialize


The Initialize method .
Syntax
HRESULT Initialize();
Parameters
This method takes no parameters.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFCDCIDescriptor ************************
The IAAFCDCIDescriptor interface is implemented by objects which
describe video essence formatted with one luminance component
and two color-difference components. 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
- insufficient system memory is available to perform the operation.
A-11d2-813C-006097310172 Initialize() Initializes a newly allocated,
empty IAAFCDCIDescriptor-supporting object. This method must
be called after allocation, and before any other method can be
called. Succeeds if: - Initialize() has not yet been called on
this object. 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_ALREADY_INITIALIZED
- Initialize() has already been called on this object.
See Also


IAAFCDCIDescriptor::SetBlackReferenceLevel


The SetBlackReferenceLevel method setBlackReferenceLevel() Sets the BlackReferenceLevel property.
Syntax
HRESULT SetBlackReferenceLevel(
  aafUInt32  BlackReferenceLevel
);

Parameters
  [in]  BlackReferenceLevel
  Specifies black reference level.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetBlackReferenceLevel() Sets the BlackReferenceLevel property.
Specifies the digital luminance component component value associated
with black. For CCIR-601/2, the value is 16 for 8-bit video and
64 for 10-bit video. For YUV, the value is 0. These are typical
values; other values will not be disallowed by the reference
implementation. The same value is used in CDCI and RGBA when
standard colorspace conversion is used. This property is optional.
The default value is 0. If this method fails, the BlackReferenceLevel
property will not be changed. This method will return the following
codes: AAFRESULT_SUCCESS - succeeded. (This is the only code
indicating success.) AAFRESULT_NOT_INITIALIZED - This object
has not yet had Initialize() called on it.
BlackReferenceLevel: Integer value..
See Also


IAAFCDCIDescriptor::SetColorRange


The SetColorRange method setColorRange() Sets the ColorRange property.
Syntax
HRESULT SetColorRange(
  aafUInt32  ColorRange
);

Parameters
  [in]  ColorRange
  Specifies color range.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetColorRange() Sets the ColorRange property. Specifies the range
of allowable digital chrominance component values. Chrominance
values are unsigned and the range is centered on 128 for 8-bit
video and 512 for 10-bit video. This value is used for both chrominance
components. For CCIR-601/2, the range is 225 for 8-bit video
and 897 for 10-bit video. For YUV, the range is 255 for 8-bit
video and 1023 for 10-bit video. These are typical values; other
values will not be disallowed by the reference implementation.
This property is optional. The default value is the maximum unsigned
integer value for component size. Succeeds if all of the following
are true: If this method fails, the ColorRange property will
not be changed. This method will return the following codes:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NOT_INITIALIZED - This object has not yet
had Initialize() called on it.
ColorRange: Integer value..
See Also


IAAFCDCIDescriptor::SetColorSiting


The SetColorSiting method setColorSiting() Sets the ColorSiting property.
Syntax
HRESULT SetColorSiting(
  aafColorSiting_t  ColorSiting
);

Parameters
  [in]  ColorSiting
  Specifies color siting.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetColorSiting() Sets the ColorSiting property. Specifies how
to compute subsampled chrominance values. Valid values are:
kCoSiting - To calculate subsampled pixels, take the preceding's
pixels color value, discard the other color values and cosite
the color with the first luminance value. kAveraging - To calculate
subsampled pixels, take the average of the two adjacent pixels'
color values and site the color in the center of the luminance
pixels. kThreeTap - To calculate subsampled pixels, take 25 percent
of the the previous pixel's color value, 50 percent of the first
value and 25 percent of the second value. For the first value
in a row, use 75 percent of that value since there is no previous
value. The kThreeTap value is only meaningful when the HorizontalSubsampling
propert has a value of 2. This property is optional. The default
value is kCoSiting. Succeeds if all of the following are true:
- ColorSiting is valid If this method fails, the ColorSiting
property will not be changed. This method will return the following
codes: AAFRESULT_SUCCESS - succeeded. (This is the only code
indicating success.) AAFRESULT_NOT_INITIALIZED - This object
has not yet had Initialize() called on it.
ColorSiting: Color siting value..
See Also


IAAFCDCIDescriptor::SetComponentWidth


The SetComponentWidth method setComponentWidth() Sets the ComponentWidth property.
Syntax
HRESULT SetComponentWidth(
  aafInt32  ComponentWidth
);

Parameters
  [in]  ComponentWidth
  Specifies component width.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetComponentWidth() Sets the ComponentWidth property. Specifies
the number of bits used to store each component. Typical values
can be 8, 10, 12, 14, or 16, but others are permitted by the
reference implementation. Each component in a sample is packed
contiguously; the sample is filled with the number of bits specified
by the optional PaddingBits property. If the PaddingBits property
is omitted, samples are packed contiguously. If this method fails,
the ComponentWidth property will not be changed. This method
will return the following codes: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it.
ComponentWidth: Number of bits..
See Also


IAAFCDCIDescriptor::SetHorizontalSubsampling


The SetHorizontalSubsampling method setHorizontalSubsampling() Sets the HorizontalSubsampling property.
Syntax
HRESULT SetHorizontalSubsampling(
  aafUInt32  HorizontalSubsampling
);

Parameters
  [in]  HorizontalSubsampling
  Specifies horizontal subsampling.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetHorizontalSubsampling() Sets the HorizontalSubsampling property.
Specifies the ratio of luminance sampling to chrominance sampling
in the horizontal direction. For 4:2:2 video, the value is 2,
which means that there are twice as many luminance values as
there are color-difference values. Another typical value is 1;
however other values are permitted by the reference implementation.
If this method fails, the HorizontalSubsampling property will
not be changed. This method will return the following codes:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NOT_INITIALIZED - This object has not yet
had Initialize() called on it.
HorizontalSubsampling: Integer value..
See Also


IAAFCDCIDescriptor::SetPaddingBits


The SetPaddingBits method setPaddingBits() Sets the PaddingBits property.
Syntax
HRESULT SetPaddingBits(
  aafInt16  PaddingBits
);

Parameters
  [in]  PaddingBits
  Specifies padding bits.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetPaddingBits() Sets the PaddingBits property. Specifies the
number of bits padded to each pixel. This property is optional.
The default value is 0. If this method fails, the PaddingBits
property will not be changed. This method will return the following
codes: AAFRESULT_SUCCESS - succeeded. (This is the only code
indicating success.) AAFRESULT_NOT_INITIALIZED - This object
has not yet had Initialize() called on it.
PaddingBits: Number of bits..
See Also


IAAFCDCIDescriptor::SetWhiteReferenceLevel


The SetWhiteReferenceLevel method setWhiteReferenceLevel() Sets the WhiteReferenceLevel property.
Syntax
HRESULT SetWhiteReferenceLevel(
  aafUInt32  WhiteReferenceLevel
);

Parameters
  [in]  WhiteReferenceLevel
  Specifies white reference level.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetWhiteReferenceLevel() Sets the WhiteReferenceLevel property.
Specifies the digital luminance component component value associated
with white. For CCIR-601/2, the value is 235 for 8-bit video
and 940 for 10-bit video. For YUV, the value is 255 for 8-bit
video and 1023 for 10-bit video. These are typical values; other
values will not be disallowed by the reference implementation.
This property is optional. The default value is the maximum unsigned
interger value for component size. If this method fails, the
WhiteReferenceLevel property will not be changed. This method
will return the following codes: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it.
WhiteReferenceLevel: Integer value..
See Also


IAAFClassDef Interface


In addition to the methods inherited from IUnknown, the IAAFClassDef interface exposes the following methods.
AppendNewPropertyDef
AppendOptionalPropertyDef
CountPropertyDefs
GetName
GetNameBufLen
GetParent
GetPropertyDefs
Initialize
LookupPropertyDef

The AAFClassDef object implements the IAAFClassDef interface and also implements the following:

Interface Method
IAAFDefObject AppendPluginDescriptor
EnumPluginDescriptors
GetAUID
GetDescription
GetDescriptionBufLen
GetName
GetNameBufLen
Init
PrependPluginDescriptor
SetDescription
SetName




IAAFClassDef::AppendNewPropertyDef


The AppendNewPropertyDef method appendNewPropertyDef() Creates a new property definition and appends it to this class definition.
Syntax
HRESULT AppendNewPropertyDef(
  aafUID_t*  pID,
  aafCharacter*  pName,
  IAAFTypeDef*  pTypeDef,
  aafBool  isOptional,
  IAAFPropertyDef**  ppPropDef
);

Parameters
  [in]  pID
  Pointer to an ID object.
  [in]  pName
  Pointer to a name object.
  [in]  pTypeDef
  Pointer to a type def object.
  [in]  isOptional
  Specifies isoptional.
  [out]  ppPropDef
  If the method succeeds, specifies a pointer to a variable containing a pointer to a prop def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AppendNewPropertyDef() Creates a new property definition and
appends it to this class definition. If ppPropDef is non-NULL,
will return the new property definition in ppPropDef. Note that
it is illegal to add mandatory properties to an existing (registered)
class. This method will allow adding either optional or mandatory
properties to a class, but they must be added to a class which
has not yet been registered in the dictionary. If this class
has already been registered, it is possible to add optional properties,
but not through this method. Optional properties added to an
existing (registered) class may be added through the AppendOpionalPropertyDef()
method. Succeeds if: - The pID pointer is valid. - The pName
pointer is valid. - The pTypeDef pointer is valid. - This class
has not already been registered in the dictionary. - The auid
specified by pID has not already been registered. 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 -
pID, pName, or pTypeDef arg is NULL. AAFRESULT_OBJECT_ALREADY_ATTACHED
- This class has already been registered. AAFRESULT_BAD_PARAM
- The given ID has already been registered.
pID: name of the new property.
pName: type of the new property.
pTypeDef: true if new property is to be optional.
isOptional: return pointer to newly created property def.
See Also


IAAFClassDef::AppendOptionalPropertyDef


The AppendOptionalPropertyDef method appendOptionalPropertyDef() Creates a new property definition and appends it to this class definition.
Syntax
HRESULT AppendOptionalPropertyDef(
  aafUID_t*  pID,
  aafCharacter*  pName,
  IAAFTypeDef*  pTypeDef,
  IAAFPropertyDef**  ppPropDef
);

Parameters
  [in]  pID
  Pointer to an ID object.
  [in]  pName
  Pointer to a name object.
  [in]  pTypeDef
  Pointer to a type def object.
  [out]  ppPropDef
  If the method succeeds, specifies a pointer to a variable containing a pointer to a prop def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AppendOptionalPropertyDef() Creates a new property definition
and appends it to this class definition. If ppPropDef is non-NULL,
will return the new property definition in ppPropDef. Note that
it is illegal to add mandatory properties to an already existing
(registered) class. It is assumed that this property is being
added to a class which is already registered. If so, it must
be optional and this method will declare it so. If it is wished
to add a mandatory property, that may be done through the AppendNewPropertyDef()
method, but that must be called on a class which is not yet registered.
Succeeds if: - The pID pointer is valid. - The pName pointer
is valid. - The pTypeDef pointer is valid. - The auid specified
by pID has not already been registered. 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 - pID, pName,
or pTypeDef arg is NULL. AAFRESULT_BAD_PARAM - The given ID has
already been registered.
pID: name of the new property.
pName: type of the new property.
pTypeDef: return pointer to newly created property def.
See Also


IAAFClassDef::CountPropertyDefs


The CountPropertyDefs method countPropertyDefs() Returns number of property definitions in this class.
Syntax
HRESULT CountPropertyDefs(
  aafUInt32*  pCount
);

Parameters
  [out]  pCount
  If the method succeeds, specifies a pointer to a count object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
CountPropertyDefs() Returns number of property definitions in
this class. Succeeds if: - The pCount 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_NULL_PARAM -
pCount arg is NULL.
pCount: number of properties contained in this class definition.

See Also


IAAFClassDef::GetName


The GetName method getName() Gets Accesses a human-readable name for the class.
Syntax
HRESULT GetName(
  wchar_t*  pName,
  aafUInt32  bufSize
);

Parameters
  [out]  pName
  If the method succeeds, specifies a pointer to a name object.
  [in]  bufSize
  Specifies bufsize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetName() Gets Accesses a human-readable name for the class.
This name is not meant to be a way for programs to refer to the
class, as it is of undetermined length, and is not checked to
guarantee uniqueness. 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: - The pName pointer is valid. - bufSize indicates
that the buffer is large enough to hold Name. 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 - pName arg
is NULL. AAFRESULT_SMALL_BUF - bufSize indicates that the allocated
buffer is not large enough to hold Name.
pName: size of *pName buffer in bytes.
See Also


IAAFClassDef::GetNameBufLen


The GetNameBufLen method getNameBufLen() Returns size of buffer (in bytes) required for GetName().
Syntax
HRESULT GetNameBufLen(
  aafUInt32*  pBufSize
);

Parameters
  [out]  pBufSize
  If the method succeeds, specifies a pointer to a buf size object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetNameBufLen() Returns size of buffer (in bytes) required for
GetName(). Succeeds if: - The pBufSize 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_NULL_PARAM -
pBufSize arg is NULL.
pBufSize: size of required buffer, in bytes.
See Also


IAAFClassDef::GetParent


The GetParent method getParent() Gets the Parent class for this object.
Syntax
HRESULT GetParent(
  IAAFClassDef**  pClassDef
);

Parameters
  [out]  pClassDef
  If the method succeeds, specifies a pointer to a class def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetParent() Gets the Parent class for this object. If there is
no parent, returns the NULL AUID. The only class which has no
parent will be AAFObject. Succeeds if: - The pClassDef 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_NULL_PARAM
- pClassDef arg is NULL.
pClassDef: parent class definition.
See Also


IAAFClassDef::GetPropertyDefs


The GetPropertyDefs method getPropertyDefs() Returns an enumerator over all of the aaf property definitions attached to the current class.
Syntax
HRESULT GetPropertyDefs(
  IEnumAAFPropertyDefs**  ppEnum
);

Parameters
  [out]  ppEnum
  If the method succeeds, specifies a pointer to a variable containing a pointer to an enum object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetPropertyDefs() Returns an enumerator over all of the aaf property
definitions attached to the current class. Succeeds if: - The
ppEnum 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_NULL_PARAM - ppEnum arg is NULL.
ppEnum: Property Definition enumeration.
See Also


IAAFClassDef::Initialize


The Initialize method ************************ Interface IAAFClassDef ************************ This interface is used with an object representing an AAF class definition.
Syntax
HRESULT Initialize(
  aafUID_t*  pID,
  IAAFClassDef*  pParentClass,
  aafCharacter*  pClassName
);

Parameters
  [in]  pID
  Pointer to an ID object.
  [in]  pParentClass
  Pointer to a parent class object.
  [in]  pClassName
  Pointer to a class name object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFClassDef ************************
This interface is used with an object representing an AAF class
definition. The operations on a class definition include managing
the position of the class within the class heirarchy, and accessing
property definitions associated with the class. 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 - insufficient system memory is available
to perform the operation. * Stub only. Implementation not yet
added * 1-11d2-bf96-006097116212 Initialize() Initializes this
class definition object to inherit from the given parent class.
Succeeds if: - The pID pointer is valid. - The pParentClass pointer
is valid. - The pTypeName 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_NULL_PARAM - pID, pParentClass,
or pTypeName arg is NULL.
pID: existing class from which this one inherits.
pParentClass: friendly name of this type definition.
See Also


IAAFClassDef::LookupPropertyDef


The LookupPropertyDef method lookupPropertyDef() Looks up the property definition corresponding to the named auid and returns a pointer to that property definition in ppPropDef.
Syntax
HRESULT LookupPropertyDef(
  aafUID_t*  pPropID,
  IAAFPropertyDef**  ppPropDef
);

Parameters
  [in]  pPropID
  Pointer to a propID object.
  [out]  ppPropDef
  If the method succeeds, specifies a pointer to a variable containing a pointer to a prop def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
LookupPropertyDef() Looks up the property definition corresponding
to the named auid and returns a pointer to that property definition
in ppPropDef. Succeeds if: - The pPropID pointer is valid. -
The ppPropDef pointer is valid. - the auid specified by pID has
been registered as a property definition for this class definition.
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
- Either pPropID or ppPropDef arg is NULL. AAFRESULT_BAD_PARAM
- The given ID has not been registered as a property definition.

pPropID: resulting property definition.
See Also


IAAFCodecDef Interface


In addition to the methods inherited from IUnknown, the IAAFCodecDef interface exposes the following methods.
AppendEssenceKind
AreThereFlavours
EnumCodecFlavours
GetFileDescriptorClass
IsEssenceKindSupported
SetFileDescriptorClass

The AAFCodecDef object implements the IAAFCodecDef interface and also implements the following:

Interface Method
IAAFDefObject AppendPluginDescriptor
EnumPluginDescriptors
GetAUID
GetDescription
GetDescriptionBufLen
GetName
GetNameBufLen
Init
PrependPluginDescriptor
SetDescription
SetName




IAAFCodecDef::AppendEssenceKind


The AppendEssenceKind method appendEssenceKind() Appends the given essence kind to those supported by the codec.
Syntax
HRESULT AppendEssenceKind(
  aafUID_t*  pEssenceKind
);

Parameters
  [in]  pEssenceKind
  Pointer to an essence kind object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AppendEssenceKind() Appends the given essence kind to those supported
by the codec. This is dependant upon the format, not an incomplete
implementation. Succeeds if all of the following are true: -
the pMob pointer is valid. - the given mob is not already part
of this collection. 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.
pEssenceKind: The essence kind.
See Also


IAAFCodecDef::AreThereFlavours


The AreThereFlavours method areThereFlavours() Find out whether its worth iterating over flavours flavours are used when a single codec can support multiple formats.
Syntax
HRESULT AreThereFlavours(
  aafBool*  pResult
);

Parameters
  [out]  pResult
  If the method succeeds, specifies a pointer to a result object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AreThereFlavours() 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.
pResult: True if there are flavours of this codec.
See Also


IAAFCodecDef::EnumCodecFlavours


The EnumCodecFlavours method enumCodecFlavours() Places an enumerator for codec flavour into the *ppEnum argument.
Syntax
HRESULT EnumCodecFlavours(
  IEnumAAFCodecFlavours**  ppEnum
);

Parameters
  [out]  ppEnum
  If the method succeeds, specifies a pointer to a variable containing a pointer to an enum object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
EnumCodecFlavours() 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.
ppEnum: Codec flavour Enumeration.
See Also


IAAFCodecDef::GetFileDescriptorClass


The GetFileDescriptorClass method getFileDescriptorClass() Places the file descriptor class object associated with this codec into the *ppClass argument.
Syntax
HRESULT GetFileDescriptorClass(
  IAAFClassDef**  ppClass
);

Parameters
  [out]  ppClass
  If the method succeeds, specifies a pointer to a variable containing a pointer to a class object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetFileDescriptorClass() 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
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- ppClass is null.
ppClass: Returned file descriptor class object.
See Also


IAAFCodecDef::IsEssenceKindSupported


The IsEssenceKindSupported method .
Syntax
HRESULT IsEssenceKindSupported(
  aafUID_t*  pEssenceKind,
  aafBool*  pIsSupported
);

Parameters
  [in]  pEssenceKind
  Pointer to an essence kind object.
  [out]  pIsSupported
  If the method succeeds, specifies a pointer to an is supported object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFCodecDef ************************
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 - insufficient
system memory is available to perform the operation. 2-11d2-809C-006008143E6F
IsEssenceKindSupported() 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 - either pEssenceKind
or pIsSupported is null.
pEssenceKind: Is this type supported.
See Also


IAAFCodecDef::SetFileDescriptorClass


The SetFileDescriptorClass method setFileDescriptorClass() Sets the file descriptor class associated with this codec to be the given one.
Syntax
HRESULT SetFileDescriptorClass(
  IAAFClassDef*  pClass
);

Parameters
  [in]  pClass
  Pointer to a class object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetFileDescriptorClass() 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 - This object
has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pClass is null.
pClass: File descriptor class object.
See Also


IAAFCommentMarker Interface


In addition to the methods inherited from IUnknown, the IAAFCommentMarker interface exposes the following methods.
GetAnnotation
SetAnnotation

The AAFCommentMarker object implements the IAAFCommentMarker interface and also implements the following:
Interface Method
IAAFEvent GetComment
GetCommentBufLen
GetPosition
SetComment
SetPosition

IAAFSegment SegmentOffsetToTC
SegmentTCToOffset

IAAFComponent GetDataDef
GetLength
SetDataDef
SetLength




IAAFCommentMarker::GetAnnotation


The GetAnnotation method ************************ Interface IAAFCommentMarker ************************ The IAAFCommentMarker interface is implemented by objects which represent a user comment associated with a point in time.
Syntax
HRESULT GetAnnotation(
  IAAFSourceReference**  ppResult
);

Parameters
  [out]  ppResult
  If the method succeeds, specifies a pointer to a variable containing a pointer to a result object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFCommentMarker ************************
The IAAFCommentMarker interface is implemented by objects which
represent a user comment associated with a point in time. A CommentMarker
may have a SourceReference that specifies a text or audio annotation.
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 - insufficient system memory is available
to perform the operation. AAFRESULT_NOT_INITIALIZED - This object
has not yet had Initialize() called on it through this object's
primary interface. Note that IAAFMobSlot is a primary interface
for an abstract class, so it is not appropriate for the Initialize()
method to exist in this interface. The Initialize() method is
available through the concrete object's primary interface. 5-11d2-bf9d-00104bc9156d
GetAnnotation() This method will get the annotation for this
comment marker and place an interface for it into the **ppResult
argument. Succeeds if all of the following are true: - the pResult
pointer is valid. 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 arg is NULL.
ppResult: Annotation property value.
See Also


IAAFCommentMarker::SetAnnotation


The SetAnnotation method setAnnotation() This method will set the Annotation for this comment marker.
Syntax
HRESULT SetAnnotation(
  IAAFSourceReference*  pAnnotation
);

Parameters
  [in]  pAnnotation
  Pointer to an annotation object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetAnnotation() This method will set the Annotation for this
comment marker. 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.)
pAnnotation: Annotation property value.
See Also


IAAFComponent Interface


In addition to the methods inherited from IUnknown, the IAAFComponent interface exposes the following methods.
GetDataDef
GetLength
SetDataDef
SetLength



IAAFComponent::GetDataDef


The GetDataDef method getDataDef() returns data definition object.
Syntax
HRESULT GetDataDef(
  [retval][out]  aafUID_t
);

Parameters
  aafUID_t
  Specifies aafUID_t.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetDataDef() returns data definition object. Succeeds if all
of the following are true: - the pDatadef pointer is valid.
If this method fails nothing will be written to *pDatadef. 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 -
pDatadef arg is NULL.
aafUID_t: DataDef of this object.
See Also


IAAFComponent::GetLength


The GetLength method getLength() Gets the duration in edit units of this component.
Syntax
HRESULT GetLength(
  [retval][out]  aafLength_t
);

Parameters
  aafLength_t
  Specifies aaflength_t.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetLength() Gets the duration in edit units of this component.
Succeeds if all of the following are true: - the pLength pointer
is valid. - the optional length property is present for this
object. This method deals with an optional property, which will
only be present for time-varying media. If this method fails
nothing will be written to *pLength. 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 - pLength arg
is NULL. AAFRESULT_BAD_PROP - the optional length property is
not present for this object.
aafLength_t: Length of this component.
See Also


IAAFComponent::SetDataDef


The SetDataDef method setDataDef() sets the data definition property AUID on this component.
Syntax
HRESULT SetDataDef(
  aafUID_t*  pDatadef
);

Parameters
  [in]  pDatadef
  Pointer to a datadef object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetDataDef() sets the data definition property AUID on this component.
Succeeds if all of the following are true: - the pDatadef pointer
is valid. If this method fails the Data Definition 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
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pDatadef arg is NULL.
pDatadef: DataDef of this object.
See Also


IAAFComponent::SetLength


The SetLength method ************************ Interface IAAFComponent ************************ The component class represents an essence element.
Syntax
HRESULT SetLength(
  aafLength_t*  pLength
);

Parameters
  [in]  pLength
  Pointer to a length object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFComponent ************************
The component class represents an essence element. A Component
is an abastract class with two subclasses: Segment and Transition.
The GetLength and SetLength only aplies to time-varying media
and it is an optional property. Non time-varying objects DO NOT
support this property. 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 - insufficient
system memory is available to perform the operation. AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it through
this object's primary interface. Note that IAAFComponent is a
primary interface for an abstract class, so it is not appropriate
for the Initialize() method to exist in this interface. The Initialize()
method is available through the concrete object's primary interface.
c-11d2-8411-00600832acb8 SetLength() Sets the length property
value on this component object. Succeeds if all of the following
are true: - the pLength pointer is valid. - the optional length
property is present for this object. This method deals with an
optional property, which will only be present for time-varying
media. If this method fails the length 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 - succeeded.
(This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pVersion arg is NULL. AAFRESULT_BAD_PROP - the optional length
property is not present for this object.
pLength: The duration in edit units of this component.
See Also


IAAFCompositionMob Interface


In addition to the methods inherited from IUnknown, the IAAFCompositionMob interface exposes the following methods.
GetDefaultFade
Initialize
SetDefaultFade

The AAFCompositionMob object implements the IAAFCompositionMob interface and also implements the following:

Interface Method
IAAFMob AppendComment
AppendNewSlot
AppendNewTimelineSlot
AppendSlot
ChangeRef
CloneExternal
Copy
EnumAAFAllMobComments
EnumAAFAllMobSlots
FindSlotBySlotID
GetCreateTime
GetMobID
GetMobInfo
GetModTime
GetName
GetNameBufLen
GetNumComments
GetNumSlots
OffsetToMobTimecode
SetMobID
SetModTime
SetName




IAAFCompositionMob::GetDefaultFade


The GetDefaultFade method getDefaultFade() Get the default fade for this composition.
Syntax
HRESULT GetDefaultFade(
  aafDefaultFade_t*  pResult
);

Parameters
  [out]  pResult
  If the method succeeds, specifies a pointer to a result object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetDefaultFade() Get the default fade for this composition.
If there is no default fade, this function returns with no error,
but the VALID field of the structure is false. This allows you
to pass this struct to SourceClip::GetFade() in all cases. Succeeds
if all of the following are true: - this object has already been
initialized. - the pResult 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 - This
object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pResult argument is NULL.
pResult: a default fade struct.
See Also


IAAFCompositionMob::Initialize


The Initialize method .
Syntax
HRESULT Initialize(
  aafCharacter*  pName
);

Parameters
  [in]  pName
  Pointer to a name object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFCompositionMob ************************
The IAAFCompositionMob interface is implemented on objects which
can specify how to combine content data elements into a sequence,
how to modify content data elements, and how to synchronize content
data elements. 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 - insufficient
system memory is available to perform the operation. e-11D2-bfA3-006097116212
Initialize() Initializes this object with the given name. Succeeds
if all of the following are true: - this object has not yet been
initialized. - the pName 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_ALREADY_INITIALIZED - Initialize()
has already been called on this object. AAFRESULT_NULL_PARAM
- pName argument is NULL.
pName: Mob name [optional].
See Also


IAAFCompositionMob::SetDefaultFade


The SetDefaultFade method setDefaultFade() Adds the default crossfade properties to the Mob.
Syntax
HRESULT SetDefaultFade(
  aafLength_t  fadeLength,
  aafFadeType_t  fadeType,
  aafRational_t  fadeEditUnit
);

Parameters
  [in]  fadeLength
  Specifies fadelength.
  [in]  fadeType
  Specifies fadetype.
  [in]  fadeEditUnit
  Specifies fadeedit unit.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetDefaultFade() Adds the default crossfade properties to the
Mob. Succeeds if all of the following are true: - this object
has already been initialized. 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 - This object has not yet
had Initialize() called on it. AAFRESULT_BAD_TYPE - invalid fadeType.
AAFRESULT_BAD_LENGTH - invalid fadeLength.
fadeLength: default fade type.
fadeType: default fade edit unit.
See Also


IAAFConstantValue Interface


In addition to the methods inherited from IUnknown, the IAAFConstantValue interface exposes the following methods.
GetValue
GetValueBufLen
SetValue

The AAFConstantValue object implements the IAAFConstantValue interface and also implements the following:

Interface Method
IAAFParameter GetParameterDefinition
GetTypeDefinition
SetParameterDefinition
SetTypeDefinition




IAAFConstantValue::GetValue


The GetValue method .
Syntax
HRESULT GetValue(
  aafUInt32  valueSize,
  aafDataBuffer_t  pValue,
  aafUInt32*  bytesRead
);

Parameters
  [in]  valueSize
  Specifies valuesize.
  [out]  pValue
  If the method succeeds, specifies a pointer to a value object.
  [out]  bytesRead
  Specifies bytesread.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFConstantValue ************************
The IAAFConstantValue interface is implemented by objects that
specify a parameter whose value is constant for an entire operation
group. Use IAAFVaryingValue and one or more IAAFControlPoints
for parameters which change in value during the operation group.
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 - insufficient system memory is available
to perform the operation. a-11D2-bfA5-006097116212 /****/ GetValue()
Writes the value into the pValue buffer. The buffer is allocated
by the caller, and the size of the buffer is given by valueSize.
Caller may call GetValueBufLen() to determine the required buffer
size. Succeeds if all of the following are true: - the pValue
pointer is valid. - valueSize indicates the buffer is large enough
to hold the name. If this method fails nothing will be written
to *pValue. 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
- pValue arg is NULL. AAFRESULT_SMALLBUF - valueSize indicates
the buffer is too small to hold the value.
valueSize: Preallocated buffer to hold value.
pValue: Number of actual bytes read.
See Also


IAAFConstantValue::GetValueBufLen


The GetValueBufLen method getValueBufLen() Returns the length of buffer required for the GetValue() method.
Syntax
HRESULT GetValueBufLen(
  aafUInt32*  pLen
);

Parameters
  [out]  pLen
  If the method succeeds, specifies a pointer to a len object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetValueBufLen() Returns the length of buffer required for the
GetValue() method. The value is placed into the location specified
by pLen. Succeeds if all of the following are true: - the pLen
pointer is valid. If this method fails nothing will be written
to *pLen. 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
- pLen arg is NULL.
pLen: Pointer to an variable used to return the length.
See Also


IAAFConstantValue::SetValue


The SetValue method /****/ SetValue() The data value is set from a buffer of size valueSize.
Syntax
HRESULT SetValue(
  aafUInt32  valueSize,
  aafDataBuffer_t  pValue
);

Parameters
  [in]  valueSize
  Specifies valuesize.
  [in]  pValue
  Pointer to a value object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ SetValue() The data value is set from a buffer of size
valueSize. Succeeds if all of the following are true: - the pValue
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
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pValue is null.
valueSize: buffer containing value.
See Also


IAAFContainerDef Interface


In addition to the methods inherited from IUnknown, the IAAFContainerDef interface exposes the following methods.
EssenceIsIdentified
SetEssenceIsIdentified

The AAFContainerDef object implements the IAAFContainerDef interface and also implements the following:

Interface Method
IAAFDefObject AppendPluginDescriptor
EnumPluginDescriptors
GetAUID
GetDescription
GetDescriptionBufLen
GetName
GetNameBufLen
Init
PrependPluginDescriptor
SetDescription
SetName




IAAFContainerDef::EssenceIsIdentified


The EssenceIsIdentified method .
Syntax
HRESULT EssenceIsIdentified(
  aafBool*  pEssenceIsIdentified
);

Parameters
  [out]  pEssenceIsIdentified
  If the method succeeds, specifies a pointer to an essence is identified object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFContainerDef ************************
This interface is used with an object representing a particular
kind of essence stream factory object, 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
- insufficient system memory is available to perform the operation.
2-11d2-809C-006008143E6F EssenceIsIdentified() Tells whether
the given plugin is capable of supporting authentication. The
methods for authenticating a plugin are still tbd. Succeeds if
all of the following are true: - the pEssenceIsIdentified pointer
is valid. If this method fails nothing will be written to *pEssenceIsIdentified.
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
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pEssenceIsIdentified arg is NULL.
pEssenceIsIdentified: The EssenceIsIdentified.
See Also


IAAFContainerDef::SetEssenceIsIdentified


The SetEssenceIsIdentified method setEssenceIsIdentified() Tells whether the given plugin is capable of supporting authentication.
Syntax
HRESULT SetEssenceIsIdentified(
  aafBool  EssenceIsIdentified
);

Parameters
  [in]  EssenceIsIdentified
  Specifies essence is identified.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetEssenceIsIdentified() Tells whether the given plugin is capable
of supporting authentication. The methods for authenticating
a plugin are still tbd. 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 - This object has not yet
had Initialize() called on it.
EssenceIsIdentified: The EssenceIsIdentified flag.
See Also


IAAFControlPoint Interface


In addition to the methods inherited from IUnknown, the IAAFControlPoint interface exposes the following methods.
GetEditHint
GetTime
GetTypeDefinition
GetValue
GetValueBufLen
SetEditHint
SetTime
SetTypeDefinition
SetValue



IAAFControlPoint::GetEditHint


The GetEditHint method getEditHint() Returns the edit hint of the control point, which describes how to alter the position if the AAFOperationGroup is made longer or shorter.
Syntax
HRESULT GetEditHint(
  aafEditHint_t*  pEditHint
);

Parameters
  [out]  pEditHint
  If the method succeeds, specifies a pointer to an edit hint object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetEditHint() Returns the edit hint of the control point, which
describes how to alter the position if the AAFOperationGroup
is made longer or shorter. Succeeds if all of the following are
true: - the pEditHint pointer is valid. If this method fails
nothing will be written to *pEditHint. 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 - This object
has not yet had Initialize() called on it. AAFRESULT_PROP_NOT_PRESENT
- This property does not exist in the file. AAFRESULT_NULL_PARAM
- pEditHint arg is NULL.
pEditHint: Pointer to an aafEditHint_t.
See Also


IAAFControlPoint::GetTime


The GetTime method .
Syntax
HRESULT GetTime(
  aafRational_t*  pTime
);

Parameters
  [out]  pTime
  If the method succeeds, specifies a pointer to a time object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFControlPoint ************************
The IAAFControlPoint interface is implemented by objects that
store an individual point value of a parameter whose value changes
during the operation group. IAAFControlPoints must be added to
an object which implements IAAFVaryingValue, which is then added
to the IAAFOperationGroup. For parameters which are constant
in value during the operation group, use IAAFConstantValue. 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 - insufficient system memory is available
to perform the operation. 3-11D2-BFa3-006097116212 GetTime()
Returns the position of the control point within an operation
group, expressed as a rational running from 0 to 1. Succeeds
if all of the following are true: - the pTime pointer is valid.
If this method fails nothing will be written to *pTime. 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
- This object has not yet had Initialize() called on it. AAFRESULT_PROP_NOT_PRESENT
- This property does not exist in the file. AAFRESULT_NULL_PARAM
- pTime arg is NULL.
pTime: Pointer to an aafRational_t.
See Also


IAAFControlPoint::GetTypeDefinition


The GetTypeDefinition method getTypeDefinition() Places the IAAFTypeDefinition of the dataval inside this parameter into the *ppTypeDef argument.
Syntax
HRESULT GetTypeDefinition(
  IAAFTypeDef**  ppTypeDef
);

Parameters
  [out]  ppTypeDef
  If the method succeeds, specifies a pointer to a variable containing a pointer to a type def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetTypeDefinition() Places the IAAFTypeDefinition of the dataval
inside this parameter into the *ppTypeDef argument. 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
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- ppTypeDef is null.
ppTypeDef: Type Definition of the dataval inside of this object.

See Also


IAAFControlPoint::GetValue


The GetValue method getValue() Writes the value into the pValue buffer.
Syntax
HRESULT GetValue(
  aafUInt32  valueSize,
  aafDataBuffer_t  pValue,
  aafUInt32*  bytesRead
);

Parameters
  [in]  valueSize
  Specifies valuesize.
  [out]  pValue
  If the method succeeds, specifies a pointer to a value object.
  [out]  bytesRead
  Specifies bytesread.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetValue() Writes the value into the pValue buffer. The buffer
is allocated by the caller, and the size of the buffer is given
by valueSize. Caller may call GetValueBufLen() to determine the
required buffer size. Succeeds if all of the following are true:
- the pValue pointer is valid. - valueSize indicates the buffer
is large enough to hold the name. If this method fails nothing
will be written to *pValue. 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 - pValue arg is NULL. AAFRESULT_SMALLBUF
- valueSize indicates the buffer is too small to hold the value.

valueSize: Preallocated buffer to hold value.
pValue: Number of actual bytes read.
See Also