Factor endian-ness check out of play_sound_file(), and fix
test_setparameters() to use it -- don't assume AFMT_S16_NE is always
defined!
diff --git a/Lib/test/test_ossaudiodev.py b/Lib/test/test_ossaudiodev.py
index 729f6ea..21aa0ff 100644
--- a/Lib/test/test_ossaudiodev.py
+++ b/Lib/test/test_ossaudiodev.py
@@ -13,6 +13,17 @@
 import time
 import audioop
 
+# Arggh, AFMT_S16_NE not defined on all platforms -- seems to be a
+# fairly recent addition to OSS.
+try:
+    from ossaudiodev import AFMT_S16_NE
+except ImportError:
+    if sys.byteorder == "little":
+        AFMT_S16_NE = ossaudiodev.AFMT_S16_LE
+    else:
+        AFMT_S16_NE = ossaudiodev.AFMT_S16_BE
+
+
 SND_FORMAT_MULAW_8 = 1
 
 def read_sound_file(path):
@@ -38,12 +49,6 @@
             raise TestSkipped, msg
         raise TestFailed, msg
 
-    # set the data format
-    if sys.byteorder == 'little':
-        fmt = ossaudiodev.AFMT_S16_LE
-    else:
-        fmt = ossaudiodev.AFMT_S16_BE
-
     # at least check that these methods can be invoked
     dsp.bufsize()
     dsp.obufcount()
@@ -52,7 +57,7 @@
     dsp.fileno()
 
     # set parameters based on .au file headers
-    dsp.setparameters(fmt, nchannels, rate)
+    dsp.setparameters(AFMT_S16_NE, nchannels, rate)
     t1 = time.time()
     print "playing test sound file..."
     dsp.write(data)