Re: virtual OSS devices [for making selfish apps happy]

From: Jaroslav Kysela
Date: Tue Nov 22 2005 - 03:19:48 EST


On Mon, 21 Nov 2005, Lee Revell wrote:

> On Mon, 2005-11-21 at 22:16 +0100, Christian Parpart wrote:
> > Hi all,
> >
> > I'm having some apps running on my desktop that all want
> > exclusive access to my sound device just for playing audio
> > (and a single app for capturing), namely:
> >
> > * TeamSpeak (VoIP team voice chat)
> > * Cedega (for playing some win32 games on my beloved box)
> > * KDE/arts (my desktop wants to play some sounds as well wtf)
> >
> > While I could easily disable my desktop sounds, and yeah, forget about the
> > music, but I'd still like to be in TeamSpeak (talking to friends and alike)
> > while playing a game using cedega.
> >
> > Unfortunately, *all* those stupid (2) apps want exclusive access to the OSS
> > layout of my ALSA drivers, though, there just came into my mind to buy a
> > second audio device and wear a second headset (a little one below/under my
> > big one). But I couldn't find it handy anyway :(
>
> This problem is (mostly) solved already. You have to use aoss (alsa-lib
> based OSS emulation) on top of dmix (software mixing for soundcards too
> lame to do it in hardware). With a recent ALSA dmix is already used by
> default so the only change needed is to launch the OSS apps with the
> aoss wrapper e.g. aoss ./foo-oss-app. Since it's not completely
> transparent this problem will have to be solved at the distro level, by
> making sure all OSS apps are run with this wrapper.
>
> This method should only be needed for closed source apps, an open source
> app like artsd should be ported to use the ALSA API.

Also note that we have Open Sound System call redirector in our alsa-oss
package (see http://www.alsa-project.org for download). It's small library
which can redirects OSS calls to any dynamic library.

It would be nice to convert existing OSS apps to use this library. It
should be quite fast and easy. The only thing is to persuade sound
developers to use this library instead the direct open/close/ioctl
OSS syscalls.

Jaroslav

-----
Jaroslav Kysela <perex@xxxxxxx>
Linux Kernel Sound Maintainer
ALSA Project, SUSE Labs
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/