[gst-devel] Linux audio is a mess? [was: JACK and GStreamer, from the horse's mouth]

Paul Davis paul at linuxaudiosystems.com
Wed Nov 29 16:29:42 CET 2006

On Wed, 2006-11-29 at 16:08 +0100, Thomas Vander Stichele wrote:
> On Wed, 2006-11-29 at 14:49 +0100, Ronald S. Bultje wrote:

yet for some reason, i never saw it ...

> > Hi,
> > 
> > On Wed, 29 Nov 2006, Lennart Poetering wrote:
> > > maybe we should try to get all interested people together at a more,
> > > ...humm... popular conference such as linux.conf.au 2007. Or perhaps someone
> > > should organize as seperate "The grand cleanup-the-linux-audio-jumble
> > > summit".
> > 
> > You guys are making far too big a problem out of this.
> > 
> > It's fixed. The solution is ALSA. ALSA handles devices and sound servers
> > through dmix. The API is apparently push-based, since that's what their
> > API docs say. You don't like dmix? Fix it. You don't like the push-model?
> > Sucks. But nothing you can do about it.

Wrong, wrong, wrong.

The ALSA API supports push and pull models. If it didn't, there is no
way that JACK could be using a pull model for its ALSA backend. As for
dmix, since it has only weak coupling to the hardware itself, it cannot
be used by another API that wants strong coupling (because it also is
avoiding buffering to keep latency very low). This is why you can't
reliably run JACK on top of dmix. 

dmix is very, very clever. that doesn't mean its necessarily the right
solution. the internals (kernel-side) of CoreAudio are another
interesting approach to the same problem.

> I am surprised that after all these years ALSA still has a lot of issues
> and it's probably not going to go away until some distro people actually
> put a guy in charge whose job it is to fix it on all hardware and
> drivers in use.  I know, not an easy task.

SuSE pays at least 2 people to work on ALSA full time, and this is their
job. It is way too vast a task for 2 people, and unfortunately not
enough people have the skills or interest to figure out why the
particular pin wiring for the supposedly "standard" Intel HDA chipset
they have on their motherboard is different from every other pin wiring
of the supposedly same chipset. I'm serious - the count of different
pinouts from chipsets all reporting the same ID is staggering.

> I am also hoping for a day where some legacy applications can easily be
> run integrated with ALSA.  It is fine to handwave and say "nobody should
> use OSS anymore".  It's a little less fine to pretend that the
> handwaving actually solves the problem correctly-.

actually, AFAIK all OSS apps that do not abuse the OSS API (and do not
use OSS's mmap support) will all run fine with either ALSA's own OSS
emulation. The problems arise from apps that for good reasons or bad
reasons abused the OSS API, or alternatively used mmap. Without an
LD_PRELOAD hack, its not possible to make these work and in some cases,
even with LD_PRELOAD hacks, you still can't.

More information about the gstreamer-devel mailing list