From 8ef339762a0b76e0b2ce2b7bab534fe4c51a3e41 Mon Sep 17 00:00:00 2001 From: Juergen Kreileder Date: Mon, 20 Mar 2006 20:24:13 +0000 Subject: [PATCH] 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 --- src/pcm/pcm_dmix_generic.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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; -- 2.47.1