Am Donnerstag, den 29.04.2010, 10:02 -0400 schrieb Paul Davis:
the data from the other JACK client isn't
available just because you
delivered it to its input port. that other client has to actually run
its own process() callback. that doesn't happen while yours in running
in. to paraphrase your code:
int gx_jack_process (jack_nframes_t nframes, void *arg)
{
get_the_input1_buffer ();
get_the_output_buffers ();
compute_output_data (); // delivers to outputs
get_the_input2_buffer ();
}
the problem is that the contents of "input2" is just the same at any
point during this entire function because the other client has *not*
executed its process() callback.
what you are reading from input2 is what the other client executed
*last* time it executed its process callback().
So, the "next client" didn't start processing before my client have
completed the callback full (return), that's it ?
Okay, thanks for clarification
greats hermann