alsa-dmix-fix.patch
(see http://blog.blackdown.de/2006/03/20/miscellaneous-alsa-dmix-patches/)


Fix generic dmix S16 byteswapping.

Signed-off-by: Juergen Kreileder <jk@blackdown.de>

--- o/alsa-lib-1.0.11rc3/src/pcm/pcm_dmix_generic.c	2005-12-19 08:39:04.000000000 +0100
+++ alsa-lib-1.0.11rc3/src/pcm/pcm_dmix_generic.c	2006-03-10 02:04:56.000000000 +0100
@@ -194,7 +194,7 @@ static void mix_areas1_swap(unsigned int
 	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
 				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;
=
