[ This bug is connected to PulseAudio (successor to polypaudio), which you may or may not have heard about: http://pulseaudio.org/. The 'padsp' utility mentioned in the report is similar in its purpose to 'esddsp' (Esound), 'aoss' (ALSA) and 'artsdsp' (ARTS) - it captures OSS calls to /dev/dsp and handles it internally. ]
While sox works fine with both OSS/padsp ('padsp sox -t wav some.wav -t ossdsp /dev/dsp') and "real" ALSA devices ('sox -t wav some.wav -t alsa hw:0'), ALSA output to pulse doesn't work at all ('sox -t wav some.wav -t alsa pulse'). In the latter case, sox just hangs, hogs the CPU, and can't be terminated with Ctrl-C. The only way to get rid of it is to 'kill -KILL' it from another terminal.
This affects, for example, audio preview in GNOME's Nautilus. Audio preview is effectively done by piping the audio file to be previewed to 'play'. Do this for a few times, and you'll be left with a bunch of rogue sox processes hogging the CPU, and no audio preview.
I'll also file bug reports with PulseAudio and ALSA, just to be on the safe side. Somehow I actually don't suspect sox itself to be the culprit, though, because it works fine whenever only either one of ALSA or PulseAudio is involved (OSS + padsp, ALSA + any other device than pulse), but breaks when both are (ALSA + pulse device).
PS: I temporarily fixed the problem myself by simply patching 'play', I'll attach the patch here just in case someone else gets bitten by the same bug.
Log in to post a comment.