## DSound Audio Renderer

The DSound Audio Renderer filter is a generic audio rendering filter that you can connect to the output of any of the following filters, if they contain WAV audio: File Source (Async), File Source (URL), MPEG-1 Stream Splitter, AVI Splitter, WAVE Parser, or any audio transform filter. In addition to its basic sound-rendering capabilities, this filter can process Microsoft DirectX® DirectSound® API calls; use the IAMDirectSound methods to set and retrieve the window that will handle the sound playback.

Note that this filter does not check the subtype of the audio stream; the WAVEFORMAT or WAVEFORMATEX structure passed in the format block contains the information needed to connect to this filter. The Audio Renderer is the default audio rendering filter for DirectShow; to use the DSound Audio Renderer filter instead, you must insert it into the filter graph before rendering the media file.

The filter's property sheet contains the following:

| Tab | Property | Values
| Audio Input pin (rendered) | Preferred Media Types | Lists the major type, subtype, and format
| Audio Renderer | wFormatTag | Waveform-audio format type. There are many compression algorithms with registered format tags. You can find a complete list of format tags in the Mmreg.h header file.
|  | nChannels | Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
|  | nSamplePerSec | Rate, in samples per second (hertz), at which each channel should play or record. If wFormatTag is WAVE_FORMAT_PCM, then common values for nSamplesPerSec are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, you must compute this member according to the manufacturer's format specification.
|  | nAvgBytesPerSec | Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, nAvgBytesPerSec should equal the product of nSamplesPerSec and nBlockAlign. For non-PCM formats, you must compute this member according to the manufacturer's format specification. Playback and record software can estimate buffer sizes by using the nAvgBytesPerSec member.
|  | nBlockAlign | Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the wFormatTag format type. If wFormatTag is WAVE_FORMAT_PCM, nBlockAlign should equal the product of nChannels and wBitsPerSample divided by 8 (bits per byte). For non-PCM formats, you must compute this member according to the manufacturer's format specification.

Playback and record software must process a multiple of nBlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).

|  | Rate | This value represents the rate of audio playback, where 1.0 is the authored speed. This value is a multiplier; a value of 2.0 is twice the authored speed and 0.5 is half.

© 1997 Microsoft Corporation. All rights reserved. Terms of Use.