This is useful in cases where routing settings (which can be made in your .asoundrc file) need to be applied to commands that use the OSS API.
Examples of asoundrc configuration:
pcm.dsp0 {
type plug
slave.pcm "hw:0,0"
}
or
pcm.dsp0 {
type plug
slave.pcm "dmix"
}
In the above configuration examples, the pcm.dsp0 definition is used to wrap calls do /dev/dsp0. You can also wrap usage of /dev/dsp1, /dev/dsp2, etc. by defining pcm.dsp1, pcm.dsp2, etc..
The PCM name to open can be given explicitly via ALSA_OSS_PCM_DEVICE environment variable, too. This overrides the default dsp0, etc.
Note on mmap: aoss mmap support might be buggy. Your results may vary when trying to use an application that uses mmap'ing to access the OSS device files.