-
- if (write > s->max_size) {
- AUBIO_WRN("sink_sndfile: trying to write %d frames, but only %d can be written at a time\n",
- write, s->max_size);
- write = s->max_size;
- }
-
- nsamples = channels * write;
+ uint_t channels = aubio_sink_validate_input_channels("sink_sndfile", s->path,
+ s->channels, write_data->height);
+ uint_t length = aubio_sink_validate_input_length("sink_sndfile", s->path,
+ s->max_size, write_data->length, write);
+ int nsamples = channels * length;