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 |
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.
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) |