From b13d656f811d318ba37002cf18ddc3d85f0e2f1d Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Thu, 23 Oct 2008 20:01:08 +0200 Subject: pcm_resample: don't hard-code sample size Use sizeof(sample) instead of hard-coding "2". Although we're in 16 bit right now, this will make code sharing easier when we support other sample sizes. --- src/pcm_resample_fallback.c | 2 +- src/pcm_resample_libsamplerate.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src') 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; } -- cgit v1.2.3