ICodecAPI interface
The ICodecAPI interface sets and retrieves settings on an encoder or decoder filter.
Members
The ICodecAPI interface inherits from the IUnknown interface. ICodecAPI also has these types of members:
Methods
The ICodecAPI interface has these methods.
| Method | Description |
|---|---|
| GetAllSettings |
Gets the codec's current settings and writes them to a stream. |
| GetDefaultValue |
Retrieves the default value for a parameter, if one exists. |
| GetParameterRange |
Returns the valid range of values for a parameter. |
| GetParameterValues |
Returns the list of supported values for a given parameter. |
| GetValue |
Retrieves the current value of a specified parameter. |
| IsModifiable |
Queries whether a parameter can be changed. |
| IsSupported |
Queries whether a given parameter is supported. |
| RegisterForEvent |
Registers the application to receive a specified event from the encoder. |
| SetAllDefaults |
Returns all parameters to their default values. |
| SetAllDefaultsWithNotify |
Returns all parameters to their default values, and returns a list of the settings that have changed. |
| SetAllSettings |
Reads codec settings from a stream and sets them on the codec. |
| SetAllSettingsWithNotify |
Loads encoder settings from a stream, sets them on the encoder, and returns a list of the settings that have changed. |
| SetValue |
Sets the value of a parameter. |
| SetValueWithNotify |
Sets the value of a parameter, and returns a list of other settings that have changed as a result. |
| UnregisterForEvent |
Unregisters the application for a specified encoder event. |
Remarks
This interface defines a generic mechanism for setting properties on a codec (encoder or decoder). A codec property is a key/value pair, where the key is a GUID and the value is a VARIANT. The interpretation of the VARIANT data depends on the property GUID. For a list of codec property GUIDs, see Codec API Properties.
Codec Profiles
Codecs can optionally store profile and capability information in the system registry. This information enables applications to query the device during device enumeration. Default profiles are stored in the following registry key:
HKEY_LOCAL_MACHINE Software Classes CLSID Category ProfilesEach profile is a registry key whose default string is a text description of the profile. Each value has a GUID name, followed by a string value containing the numeric GUID value. For example:
HLKM\Software\Classes\CLSID\<category>\Profiles\DVD
default "HQ DVD"
REG_SZ {...} = "0"
REG_SZ {...} = "1234"
where {...} is a property GUID that the application can map into its user interface. Microsoft is currently considering the definition of a set of standard profiles.
Default codec capabilities are stored under HLKM\Software\Classes\CLSID\<category>\Instance\<Filter CLSID>\Capabilities. Each value has a GUID name, followed by a string value containing the numeric GUID value. For example:
HLKM\Software\Classes\CLSID\<category>\Instance\<My DVD encoder>\Capabilities
default "My DVD encoder"
REG_SZ_MULTI {...}
where {...} is a property GUID that the application can map into its user interface.
Requirements
|
Minimum supported client |
Windows XP with SP2 [desktop apps | Windows Store apps] |
|---|---|
|
Minimum supported server |
Windows Server 2003 R2 [desktop apps | Windows Store apps] |
|
Header |
|
|
Library |
|
See also