From 90e1e43539e5b893a2b1c2738f51664a8f5371ed Mon Sep 17 00:00:00 2001 From: waker Date: Tue, 1 Feb 2011 21:18:21 +0100 Subject: fixed streamer transition between tracks with different formats --- ringbuf.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'ringbuf.c') diff --git a/ringbuf.c b/ringbuf.c index 797182ba..be82945e 100644 --- a/ringbuf.c +++ b/ringbuf.c @@ -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; } -- cgit v1.2.3