projects
/
aubio.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
2d64a24
)
[io] sink_wavwrite_do writes all to channels if more than one
author
Paul Brossier
<piem@piem.org>
Thu, 13 Dec 2018 00:46:29 +0000
(
01:46
+0100)
committer
Paul Brossier
<piem@piem.org>
Thu, 13 Dec 2018 00:46:29 +0000
(
01:46
+0100)
src/io/sink_wavwrite.c
patch
|
blob
|
history
diff --git
a/src/io/sink_wavwrite.c
b/src/io/sink_wavwrite.c
index
2e456ea
..
6e39a3e
100644
(file)
--- a/
src/io/sink_wavwrite.c
+++ b/
src/io/sink_wavwrite.c
@@
-233,7
+233,7
@@
beach:
void aubio_sink_wavwrite_do(aubio_sink_wavwrite_t *s, fvec_t * write_data, uint_t write){
void aubio_sink_wavwrite_do(aubio_sink_wavwrite_t *s, fvec_t * write_data, uint_t write){
- uint_t i = 0, written_frames = 0;
+ uint_t
c = 0,
i = 0, written_frames = 0;
if (write > s->max_size) {
AUBIO_WRN("sink_wavwrite: trying to write %d frames to %s, "
if (write > s->max_size) {
AUBIO_WRN("sink_wavwrite: trying to write %d frames to %s, "
@@
-241,10
+241,12
@@
void aubio_sink_wavwrite_do(aubio_sink_wavwrite_t *s, fvec_t * write_data, uint_
write = s->max_size;
}
write = s->max_size;
}
- for (i = 0; i < write; i++) {
- s->scratch_data[i] = HTOLES(FLOAT_TO_SHORT(write_data->data[i]));
+ for (c = 0; c < s->channels; c++) {
+ for (i = 0; i < write; i++) {
+ s->scratch_data[i * s->channels + c] = HTOLES(FLOAT_TO_SHORT(write_data->data[i]));
+ }
}
}
- written_frames = fwrite(s->scratch_data, 2, write, s->fid);
+ written_frames = fwrite(s->scratch_data, 2, write
* s->channels
, s->fid);
if (written_frames != write) {
AUBIO_WRN("sink_wavwrite: trying to write %d frames to %s, "
if (written_frames != write) {
AUBIO_WRN("sink_wavwrite: trying to write %d frames to %s, "