diff options
author | waker <wakeroid@gmail.com> | 2011-02-01 21:18:21 +0100 |
---|---|---|
committer | waker <wakeroid@gmail.com> | 2011-02-01 21:18:21 +0100 |
commit | 90e1e43539e5b893a2b1c2738f51664a8f5371ed (patch) | |
tree | d1e5a626687342a5436c176a773b075049b72fd1 /ringbuf.c | |
parent | c0606a32db2c30abf4ab8f54ab44c6624be89c32 (diff) |
fixed streamer transition between tracks with different formats
Diffstat (limited to 'ringbuf.c')
-rw-r--r-- | ringbuf.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -59,8 +59,9 @@ ringbuf_write (ringbuf_t *p, char *bytes, size_t size) { int ringbuf_read (ringbuf_t *p, char *bytes, size_t size) { if (p->remaining < size) { - return -1; + size = p->remaining; } + int rb = size; if (p->size - p->cursor >= size) { memcpy (bytes, p->bytes + p->cursor, size); @@ -80,4 +81,5 @@ ringbuf_read (ringbuf_t *p, char *bytes, size_t size) { p->cursor = size; p->remaining -= size; } + return rb; } |