aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/alcRing.c
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2016-03-30 01:12:02 -0700
committerChris Robinson <[email protected]>2016-03-30 01:12:02 -0700
commitb3e500be32bf65c3cdab5754e43a6ff955bed5b9 (patch)
treec1066dba6d946fa9a3ec4e224ffc3093c565658e /Alc/alcRing.c
parentd6163fe570e09a6fa65ef1f11eba3d6bcbd3aa9f (diff)
Remove the old ringbuffer implementation
Diffstat (limited to 'Alc/alcRing.c')
-rw-r--r--Alc/alcRing.c101
1 files changed, 0 insertions, 101 deletions
diff --git a/Alc/alcRing.c b/Alc/alcRing.c
index 05db7bc3..5994f196 100644
--- a/Alc/alcRing.c
+++ b/Alc/alcRing.c
@@ -29,107 +29,6 @@
#include "compat.h"
-struct RingBuffer {
- ALubyte *mem;
-
- ALsizei frame_size;
- ALsizei length;
- ALint read_pos;
- ALint write_pos;
-
- almtx_t mtx;
-};
-
-
-RingBuffer *CreateRingBuffer(ALsizei frame_size, ALsizei length)
-{
- RingBuffer *ring = calloc(1, sizeof(*ring) + ((length+1) * frame_size));
- if(ring)
- {
- ring->mem = (ALubyte*)(ring+1);
-
- ring->frame_size = frame_size;
- ring->length = length+1;
- ring->read_pos = 0;
- ring->write_pos = 0;
-
- almtx_init(&ring->mtx, almtx_plain);
- }
- return ring;
-}
-
-void DestroyRingBuffer(RingBuffer *ring)
-{
- if(ring)
- {
- almtx_destroy(&ring->mtx);
- free(ring);
- }
-}
-
-ALsizei RingBufferSize(RingBuffer *ring)
-{
- ALsizei s;
-
- almtx_lock(&ring->mtx);
- s = (ring->write_pos-ring->read_pos+ring->length) % ring->length;
- almtx_unlock(&ring->mtx);
-
- return s;
-}
-
-void WriteRingBuffer(RingBuffer *ring, const ALubyte *data, ALsizei len)
-{
- int remain;
-
- almtx_lock(&ring->mtx);
-
- remain = (ring->read_pos-ring->write_pos-1+ring->length) % ring->length;
- if(remain < len) len = remain;
-
- if(len > 0)
- {
- remain = ring->length - ring->write_pos;
- if(remain < len)
- {
- memcpy(ring->mem+(ring->write_pos*ring->frame_size), data,
- remain*ring->frame_size);
- memcpy(ring->mem, data+(remain*ring->frame_size),
- (len-remain)*ring->frame_size);
- }
- else
- memcpy(ring->mem+(ring->write_pos*ring->frame_size), data,
- len*ring->frame_size);
-
- ring->write_pos += len;
- ring->write_pos %= ring->length;
- }
-
- almtx_unlock(&ring->mtx);
-}
-
-void ReadRingBuffer(RingBuffer *ring, ALubyte *data, ALsizei len)
-{
- int remain;
-
- almtx_lock(&ring->mtx);
-
- remain = ring->length - ring->read_pos;
- if(remain < len)
- {
- memcpy(data, ring->mem+(ring->read_pos*ring->frame_size), remain*ring->frame_size);
- memcpy(data+(remain*ring->frame_size), ring->mem, (len-remain)*ring->frame_size);
- }
- else
- memcpy(data, ring->mem+(ring->read_pos*ring->frame_size), len*ring->frame_size);
-
- ring->read_pos += len;
- ring->read_pos %= ring->length;
-
- almtx_unlock(&ring->mtx);
-}
-
-
/* NOTE: This lockless ringbuffer implementation is copied from JACK, extended
* to include an element size. Consequently, parameters and return values for a
* size or count is in 'elements', not bytes. Additionally, it only supports