From 1fb82d55a7a1d2c378cab79b03342b8ac471ab64 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 23 Sep 2008 23:59:54 +0200 Subject: flac: use signed integers in flac_convert_stereo16() By mistake, I casted the sample value to uint16_t, which is wrong. This patch simplifies the code by using a int16_t pointer instead of casting to int16_t* every time. --- src/inputPlugins/_flac_common.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/inputPlugins/_flac_common.c b/src/inputPlugins/_flac_common.c index ddf25a0b9..3085660b3 100644 --- a/src/inputPlugins/_flac_common.c +++ b/src/inputPlugins/_flac_common.c @@ -204,15 +204,13 @@ static inline enum dc_action flacSendChunk(FlacData * data) return ret; } -static void flac_convert_stereo16(unsigned char *dest, +static void flac_convert_stereo16(int16_t *dest, const FLAC__int32 * const buf[], unsigned int position, unsigned int end) { for (; position < end; ++position) { - *(uint16_t*)dest = buf[0][position]; - dest += 2; - *(uint16_t*)dest = buf[1][position]; - dest += 2; + *dest++ = buf[0][position]; + *dest++ = buf[1][position]; } } @@ -258,7 +256,7 @@ flac_common_write(FlacData *data, const FLAC__Frame * frame, num_samples = max_samples; if (num_channels == 2 && bytes_per_sample == 2) - flac_convert_stereo16(data->chunk, + flac_convert_stereo16((int16_t*)data->chunk, buf, c_samp, c_samp + num_samples); else -- cgit v1.2.3