INNER CODE UNIT · C
data_in
1oom-fork/1oom · src/fmt_sfx.c:44
data_in = lib_malloc(s_in->num * 2 * sizeof(float));
src_data.data_in = data_in;
src_data.src_ratio = (double)audiorate / s_in->samplerate;
/* We include some extra space here in case of rounding-up. */
src_data.output_frames = src_data.src_ratio * s_in->num + (audiorate / 4);
src_data.data_out = lib_malloc(src_data.output_frames * 2 * sizeof(float));
/* Convert input data to floats */
for (i = 0; i < (s_in->num * 2); ++i) {
data_in[i] = s_in->data[i] / 32768.0;
}
/* Do the sound conversion */
{
int retn = src_simple(&src_data, opt_libsamplerate_mode, 2);
if (retn) {
log_fatal_and_die("%s: libsamplerate returned %i\n", __func__, retn);