Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

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.

MethodDescription
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
               Profiles
Each 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

Strmif.h (include Dshow.h)

Library

Strmiids.lib

See also

Decoder Settings for Windows Media Center Edition
Encoder API

 

 

Community Additions

Show:
© 2014 Microsoft. All rights reserved.