From 173a136df6baffb2c47dd816ed00d0a6d726bb43 Mon Sep 17 00:00:00 2001 From: "Long.inus" Date: Wed, 10 Jul 2013 20:37:58 +0900 Subject: [PATCH 1/1] tunerec: add comment --- tunerec/tunerec.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tunerec/tunerec.c b/tunerec/tunerec.c index 3224b35..8201f24 100755 --- a/tunerec/tunerec.c +++ b/tunerec/tunerec.c @@ -42,6 +42,8 @@ typedef struct { void * record_read(void * priv); void * record_write(void * priv); +// TODO: switchable between VRB(virtual ring buffer) and MRB(My Ring Buffer) + void mrb_init(mrb* rb, size_t size) { rb->rb_ptr = malloc(size); rb->rb_wt = rb->rb_rt = rb->rb_ab = 0; @@ -92,12 +94,13 @@ bool mrb_get(mrb* rb, char *target, size_t size) { return false; } if ( rb->rb_rt + size <= rb->rb_wt ) { - // read bytes + newly taken bytes <= written max size + // read bytes + newly taken bytes <= buffer max size memcpy(target, rb->rb_ptr + rb->rb_rt, size); rb->rb_rt = rb->rb_rt + size; } else { - // Ring Buffer wrapped. + // read bytes + newly taken bytes > buffer max size + // wrap around. partial = RING_BUFFER_SIZE - rb->rb_rt; memcpy(target, rb->rb_ptr + rb->rb_rt, partial); memcpy(target + partial, rb->rb_ptr, size - partial); -- 2.11.0