Ringbuffer (aka circular buffer) data structure for use in concurrent audio scenarios.
Other than minor modifications, this ringbuffer is a copy of Tim Blechmann's fine work, found as the base structure of boost::lockfree::spsc_queue (ringbuffer_base). Whereas the boost::lockfree data structures are meant for a wide range of applications / archs, this version specifically caters to audio processing.
The implementation remains lock-free and thread-safe within a single write thread / single read thread context.
T
must be POD.
Show All |