rem: if (function.RtnStatus == ECHOSTATUS_OK) { PRINT(("echo_channel_set_mix OK\n"));
add: multi_function[0].iCount = 2; dev->pEG->ProcessMixerMultiFunction(multi_function, size);  if (function[0].RtnStatus == ECHOSTATUS_OK) { PRINT(("echo_channel_set_mix OK: %d, %d, %d\n", function[0].Data.iLevel, channel.wChannel, channel.dwType));
context: echo_channel_set_mix(void *card, MIXER_AUDIO_CHANNEL channel, int32 type, float *values) {	echo_dev *dev = (echo_dev*) card;        MIXER_FUNCTION function;        INT32 size;        function.Channel = channel;	function.Data.iLevel = values[0];        function.iFunction = type == B_MIX_GAIN ? MXF_SET_LEVEL : MXF_SET_MUTE;        dev->pEG->ProcessMixerFunction(&function, size);        if (function.RtnStatus == ECHOSTATUS_OK) {                PRINT(("echo_channel_set_mix OK\n"));        }}