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