>I may miss something buy my proposal would be to have the receiver (the 
>client) doint the mixing.
>
>Eg if client1's input port has only 1 source feeding it then simply evaluate 
>that buffer directly.
>If there is more than one source (many-to-one) then get the data from the 
>other sources and mix them together to an intermediary buffer which will be 
>the one used for processing.
>
>The receiving client should block till all sources feeding its input ports 
>are ready. At this point mixing can occur (after completion the sources can 
>be informed that mixing is done).
>
>Is this applicable to your model ?

No. From the client perspective, ports have a single buffer associated
with them, so that clients deal with a simple, pure, sweet and lovable
world.

Any mixing that is done has to be handled either before the client is
called, or in a function that the client calls, such as
audioengine_port_get_buffer(). If this is what you mean by "the client
does the mixing", then we're fine. But I don't want to expose the
notion of a "connection count" to the client.

--p

Reply via email to