From 9c0cc6bf6146dd71286c5ae7e3cf069024860ceb Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 27 May 2008 22:14:54 +0000 Subject: decrease size counter as we hand out data, so we can detect EOF better git-svn-id: file:///home/lennart/svn/public/libcanberra/trunk@28 01b60673-d06a-42c0-afdd-89cb8e0f78ac --- src/read-vorbis.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/read-vorbis.c b/src/read-vorbis.c index be35f2a..6b90c87 100644 --- a/src/read-vorbis.c +++ b/src/read-vorbis.c @@ -95,7 +95,7 @@ int ca_vorbis_open(ca_vorbis **_v, FILE *f) { goto fail; } - v->size = n * sizeof(int16_t); + v->size = n * sizeof(int16_t) * ca_vorbis_get_nchannels(v); *_v = v; @@ -171,7 +171,11 @@ int ca_vorbis_read_s16ne(ca_vorbis *v, int16_t *d, unsigned *n){ } while (length >= 4096); + ca_assert(v->size >= n_read); + v->size -= n_read; + *n = (unsigned) n_read/sizeof(int16_t); + return CA_SUCCESS; } -- cgit