aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/pcm_resample_fallback.c2
-rw-r--r--src/pcm_resample_libsamplerate.c6
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;
}