From: Long.inus Date: Wed, 10 Jul 2013 11:37:58 +0000 (+0900) Subject: tunerec: add comment X-Git-Url: http://git.osdn.net/view?p=rec10%2Frec10-git.git;a=commitdiff_plain;h=173a136df6baffb2c47dd816ed00d0a6d726bb43 tunerec: add comment --- 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);