diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/pcm_resample_fallback.c | 2 | ||||
-rw-r--r-- | src/pcm_resample_libsamplerate.c | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/pcm_resample_fallback.c b/src/pcm_resample_fallback.c index 4ab586160..c5c4ae08c 100644 --- a/src/pcm_resample_fallback.c +++ b/src/pcm_resample_fallback.c @@ -30,7 +30,7 @@ pcm_resample_16(uint8_t channels, mpd_unused struct pcm_resample_state *state) { unsigned src_pos, dest_pos = 0; - unsigned dest_samples = dest_size / 2; + unsigned dest_samples = dest_size / sizeof(*dest_buffer); int16_t lsample, rsample; switch (channels) { diff --git a/src/pcm_resample_libsamplerate.c b/src/pcm_resample_libsamplerate.c index 5321c0e0b..d4b85b811 100644 --- a/src/pcm_resample_libsamplerate.c +++ b/src/pcm_resample_libsamplerate.c @@ -108,14 +108,14 @@ pcm_resample_16(uint8_t channels, if (state->error) return 0; - data->input_frames = src_size / 2 / channels; + data->input_frames = src_size / sizeof(*src_buffer) / channels; data_in_size = data->input_frames * sizeof(float) * channels; if (data_in_size > state->data_in_size) { state->data_in_size = data_in_size; data->data_in = xrealloc(data->data_in, data_in_size); } - data->output_frames = dest_size / 2 / channels; + data->output_frames = dest_size / sizeof(*dest_buffer) / channels; data_out_size = data->output_frames * sizeof(float) * channels; if (data_out_size > state->data_out_size) { state->data_out_size = data_out_size; @@ -136,5 +136,5 @@ pcm_resample_16(uint8_t channels, src_float_to_short_array(data->data_out, dest_buffer, data->output_frames_gen * channels); - return data->output_frames_gen * 2 * channels; + return data->output_frames_gen * sizeof(*dest_buffer) * channels; } |