Beispiel #1
0
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);
}
Beispiel #2
0
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);
}
Beispiel #3
0
/* 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);
}
Beispiel #4
0
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;
    }
}
Beispiel #5
0
void bufpong(caryll_Buffer *buf, size_t *offset, size_t *cp) {
	*offset = buf->cursor;
	bufseek(buf, *cp);
}
Beispiel #6
0
void bufping16bd(caryll_Buffer *buf, size_t *offset, size_t *shift, size_t *cp) {
	bufwrite16b(buf, *offset - *shift);
	*cp = buf->cursor;
	bufseek(buf, *offset);
}