RTC Client API Audio Codec Registry Settings

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

Windows Mobile Not SupportedWindows Embedded CE Supported

8/28/2008

The RTC Client API uses the registry to locate Audio Compression Manager (ACM) drivers that it can use to convert audio from one format to another.

For examples of these registry settings, see RTC Client API ACM Sample Registry Configuration.

For more information about the codecs supported by RTC, including a comparison between native codecs and codecs provided by ACM drivers, see Codecs.

For general information about ACM, see Audio Compression Manager Drivers.

Note

Do not place codecs in a region where third parties can delete or modify the codecs. You can mark the DLLs with a system attribute. This prevents untrusted applications from changing the codecs.

Each pluggable codec requires its own key beneath HKEY_LOCAL_MACHINE\COMM\RTC\ACM registry key. For example, an ACM driver implementing the G729 codec might have registry settings at the HKEY_LOCAL_MACHINE\COMM\RTC\ACM\G729 key.

Note   The maximum number of audio codecs is seven.

The following table shows the registry values beneath each ACM driver key.

Value : type Description

Driver : REG_SZ

Specifies the file name of the ACM driver that implements the codec. There is no default setting.

PayloadType : REG_DWORD

Specifies the static RTP payload type. Dynamic payload types set here are treated as if they are static payload types. If you want the RTC Client API to assign the value, set this value to 255.

There is no default setting.

CodecRank : REG_DWORD

Specifies the rank of the codec. There is no default setting.

The RTC Client API uses this value to select preferred codecs. The value is an integer between 0 and 100. Codecs with a CodecRank of 0 have the highest priority; codecs with a rank of 100 have the lowest.

FrameDuration : REG_DWORD

Specifies the frame duration time in milliseconds that corresponds to the wSamplesPerBlock parameter. For more information, refer to Samples per Block. There is no default setting.

UseHealer: REG_DWORD

Specifies whether the audio header is used with this codec. The default setting is TRUE.

Each ACM driver requires non-PCM wave format information in the HKEY_LOCAL_MACHINE\COMM\RTC\ACM\<codec_name>\WaveFormat key. For example, non-PCM wave format data for the G729 codec might be stored in the HKEY_LOCAL_MACHINE\COMM\RTC\ACM\G729\WaveFormat key.

The following table shows the registry values for this key.

Value : type Description

FormatTag : REG_DWORD

Specifies the waveform-audio format type. There is no default setting.

Channels : REG_DWORD

Specifies the number of channels in the waveform-audio data. Monaural data uses one channel; stereo data uses two. There is no default setting.

SamplesPerSec : REG_DWORD

Specifies sample rate, in samples per second (hertz), at which each channel should be played or recorded. There is no default setting.

AvgBytesPerSec : REG_DWORD

Specifies the required average data-transfer rate, in bytes per second, for the format. There is no default setting.

BlockAlign : REG_DWORD

Denotes block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. There is no default setting.

BitsPerSample : REG_DWORD

Specifies bits per sample. If FormatTag is WAVE_FORMAT_PCM, BitsPerSample should be 8 or 16. There is no default setting.

bSize : REG_DWORD

Corresponds to the cbSize member in the WAVEFORMATEX (Waveform Audio) structure. This member is explained in more detail in Extra Bytes. There is no default setting.

The HKEY_LOCAL_MACHINE\Comm\RTC\Codec registry key is used to specify a preferred codec.

Value : type Description

PreferredAudioCodec : REG_DWORD

Matches the PayLoadType of the preferred codec. There is no default setting.

Setting the PreferredAudioCodec to a codec payload number, and setting UsePreferredCodec to 1, indicates that the codec is a preferred codec. This ensures that RTC will select the preferred codec over other codecs, if the remote party supports the preferred codec.

> [!NOTE] > Setting this key also causes RTC to list the codec as the first codec in the SDP.

UseSirenAndG7221 : REG_DWORD

Activates use of Siren and G7221 codec inside of RTC. By default, these two codecs are turned off as they are floating point-based and may not be suitable for ARM-based devices. In particular, they can cause severe performance problems on CPUs that do not have native floating point support. The default setting is 0.

If this value is set to 0, do not allow Siren or G.722.1 codecs.

If this value is set to 1, allow Siren and G.722.1 codecs to be used if the other party requests them.

UsePreferredCodec : REG_DWORD

Indicates if a preferred codec should be used. There is no default setting.

If the value is set to 0, do not use preferred codec.

If the value is set to 1, enable preferred codec logic. A codec can be made preferred by setting this key and setting the registry key PreferredAudioCodec to the payload number of the codec that needs to be made preferred

See Also

Concepts

RTC Client API Registry Settings
RTC Client API General Registry Settings