IWMCodecInfo::GetCodecFormat method (wmsdkidl.h)
[The feature associated with this page, Windows Media Format 11 SDK, is a legacy feature. It has been superseded by Source Reader and Sink Writer. Source Reader and Sink Writer have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use Source Reader and Sink Writer instead of Windows Media Format 11 SDK, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]
The GetCodecFormat method retrieves one format supported by a specified codec. This method retrieves a pointer to the IWMStreamConfig interface of a stream configuration object containing the stream settings for the supported format.
Syntax
HRESULT GetCodecFormat(
[in] REFGUID guidType,
[in] DWORD dwCodecIndex,
[in] DWORD dwFormatIndex,
[out] IWMStreamConfig **ppIStreamConfig
);
Parameters
[in] guidType
GUID identifying the major type of digital media. This must be one of the following constants.
Constant | Description |
---|---|
WMMEDIATYPE_Video | Specifies a video codec. |
WMMEDIATYPE_Audio | Specifies an audio codec. |
[in] dwCodecIndex
DWORD containing the codec index ranging from zero to one less than the number of supported codecs of the type specified by guidType. To retrieve the number of individual codecs supporting a major type, use the IWMCodecInfo::GetCodecInfoCount method.
[in] dwFormatIndex
DWORD containing the format index ranging from zero to one less than the number of supported formats. To retrieve the number of individual formats supported by a codec, use the IWMCodecInfo::GetCodecFormatCount method.
[out] ppIStreamConfig
Pointer to a pointer to the IWMStreamConfig interface of a stream configuration object containing the settings of the specified format.
Return value
The method returns an HRESULT. Possible values include, but are not limited to, those in the following table.
Return code | Description |
---|---|
|
The method succeeded. |
|
An invalid or null value has been passed in. |
Remarks
Use this method along with GetCodecFormatCount to enumerate the formats supported by the codec.
The codec format describes the characteristics of the compressed data stream in the file, and has no direct correlation to the uncompressed format of the input media or the output media. The format of input media data is determined at the time of encoding, using the IWMWriter::SetInputProps method. The format of output media data is determined at the time of decoding, using the SetOutputProps method of either the IWMReader interface or the IWMSyncReader interface.
The Windows Media Format SDK provides codecs only for audio and video. If you specify another major type, this method will return an error.
The Windows Media Video codecs all support a single format that you must complete with your desired settings. When obtaining a video format, you can always use format index 1. For more information see Configuring Video Streams.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps only],Windows Media Format 7 SDK, or later versions of the SDK |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Target Platform | Windows |
Header | wmsdkidl.h (include Wmsdk.h) |
Library | Wmvcore.lib; WMStubDRM.lib (if you use DRM) |