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>
register signed int sample;
for (;;) {
- sample = bswap_16(*src);
+ sample = (signed short) bswap_16(*src);
if (! *dst) {
*sum = sample;
*dst = *src;
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;