KSPROPERTY_AUDIO_MIX_LEVEL_TABLE

The KSPROPERTY_AUDIO_MIX_LEVEL_TABLE property specifies the mix levels for a supermixer node (KSNODETYPE_SUPERMIX). It provides information for all input and output channels.

Usage Summary Table

Get Set Target Property descriptor type Property value type

Yes

Optional

Pin

KSNODEPROPERTY

Array of KSAUDIO_MIXLEVEL structures

The node is required to implement support for KSPROPERTY_TYPE_GET requests. However, support for KSPROPERTY_TYPE_SET requests is optional.

The property value (operation data) is an array of KSAUDIO_MIXLEVEL structures that specifies the mix levels for all M*N input-output paths in a supermixer node with M input channels and N output channels. The array contains M*N elements:

  KSAUDIO_MIXLEVEL  MixLevel[M*N];

The following table shows the mapping of array elements to the supermixer node's M*N input-output paths.

Array Element Input-Output Path

MixLevel[0]

Input channel 0 to output channel 0

MixLevel[1]

Input channel 0 to output channel 1

MixLevel[N-1]

Input channel 0 to output channel N-1

MixLevel[N]

Input channel 1 to output channel 0

MixLevel[N+1]

Input channel 1 to output channel 1

MixLevel[2N-1]

Input channel 1 to output channel N-1

MixLevel[M*N-1]

Input channel M-1 to output channel N-1

The following figure illustrates the mapping of MixLevel array elements to input-output paths. The index of the MixLevel array element controlling each input-output path is shown in square brackets.

Diagram illustrating the mapping of a supermixer node's MixLevel array elements to input-output paths.

If no path connects input channel i to output channel j, the filter should set the Mute member of array element MixLevel[i*N+j] to TRUE.

The size of the KSAUDIO_MIXLEVEL array is calculated from the KSAUDIO_MIXCAP_TABLE structure that is retrieved from KSPROPERTY_AUDIO_MIX_LEVEL_CAPS. If the structure's InputChannels and OutputChannels members contain the values m and n, the array size is

m * n * sizeof(KSAUDIO_MIXLEVEL)

Return Value

A KSPROPERTY_AUDIO_MIX_LEVEL_TABLE property request returns STATUS_SUCCESS to indicate that it has completed successfully. Otherwise, the request returns an appropriate error status code.

Remarks

The filter will succeed a KSPROPERTY_AUDIO_MIX_LEVEL_TABLE set-property request that specifies a mix-level value (Level member of KSAUDIO_MIXLEVEL) that is beyond the range of the filter but will (silently) clamp the value to the supported range. In a subsequent request to get this property, however, the filter will output the actual value used.

Requirements

Header

Ksmedia.h (include Ksmedia.h)

See also

KSNODEPROPERTY

KSAUDIO_MIXCAP_TABLE

KSPROPERTY_AUDIO_MIX_LEVEL_CAPS

KSAUDIO_MIXLEVEL

KSNODETYPE_SUPERMIX