I read here about how JACK handles the client ordering using the sortfeeds
and truefeeds list
https://github.com/jackaudio/jackaudio.github.com/wiki/A_guide_to_the_Jack1…
So with a graph like this:
A -> B -> C
When I make a connection between C and A:
C -> A
Then C will be added to A's sortfeeds list and the processing order will be
retained: [A, B, C].
My question is: when does A actually get C's output data? If JACK allows
the connection, then A should get as input C's output data. Is there a
one-cycle delay? That's kind of what I interpreted this
<http://jack-audio.10948.n7.nabble.com/Some-more-explanations-on-jackdmp-td1606.html#a1608>
to mean.
I also read this
<http://jack-audio.10948.n7.nabble.com/JACK-design-flaw-and-Proposal-td882.html#a898>
but didn't walk away with a clear idea of what JACK actually does.
This paper
<http://www.grame.fr/ressources/publications/Jackdmp-ICMC2005.pdf> says
In the event of feedback loops, there is no ”correct” ordering of the
graph, so Jack just picks one of the legal
possibilities.
Is the "legal" choice that JACK is making here the same thing as what is
discussed on the Wiki page at the top of my post?
Also, do jack2 and jack1 behave the same in this regard?