[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 18:20:10 UTC 2004


On Tue, 2004-02-24 at 03:27, Florian Schmidt wrote:
> Please test with Teamspeak [dunno, if it uses mmap though. i don't think
> so]. This is one of the killer apps for linux gaming [when i hang out in
> #alsa, this is one of the most frequently asked questions: "my soundcard
> #doesn't dupport hw mixing: how do i get teamspeak and quake3 running
> #simultaneously?".. my answer was [until today]: "you're screwed"]

I'll give it a try. I will have to add recording support to oss2jack
first though.

> > TODO:
> >
> >   - detect jackd period for audio sync (currently assumes 64 samples).
> >     Should not be too noticeable unless you get above a 256 sample 
> >     period)
> 
> Soundcards have a wide range of available periodsizes. My soundcard for
> example cannot go above 512 for full duple jack operation. Some other
> cards have fixed period sizes of 1024 or above.. So this can become a
> serious problem..

This is very easy to fix. I just need to account for the jack period
when processing ioctls like SNDCTL_DSP_GETODELAY and friends.

> 
> > 
> >   - lower CPU usage with artsd by blocking until the minimum fragment
> >     size is available (rather than the jackd period)
> > 
> >   - support for the OSS mixer.
> 
> Hmm, can't the OSS mixer stil be provided by kernel level oss emu
> [snd-mixer-oss]?
> 

Yes, but only on those sound cards that have a hardware mixer. I was
thinking it might be fun to offer the option to adjust the volume on a
per-app basis. IE, if you turn down the volume in xmms, it only affects
those streams opened by xmms.

> > 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.
> 
> Another problem: devfs is marked deprecated.. I would guess that only
> about 1/4 [max] of the linux users nowadays use devfs [i'm not one of
> them], so this can become a problem, too.. 

This is actively being worked on by the fusd developers. I think they
may have a non-devfs version in CVS by now. I'm not sure if it supports
the 2.6 kernel yet though...

> BTW: thanks for the effort. This can become very useful, as many people
> are yearning for mixing playback streams and sharing capture streams in
> OSS apps.. I'm not a kernel hacker, but i would be glad to help if i
> can..

oss2jack itself is 100% userspace. Implementing mmap in fusd will
require some kernel knowledge.  I'll accept any useful oss2jack patches.

Thanks for the comments,

Kor





More information about the Linux-audio-dev mailing list