tux3/toxgui — pull request #114 by retuxx (2014-07-06 23:34:22+00:00)
Title: Use a non locking circular ringbuffer for audio output

Based on: http://www.codeproject.com/Articles/43510/Lock-Free-Single-Producer-Single-Consumer-Circular

- The performance of the buffer is very good since it does not need any locking
- This buffer provides a push and pull api
- To get maximum performance use a size to the power of 2. Nevertheless is can be used with any sizes.

On the next days I will try to use this buffer for audio input as well. Furthermore I will add the acquire-release memory model to increase the performance.

Tested on Linux and Windows 7. As far as I can see the number of buffer underflows is lower compared to the old buffer but not completely removed.