On Thu, 2004-04-22 at 20:12 +0100, Mike Hearn wrote:
On Thu, 2004-04-22 at 14:38 -0400, Paul Davis wrote:
JACK runs on OS X (and is proving very popular there). It is written in strict ANSI C and attempts to be strictly POSIX compatible. There is an OSS-API driver enabling it to be used on Solaris (at least).
Bingo :) OK, so I originally thought that alsa dmix was the best way to get decent desktop mixing and such, maybe it still is (I'm a real newbie to this stuff), but it sounds like there are at least two good solutions in the pipeline.
Perhaps GNOME and KDE could be persuaded to move to JACK after all. The main problem is that I'm not sure what GStreamers support is like, and KDE can't/won't drop arts until kde 4 rolls around.
Gstreamer talks to JACK ok. If you run gstreamer-properties you can tell GNOME that JACK should be the default audio output for gstreamer apps. The problem is that most GNOME apps aren't gstreamer aware atm. Jeff Waugh (GNOME release manager) has spoken about this stuff before. As I understand it (and correct me if I'm wrong here), a move away from esd would require an API change and that's not going to happen until GNOME 3.0 at the earliest.
Another option potentially worth considering is using SDL. I'm not too familiar with it, but it does provide an audio abstraction layer. Being written for games and so forth, it's likely they've designed it to be relatively low-latency. Alas that's all I know about it. Figured it was worth mentioning though.
I had a look at Wine's audio code a while ago with a view to prototyping this. Unfortunately I couldn't figure out enough about how it works to be able to do it. I'd be interested in having another attempt if someone could give me some pointers on getting started.
James.