[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug #253568 (16-bit sound broken on HPPA, and PPC with -ansi)



I'm aware of the current freeze, but I'd like to draw attention to bug
#253568 - it affects HPPA, but I believe that it breaks almost all apps
that use 16-bit sound with OSS on that port.  (This applies equally to
ALSA with OSS emulation.)

This also applies to the PowerPC port, when -ansi is used.

The problem is that <linux/soundcard.h> doesn't test for __hppa__ and
__powerpc__ when defining AFMT_S16_NE, so it ends up being defined as
AFMT_S16_LE instead of AFMT_S16_BE.  Result: samples are effectively
byte-swapped.

I've appended the less intrusive fix from the bug report.
-- 
Stuart Brady

--- /usr/include/linux/soundcard.h.orig	2004-06-08 19:11:00.000000000 +0100
+++ /usr/include/linux/soundcard.h	2004-06-08 19:18:34.000000000 +0100
@@ -179,7 +179,7 @@
  * Some big endian/little endian handling macros
  */
 
-#if defined(_AIX) || defined(AIX) || defined(sparc) || defined(__sparc__) || defined(HPPA) || defined(PPC) || defined(__mc68000__)
+#if defined(_AIX) || defined(AIX) || defined(sparc) || defined(__sparc__) || defined(HPPA) || defined(__hppa__) || defined(PPC) || defined(__powerpc__) || defined(__mc68000__)
 /* Big endian machines */
 #  define _PATCHKEY(id) (0xfd00|id)
 #  define AFMT_S16_NE AFMT_S16_BE



Reply to: