From: Paul Brossier Date: Sun, 9 Oct 2016 18:03:29 +0000 (+0200) Subject: src/utils/ringbuffer.c: remove asserts, make sure request < available X-Git-Url: https://git.aubio.org/?a=commitdiff_plain;h=128589e79c75db5014dbe6bb8c3471d3342e3223;p=aubio.git src/utils/ringbuffer.c: remove asserts, make sure request < available --- diff --git a/src/utils/ringbuffer.c b/src/utils/ringbuffer.c index da1e4adb..23e91bb8 100644 --- a/src/utils/ringbuffer.c +++ b/src/utils/ringbuffer.c @@ -46,7 +46,7 @@ uint_t aubio_ringbuffer_push(aubio_ringbuffer_t *o, fvec_t *input, uint_t write) // write everything at once fvec_t tmp; tmp.data = o->buffer->data + o->write_pos; tmp.length = write; fvec_t tmpin; tmpin.data = input->data; tmpin.length = write; - assert(tmpin.length == tmp.length); + //assert(tmpin.length == tmp.length); fvec_copy(&tmpin, &tmp); //AUBIO_WRN("ringbuffer: push1: changing write_pos from %d\n", o->write_pos); @@ -69,7 +69,7 @@ uint_t aubio_ringbuffer_push(aubio_ringbuffer_t *o, fvec_t *input, uint_t write) tmp.length = remaining; tmpin.data = input->data; tmpin.length = remaining; - assert(tmpin.length == tmp.length); + //assert(tmpin.length == tmp.length); fvec_copy(&tmpin, &tmp); } // write start @@ -77,7 +77,7 @@ uint_t aubio_ringbuffer_push(aubio_ringbuffer_t *o, fvec_t *input, uint_t write) tmp.length = write - remaining; tmpin.data = input->data + remaining; tmpin.length = write - remaining; - assert(tmpin.length == tmp.length); + //assert(tmpin.length == tmp.length); fvec_copy(&tmpin, &tmp); //AUBIO_WRN("ringbuffer: push2: changing write_pos from %d\n", o->write_pos); o->write_pos += write; @@ -93,7 +93,7 @@ uint_t aubio_ringbuffer_push(aubio_ringbuffer_t *o, fvec_t *input, uint_t write) } uint_t aubio_ringbuffer_pull(aubio_ringbuffer_t *o, fvec_t *output, uint_t request) { - if (o->available <= 0) { + if (o->available < (sint_t)request) { AUBIO_ERR("ringbuffer: pull: requested %d but %d available\n", request, o->available); return AUBIO_FAIL; @@ -112,7 +112,7 @@ uint_t aubio_ringbuffer_pull(aubio_ringbuffer_t *o, fvec_t *output, uint_t reque // read everything at once fvec_t tmp; tmp.data = o->buffer->data + o->read_pos; tmp.length = request; fvec_t tmpout; tmpout.data = output->data; tmpout.length = request; - assert(tmpout.length == tmp.length); + //assert(tmpout.length == tmp.length); fvec_copy(&tmp, &tmpout); //AUBIO_WRN("ringbuffer: pull1: changing read_pos from %d\n", o->read_pos); o->read_pos += request; @@ -130,14 +130,14 @@ uint_t aubio_ringbuffer_pull(aubio_ringbuffer_t *o, fvec_t *output, uint_t reque tmp.length = remaining; tmpout.data = output->data; tmpout.length = remaining; - assert(tmpout.length == tmp.length); + //assert(tmpout.length == tmp.length); fvec_copy(&tmpout, &tmp); // write start tmp.data = o->buffer->data; tmp.length = request - remaining; tmpout.data = output->data + remaining; tmpout.length = request - remaining; - assert(tmpout.length == tmp.length); + //assert(tmpout.length == tmp.length); fvec_copy(&tmp, &tmpout); //AUBIO_WRN("ringbuffer: pull2: changing read_pos from %d\n", o->read_pos); o->read_pos += request;