SpeexComm is a Speex based multiplatform voice communication engine meant mainly for gaming. The project is written in C99. The engine itself depends only on libc but e.g. ALSA and Speex libraries are recommended for audio input/output and voice encoding/decoding. The engine is accompanied with some reference UIs.
Here are some key features of "SpeexComm":
· Free: libre and gratis
· Portable: the engine itself depends only in (uc)libc
· Lightweight: engine does little work (no mallocs, not many memcpys), audio encoding/preprocessing can be heavy
· Add new parameter for audio_read/write calls to obtain information about getting behind/going ahead?
· Should client_version be given to engine_alloc as a mandatory parameter?
· If server uses struct sample for downmixing the stream from clients, there will be nothing but cache misses with smaller CPU cache. It should be easy enough to work this over by changing the way we receive data.
· Fix USE_POOL in list.c (wnd)