void bufpingpong16b(caryll_Buffer *buf, caryll_Buffer *that, size_t *offset, size_t *cp) { bufwrite16b(buf, *offset); *cp = buf->cursor; bufseek(buf, *offset); bufwrite_bufdel(buf, that); *offset = buf->cursor; bufseek(buf, *cp); }
void buflongalign(caryll_Buffer *buf) { size_t cp = buf->cursor; bufseek(buf, buflen(buf)); if (buflen(buf) % 4 == 1) { bufwrite8(buf, 0); bufwrite8(buf, 0); bufwrite8(buf, 0); } else if (buflen(buf) % 4 == 2) { bufwrite8(buf, 0); bufwrite8(buf, 0); } else if (buflen(buf) % 4 == 3) { bufwrite8(buf, 0); } bufseek(buf, cp); }
/* Advance the reading index in a handle (relatively to its current position). Return 0 for success and < 0 for failure */ int bufadvance(int handle_id, off_t offset) { const struct memory_handle *h = find_handle(handle_id); if (!h) return ERR_HANDLE_NOT_FOUND; size_t newpos = h->offset + ringbuf_sub(h->ridx, h->data) + offset; return bufseek(handle_id, newpos); }
static bool codec_seek_buffer_callback(size_t newpos) { logf("codec_seek_buffer_callback"); int ret = bufseek(get_audio_hid(), newpos); if (ret == 0) { ci.curpos = newpos; return true; } else { return false; } }
void bufpong(caryll_Buffer *buf, size_t *offset, size_t *cp) { *offset = buf->cursor; bufseek(buf, *cp); }
void bufping16bd(caryll_Buffer *buf, size_t *offset, size_t *shift, size_t *cp) { bufwrite16b(buf, *offset - *shift); *cp = buf->cursor; bufseek(buf, *offset); }