RTC Client API Video Codec Registry Settings

Other versions of this page are also available for the following:

Windows Mobile Not SupportedWindows Embedded CE Supported

8/28/2008

Applies to Windows Embedded CE 6.0 R2

The RTC Client API uses the registry to configure pluggable video codecs. All registry keys are required unless specified as optional.

The HKEY_LOCAL_MACHINE\Comm\RTC\Video\Codecs registry key must have a value for each codec that needs to be supported. If a codec can send multiple format specific parameters (FMTP) options to the remote party, a different registry subkey along with a unique RTP Payload type must be specified for each FMTP.

Note

Each registry key can contain no more than seven lines.

Name Type Description

CodecType

REG_SZ

Specifies the codec type. Always set the data to Filter. There is no default value.

EncoderPlugin

REG_SZ

Specifies the COM CLSID of the IRTCPluggableVideoEncoder interface. Set H.263 to {A7D8A6EF-575B-4750-A727-04234A70D9DE} to use the Microsoft provided implementation of this interface. Set H.264 to {92A200F8-0981-11DC-813E-B77255D89593} to use the Microsoft provided implementation of this interface.

DecoderPlugin

REG_SZ

Specifies the COM CLSID of the IRTCPluggableVideoDecoder interface. Set H.263 to {0CE193DF-27F0-48c7-92F7-75CA7A5965E6} to use the Microsoft provided implementation of this interface. Set H.264 to {86546C00-0981-11DC-88BE-AE7255D89593} to use the Microsoft provided implementation of this interface.

CodecRank

REG_DWORD

Sets the relative priority of the codec. The data is an integer between 0 and 100. The highest priority is 0 and the lowest is 100.

CodecName

REG_SZ

Specifies the name of the codec sent in the Session Description Protocol (SDP) payload. For example, the codec name could be H263-1998. The name must contain fewer than 32 characters.

PayloadType

REG_DWORD

Specifies the RTP payload type associated with the codec. For example …

ClockRate

REG_DWORD

Indicates the clock rate of the codec as it appears in the a=rtpmap line of the SDP . For many codecs the correct data is 90,000.

SDPFmtp

REG_SZ

Indicates the format specific parameters FMTP of the codec as it appears in the SDP a=fmtp line of the SDP. If SDPFmtp is not set, no FMTP lines will be sent.

This data indicates only the parameters themselves. SDP automatically fills in the following text:a=fmtp:<RTP Payload Type #>

If a codec can support multiple FMTP options, the codec can be represented with multiple RTP payload types. The following SDP shows an example of multiple FMTP for the H264 codec.

m=video 49170 RTP/AVP 100 99 98
a=rtpmap:98 H264/90000
a=fmtp:98 profile-level-id=42A01E; packetization-mode=0;
sprop-parameter-sets=Z0IACpZTBYmI,aMljiA==
a=rtpmap:99 H264/90000
a=fmtp:99 profile-level-id=42A01E; packetization-mode=1;
sprop-parameter-sets=Z0IACpZTBYmI,aMljiA==
a=rtpmap:100 H264/90000
a=fmtp:100 profile-level-id=42A01E; packetization-mode=2;
sprop-parameter-sets=Z0IACpZTBYmI,aMljiA==;
sprop-interleaving-depth=45; sprop-deint-buf-req=64000;
sprop-init-buf-time=102478; deint-buf-cap=128000

To store the FMTP lines, RTP payload types, and configuration options in this example, create three registry keys for the H264 codec.

Each of the following HKEY_LOCAL_MACHINE\Comm\RTC\Video\Codecs values is filter-specific.

Name Type Description

EncoderFilter

REG_SZ

Specifies the COM CLSID of the encoding IBaseFilter.

DecoderFilter

REG_SZ

Specifies the COM CLSID of the decoding IBaseFilter.

DecoderMediaSubtype

REG_SZ

Specifies the media subtype GUID of the format of the incoming data. Examples of incoming data format include H263 and H264.

A value under the HKEY_LOCAL_MACHINE\Comm\RTC\Video\SdpValidators registry key can specify optional IRTCSDPValidator interfaces for a codec. If a value is present, the codec uses the interface to validate the incoming SDP. This can be particular useful for validating the FMTP line in the SDP. For each name and data pair under the key, the name represents the codec string from the RTP packet, such as H263-1998, and the value represents the CLSID that implements the object.

An IRTCSDPValidator registry value is not required. If a codec does not implement this registry key, the codec accepts all SDP.

Name Type Description

<Codec Name>

REG_SZ

Specifies the CLSID that implements this object.

This following table shows examples of SdpValidators keys.

Name Description

H263-1998

{D018239F-4022-4c15-BC87-03CCADC1A4E3}

H263-2000

{D018239F-4022-4c15-BC87-03CCADC1A4E3}

See Also

Concepts

RTC Client API Registry Settings