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 <jk@blackdown.de>
This commit is contained in:
Juergen Kreileder 2006-03-20 20:24:13 +00:00 committed by Takashi Iwai
parent 5c0674aee3
commit 8ef339762a

View file

@ -194,7 +194,7 @@ static void mix_areas1_swap(unsigned int size,
register signed int sample; register signed int sample;
for (;;) { for (;;) {
sample = bswap_16(*src); sample = (signed short) bswap_16(*src);
if (! *dst) { if (! *dst) {
*sum = sample; *sum = sample;
*dst = *src; *dst = *src;
@ -205,7 +205,7 @@ static void mix_areas1_swap(unsigned int size,
sample = 0x7fff; sample = 0x7fff;
else if (sample < -0x8000) else if (sample < -0x8000)
sample = -0x8000; sample = -0x8000;
*dst = bswap_16((signed short)sample); *dst = (signed short) bswap_16((signed short) sample);
} }
if (!--size) if (!--size)
return; return;