DirectSound Renderer Filter

This filter renders audio using DirectSound. This filter is currently the default audio renderer for waveform sound.

In addition to its basic sound-rendering capabilities, this filter can process DirectSound API calls. Use the IAMDirectSound methods to set and retrieve the window that will handle the sound playback. The DirectSound Audio Renderer is the default audio rendering filter for DirectShow.

Filter Interfaces [IAMAudioRendererStats](/windows/desktop/api/Strmif/nn-strmif-iamaudiorendererstats), [IAMClockSlave](/windows/desktop/api/Strmif/nn-strmif-iamclockslave), [IAMDirectSound](/windows/desktop/api/Amaudio/nn-amaudio-iamdirectsound), [IAMResourceControl](/windows/desktop/api/Strmif/nn-strmif-iamresourcecontrol), [IBaseFilter](/windows/desktop/api/Strmif/nn-strmif-ibasefilter), [IBasicAudio](/windows/desktop/api/Control/nn-control-ibasicaudio), IDirectSound3DBuffer, IDirectSound3dListener, [IMediaPosition](/windows/desktop/api/Control/nn-control-imediaposition), [IMediaSeeking](/windows/desktop/api/Strmif/nn-strmif-imediaseeking), [IQualityControl](/windows/desktop/api/Strmif/nn-strmif-iqualitycontrol), [IReferenceClock](/windows/desktop/api/Strmif/nn-strmif-ireferenceclock)
Input Pin Media Types Major Type: MEDIATYPE_AudioSubtypes:
Format type: FORMAT_WaveFormatEx
Input Pin Interfaces [IMemInputPin](/windows/desktop/api/Strmif/nn-strmif-imeminputpin), [IPin](/windows/desktop/api/Strmif/nn-strmif-ipin), [IPinConnection](/windows/desktop/api/Strmif/nn-strmif-ipinconnection), [IQualityControl](/windows/desktop/api/Strmif/nn-strmif-iqualitycontrol)
Output Pin Media Types Not applicable.
Output Pin Interfaces Not applicable.
Filter CLSID CLSID_DSoundRender
Property Page CLSID CLSID_AudioProperties, CLSID_AudioRendererAdvancedProperties
Executable quartz.dll
[Filter Category]( CLSID_AudioRendererCategory


This filter acts as a wrapper for an audio device. To enumerate the audio devices available on the user's system, use the ICreateDevEnum interface with the audio renderer category (CLSID_AudioRendererCategory). For each audio device, the audio renderer category contains two filter instances. One of these corresponds to the DirectSound Renderer, and the other corresponds to the Audio Renderer (WaveOut) filter. The DirectSound instance has the friendly name "DirectSound: DeviceName," where DeviceName is the name of the device. The WaveOut instance has the friendly name DeviceName.

The audio renderer category contains two additional filter instances, named "Default DirectSound Device" and "Default WaveOut Device." These correspond to the default sound device, as chosen by the user through the Control Panel. They are actually mappings to one of the pairs described in the previous paragraph. For example, if the system has two audio devices, Device A and Device B, the audio renderer category will contain the following:

  • Device A
  • DirectSound: Device A
  • Device B
  • DirectSound: Device B
  • Default DirectSound Device
  • Default WaveOut Device

If the user selected Device A as the default device, then "Default DirectSound Device" is equivalent to "DirectSound: Device A," and "Default WaveOut Device" is equivalent to "Device A." If the user selects Device B as the default device, these mappings will change.

"Default DirectSound Device" is assigned a merit of MERIT_PREFERRED. The others have merit MERIT_DO_NOT_USE. Therefore, Intelligent Connect will always choose the default DirectSound device.

The DirectSound Renderer filter supports 3D sound through the DirectSound IDirectSound3DBuffer and IDirectSound3dListener interfaces. You can also query the filter for the current versions of these interfaces, IDirectSound3DBuffer8 and IDirectSound3dListener8. Run the graph before calling methods on these interfaces.

DirectShow Filters