diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2020-10-10 07:47:36 +0200 |
---|---|---|
committer | Andreas Eversberg <jolly@eversberg.eu> | 2020-10-29 08:02:44 +0100 |
commit | 3111f8f25082f75956b7f1ad6aa182b9dea0b23d (patch) | |
tree | 3179025cdaeef7ba7ce649bbee3891fa085711d2 /src/libwave | |
parent | 167b7ea52fc8e46d27a52d09509c76cf06401203 (diff) |
libwave: wave_read() returns the actual samples read
Diffstat (limited to 'src/libwave')
-rw-r--r-- | src/libwave/wave.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libwave/wave.c b/src/libwave/wave.c index a2de2af..50c2c96 100644 --- a/src/libwave/wave.c +++ b/src/libwave/wave.c @@ -375,6 +375,7 @@ int wave_read(wave_play_t *play, sample_t **samples, int length) int __attribute__((__unused__)) len; int i, c; int to_read; + int got = 0; /* we have finished */ if (play->left == 0) { @@ -384,7 +385,7 @@ read_empty: for (c = 0; c < play->channels; c++) samples[c][i] = 0; } - return length; + return got; } /* how much do we read from buffer */ @@ -413,6 +414,7 @@ read_empty: samples[c][i] = (double)value / 32767.0 * max_deviation; } } + got += to_read; play->left -= to_read; if (!play->left) @@ -421,7 +423,7 @@ read_empty: if (to_read < length) goto read_empty; - return length; + return got; } void wave_destroy_record(wave_rec_t *rec) |