Multimedia support (Re: X Developers' Summit)

Helge Bahmann hcb at
Mon Jul 16 07:55:46 PDT 2007

Am Montag, 16. Juli 2007 15:25 schrieb Nicolas Mailhot:
> You probably need to look hard at pulseaudio. Colin was too polite to
> write it, but major Linux distributions are planning a migration to
> pulseaudio. They've been burnt so deeply by previous audio system
> reimplementations/duplications their reaction to yet another audio
> project is likely to be overwhelmingly negative.

I understand that, but I am less interested in what distributions plan to do 
for pragmatic reasons short-term than what would technically be the best 
approach long-term. As for interfaces, it should be trivial to emulate the 
PulseAudio API on top of X-based audio. It is certainly possible to provide 
an ALSA interface, which should cover the overwhelming majority of 
applications already.

I remind you that my goal is not to provide just "network audio", but 
instead "perfectly synchronized video/audio" and fine-grained application 
control over the whole presentation. This is incredibly difficult if you are 
building your audio system "A" besides the graphics system "X" -- for 
synchronisation purposes you need at the very least to be able to refer to 
events in "A" from "X" (and vice versa); the interaction between "A" and "X" 
becomes messier the more fine-grained control you give to applications.

The point is you can either
- write a separate audio daemon in ~60000 lines of code and still be unable to 
synchronize video and audio usefully (mas, PulseAudio)
- write an X audio extension in ~4000 lines of server code utilizing the 
infrastructure that is in place and get perfect synchronisation for free 
(okay, admittedly this is another 1000 LoC)
- (or ignore X altogether and roll your own presentation system as NMM does)

I think there are compelling reasons for taking approach number two, and I
simply want to demonstrate that and how it can be done. Sorry if I am late to 
the party, but sometimes ideas take time :)

> (Also going through xorg will remind everyone of the mas debacle.)

yes, and frankly I fail to see what PulseAudio is doing fundamentally 
different from mas when it comes to synchronisation. Not that it is 
impossible, but it will get very very messy, and I can show that integrating 
it into X to begin with neatly solves this problem.

Best regards
Helge Bahmann
Mathematicians stand on each other's shoulders while computer scientists stand 
on each other's toes.
-- Richard Hamming

More information about the xorg mailing list