aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2020-10-10 07:47:36 +0200
committerAndreas Eversberg <jolly@eversberg.eu>2020-10-29 08:02:44 +0100
commit3111f8f25082f75956b7f1ad6aa182b9dea0b23d (patch)
tree3179025cdaeef7ba7ce649bbee3891fa085711d2 /src
parent167b7ea52fc8e46d27a52d09509c76cf06401203 (diff)
libwave: wave_read() returns the actual samples read
Diffstat (limited to 'src')
-rw-r--r--src/libwave/wave.c6
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)