Re: tee-like function via virtual_oss

From: Hans Petter Selasky <>
Date: Mon, 04 Oct 2021 11:02:23 UTC

On 10/4/21 12:38 PM, J P wrote:
> Thank you for your email.
> I think the use-case I am facing is different: the player is using
> /dev/dsp0.something, I have no control over it.

And there is no environment variable to override this either?

Did you try:
strings `which mymusicplayer`

One hackish way to get what you want is to:

sysctl hw.snd.basename_clone=1
rm /dev/dsp0
touch /dev/dsp0.9
sysctl hw.snd.basename_clone=0

And create "dsp0" as a virtual_oss instance, routing all virtual_oss 
output to /dev/dsp0.9 instead.

> Furthermore, since I installed virtual_oss all the audio devices have gone
> from PulseAudio, which is a little odd. On top of this, /dev/ is being
> populated with a lot of /dev/dsp0.x (now I have 14) and the number grows
> the more I use audio.

This may indicate a file descriptor leak in your music player. OSSv4 has 
some limits how many FDs can be opened at the same time. You should 
check using ktrace, that it really closes this device.

> Can my goal be achieved with virtual_oss or would you suggest some other
> tool?

See top the the e-mail.