Aesthetic tweakery: factor read_sound_file() out of play_sound_file().
diff --git a/Lib/test/test_ossaudiodev.py b/Lib/test/test_ossaudiodev.py
index 1aa0f92..371d1a7 100644
--- a/Lib/test/test_ossaudiodev.py
+++ b/Lib/test/test_ossaudiodev.py
@@ -12,7 +12,7 @@
 
 SND_FORMAT_MULAW_8 = 1
 
-def play_sound_file(path):
+def read_sound_file(path):
     fp = open(path, 'r')
     size, enc, rate, nchannels, extra = sunaudio.gethdr(fp)
     data = fp.read()
@@ -22,6 +22,12 @@
         print "Expect .au file with 8-bit mu-law samples"
         return
 
+    # Convert the data to 16-bit signed.
+    data = audioop.ulaw2lin(data, 2)
+    return (data, rate, 16, nchannels)
+
+
+def play_sound_file(data, rate, ssize, nchannels):
     try:
         a = ossaudiodev.open('w')
     except ossaudiodev.error, msg:
@@ -29,9 +35,6 @@
             raise TestSkipped, msg
         raise TestFailed, msg
 
-    # convert the data to 16-bit signed
-    data = audioop.ulaw2lin(data, 2)
-
     # set the data format
     if sys.byteorder == 'little':
         fmt = ossaudiodev.AFMT_S16_LE
@@ -83,7 +86,8 @@
         print msg
 
 def test():
-    play_sound_file(findfile('audiotest.au'))
+    (data, rate, ssize, nchannels) = read_sound_file(findfile('audiotest.au'))
+    play_sound_file(data, rate, ssize, nchannels)
     test_errors()
 
 test()