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 obtain the necessary sound buffer and interface pointers.

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.