At Thu, 16 Jun 2005 10:30:29 -0400,
Paul Davis wrote:
i
don't think that, even if we had had fons on board at that time, that
the idea of using a DLL rather than interrupts to truly drive the whole
system would have occured to anyone in 1996-2000.
Probably not, but I remember we (at Alcatel) used them in soft DSP
systems at that time. But the DLL isn't really 'driving' anything,
it just provides more accurate timing *information* than what you can
get without it in the presence of interrupt and scheduling latencies.
Most audio apps don't need this info.
true, but i take it you get the way CoreAudio is doing it: it means you
can drive audio processing from a different interrupt source (e.g.
system timer) because you have very accurate idea of the position of the
h/w frame pointer. In CoreAudio, the "callback" is decoupled from any
PCI, USB or ieee1394 interrupt. Tasty.
I actually tried to implement a similar feature quite ago (I should
still have a piece of half-working code somewhere...), but I didn't
merge it simply because it didn't give you better performance, only
the waste of codes.
Interestingly, now we have dmix and its problem with the irq timing.
It might be nice to resurrect this kind of extension...
Takashi