KSNODETYPE_3D_EFFECTS

The KSNODETYPE_3D_EFFECTS node represents a 3D-effects processor for the device-specific 3D HAL (hardware acceleration layer) that underlies the IDirectSound3DBuffer and IDirectSound3DListener APIs (described in the Microsoft Windows SDK documentation). The 3D node has one input stream with either one or two channels and one output stream with n channels. It positions the individual channels of the input stream within the 3D-sound field of the output stream.

The input stream to the 3D node typically contains a single channel. In DirectSound 8.0 and later, only mono PCM buffers can be created with 3D effects. Earlier versions of DirectSound, however, support 3D nodes with both mono and stereo input streams, and drivers should support both in order to ensure compatibility with older applications.

The KSNODETYPE_3D_EFFECTS node is used to control the DirectSound speaker configuration through the following optional properties:

KSPROPERTY_AUDIO_CHANNEL_CONFIG

KSPROPERTY_AUDIO_STEREO_SPEAKER_GEOMETRY

For more information, see DirectSound Speaker-Configuration Settings.

In addition, DirectSound requires that a KSNODETYPE_3D_EFFECTS node support the following 3D-listener and 3D-buffer properties:

KSPROPERTY_DIRECTSOUND3DBUFFER_ALL

KSPROPERTY_DIRECTSOUND3DBUFFER_POSITION

KSPROPERTY_DIRECTSOUND3DBUFFER_VELOCITY

KSPROPERTY_DIRECTSOUND3DBUFFER_CONEANGLES

KSPROPERTY_DIRECTSOUND3DBUFFER_CONEORIENTATION

KSPROPERTY_DIRECTSOUND3DBUFFER_CONEOUTSIDEVOLUME

KSPROPERTY_DIRECTSOUND3DBUFFER_MINDISTANCE

KSPROPERTY_DIRECTSOUND3DBUFFER_MAXDISTANCE

KSPROPERTY_DIRECTSOUND3DBUFFER_MODE

KSPROPERTY_DIRECTSOUND3DLISTENER_ALL

KSPROPERTY_DIRECTSOUND3DLISTENER_POSITION

KSPROPERTY_DIRECTSOUND3DLISTENER_VELOCITY

KSPROPERTY_DIRECTSOUND3DLISTENER_ORIENTATION

KSPROPERTY_DIRECTSOUND3DLISTENER_DISTANCEFACTOR

KSPROPERTY_DIRECTSOUND3DLISTENER_ROLLOFFFACTOR

KSPROPERTY_DIRECTSOUND3DLISTENER_DOPPLERFACTOR

KSPROPERTY_DIRECTSOUND3DLISTENER_BATCH

A KSNODETYPE_3D_EFFECTS node might implement a head-relative transfer function (HRTF), in which case it should support the following optional properties:

KSPROPERTY_HRTF3D_FILTER_FORMAT

KSPROPERTY_HRTF3D_INITIALIZE

KSPROPERTY_HRTF3D_PARAMS

A KSNODETYPE_3D_EFFECTS node might implement an interaural time delay (ITD) algorithm, in which case it should support the following optional property:

KSPROPERTY_ITD3D_PARAMS