>> Anyway, the whole syntax is 'jack_auto,client'. It causes ecasound to
>> register a set of JACK ports and connect those to the ports of 'client'.
> Could you explain what is going on internally? I take it there is some
> buffering going on? Can this be tweaked in the usual way? I haven't
> tried anything serious with this, say routing from ardour. I suppose
> you certainly want to make the samplerates match to avoid the
> overhead. Anyway, great stuff as usual Kai.

In the JACK process ecasound reads audio from JACK input ports it
has connected. The audio data is then routed to internal nodes. Next
ecasound runs one normal engine iteration (including all chain
routing and chainop processing). As the last step ecasound fetches data
from internal nodes' buffers to JACK output ports, and finally returns
control to JACK.

So the whole ecasound engine actually is just one big plugin in the
JACK graph. No additional buffering is done, and thus no extra latency is
added.