diff options
Diffstat (limited to 'src/read-vorbis.c')
-rw-r--r-- | src/read-vorbis.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/read-vorbis.c b/src/read-vorbis.c index 34d33a0..e61defc 100644 --- a/src/read-vorbis.c +++ b/src/read-vorbis.c @@ -36,6 +36,7 @@ struct ca_vorbis { OggVorbis_File ovf; + size_t size; }; static int convert_error(int or) { @@ -94,6 +95,8 @@ int ca_vorbis_open(ca_vorbis **_v, FILE *f) { goto fail; } + v->size = n * sizeof(int16_t); + *_v = v; return CA_SUCCESS; @@ -156,3 +159,9 @@ int ca_vorbis_read_s16ne(ca_vorbis *v, int16_t *d, unsigned *n){ *n = (unsigned) r; return CA_SUCCESS; } + +size_t ca_vorbis_get_size(ca_vorbis *v) { + ca_return_val_if_fail(v, CA_ERROR_INVALID); + + return v->size; +} |