Multimedia support (Re: X Developers' Summit)
hcb at chaoticmind.net
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
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.
Mathematicians stand on each other's shoulders while computer scientists stand
on each other's toes.
-- Richard Hamming
More information about the xorg