On 11 March 2003, Guido van Rossum said:
Yes, it fixes the hang. Please check it in!
The sample is still played at too high a speed, but maybe that's expected?
No, definitely not. On my system, it sounds the same as it has with linuxaudiodev for quite a while, and the same as it did with sunaudiodev on my old Sun box at CNRI before that.
*Maybe* there's something wrong with how setparameters() initializes the audio device. Try this patch and see how it goes:
--- Lib/test/test_ossaudiodev.py 14 Feb 2003 19:29:22 -0000 1.4 +++ Lib/test/test_ossaudiodev.py 11 Mar 2003 21:42:31 -0000 @@ -52,8 +52,10 @@ a.fileno()
# set parameters based on .au file headers - a.setparameters(rate, 16, nchannels, fmt) - a.write(data) + a.setfmt(fmt) + a.channels(nchannels) + a.speed(rate) + a.writeall(data) a.flush() a.close()
Hmmm, I just noticed that setting O_NONBLOCK at open() time *does* have an effect -- I needed to change that write() to writeall() in order to hear the whole test sound. Uh-oh.