[linux-audio-dev] oss2jack 0.13: A kernel-based approach to using OSS applications with jackd

Kor Nielsen korn-ml at xdas.com
Tue Feb 24 02:30:13 UTC 2004


Hi,

I have been quite frustrated with the difficulty of getting multiple OSS
applications using my sound hardware simultaneously. The LD_PRELOAD
hacks that I have tried leave much to be desired in terms of usability,
especially when dealing with arts and mozilla plugins.

oss2jack uses Jeremy Elson's useful fusd library
(http://www.circlemud.org/~jelson/software/fusd/) to create a userspace
character device, which is also a jackd client. It supports mono and
stereo streams, with virtually any sample rate thanks to libsamplerate
(http://www.mega-nerd.com/SRC/). Only the commonly-used OSS ioctls are
currently supported.

I have tested oss2jack with the following applications, and they behave
fairly well:

 - mplayer
 - artsd (and thus all the kde applications)
 - xmms
 - Macromedia Flash

TODO:

  - support mmap for quake and other games
       (requires support in fusd)

  - detect jackd period for audio sync (currently assumes 64 samples).
    Should not be too noticeable unless you get above a 256 sample 
    period)

  - lower CPU usage with artsd by blocking until the minimum fragment
    size is available (rather than the jackd period)

  - support for the OSS mixer.

Available at:

http://fort.xdas.com/~kor/oss2jack/

WARNING: I have not yet tested oss2jack on the 2.4 series kernel.
Currently I am using a self-created 2.6 patch for fusd available at 
the site above. It has been stable for the past 3 weeks on my machine,
but no guarantees about stability or safety... :)

fusd currently requires that devfs be enabled in the kernel.

Any comments are appreciated.

Kor





More information about the Linux-audio-dev mailing list