[quake3] About adding (VoIP) voice chat support
Ryan C. Gordon
icculus at icculus.org
Sun Jun 10 04:59:33 EDT 2007
> Did you do some mixing on the server?
> (decode all incoming packets, mix them, reencode to one single stream)
> Or did you just resend all incoming packets to all clients?
> The first approach would lower the traffic to the client
> but would need more CPU-time on the server.
Generally you don't have enough voice traffic to make server-side mixing
worth the trouble of adding server-side mixing...OpenAL gives you that
for free on the client.
Speex actually makes voice transmission fairly cheap, as it's designed
to packetize data, and recover gracefully from dropped packets. It can
really compress the hell out of the data, too, especially when audio
fidelity isn't that important...which it isn't, when it's someone
screaming one-time sounds into a 5-dollar microphone.
The server just decides to whom it should rebroadcast the data, but
didn't spend any more CPU time on it than that. Speex validates the
packets on the client side and decides what to do with them.
--ryan.
More information about the quake3
mailing list