From: Juergen Kreileder Date: Mon, 20 Mar 2006 20:24:13 +0000 (+0000) Subject: Fixes S16 byte swapping with generic dmix code X-Git-Tag: v1.0.11rc4~7 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=8ef339762a0b76e0b2ce2b7bab534fe4c51a3e41;p=alsa-lib.git Fixes S16 byte swapping with generic dmix code Here's a patch for generic dmix which fixes S16 byte swapping. Tested on powerpc with snd-usb-audio. (Without the patch I get crackling.) Signed-off-by: Juergen Kreileder --- diff --git a/src/pcm/pcm_dmix_generic.c b/src/pcm/pcm_dmix_generic.c index 4e45ba89..3f39ba4d 100644 --- a/src/pcm/pcm_dmix_generic.c +++ b/src/pcm/pcm_dmix_generic.c @@ -194,7 +194,7 @@ static void mix_areas1_swap(unsigned int size, register signed int sample; for (;;) { - sample = bswap_16(*src); + sample = (signed short) bswap_16(*src); if (! *dst) { *sum = sample; *dst = *src; @@ -205,7 +205,7 @@ static void mix_areas1_swap(unsigned int size, sample = 0x7fff; else if (sample < -0x8000) sample = -0x8000; - *dst = bswap_16((signed short)sample); + *dst = (signed short) bswap_16((signed short) sample); } if (!--size) return;