DirectSound Renderer Filter

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

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.

Label Value
Filter Interfaces IAMAudioRendererStats, IAMClockSlave, IAMDirectSound, IAMResourceControl, IBaseFilter, IBasicAudio, IDirectSound3DBuffer, IDirectSound3dListener, IMediaPosition, IMediaSeeking, IQualityControl, IReferenceClock
Input Pin Media Types Major Type: MEDIATYPE_AudioSubtypes:
  • MEDIASUBTYPE_PCM
  • MEDIASUBTYPE_IEEE_FLOAT
  • MEDIASUBTYPE_DOLBY_AC3_SPDIF
  • MEDIASUBTYPE_RAW_SPORT
  • MEDIASUBTYPE_SPDIF_TAG_241h
  • MEDIASUBTYPE_DRM_Audio
Format type: FORMAT_WaveFormatEx
Input Pin Interfaces IMemInputPin, IPin, IPinConnection, 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
Merit MERIT_PREFERRED
Filter Category CLSID_AudioRendererCategory

Remarks

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