|Microsoft DirectX 9.0|
In mixing server sessions, one computer in the session acts as a mixing server. Each client streams its voice data to the mixing server. The mixing server examines the targets of each voice stream, performs decompression, mixing, and recompression as appropriate to generate a mixed stream of audio data for each client. Each client receives this single stream of premixed audio data and plays it back.
The outgoing bandwidth, incoming bandwidth, and CPU requirement on the client in a mixing server session is easily predictable because each client has only one outgoing stream of audio to compress and send, and one incoming stream of audio to decompress and play back.
The mixing server has much higher bandwidth and CPU requirements than do the clients. Typically, the mixing server is either a completely dedicated computer, or it shares a computer with a dedicated game server.
Mixing server voice sessions do not support 3-D spatialization of the voice data through the IDirectPlayVoiceClient::Create3DSoundBuffer method.
You can run mixing server voice sessions using either a peer-to-peer or a client/server transport session.