MUX

The purpose of the mux component is to take a number of independant inputs (currently 2) from individual graph nodes and mux them together to a single multichannel output. Inputs will not be mixed in any way, but simply muxed to individual channels on a single output.

This is useful for components that needs multiple inputs from different sources, such as LMS, Echo Cancellers, etc.

Practically, this is done by implementing a process function for each input. Each process will take the incoming data and place it in the output buffer. When both process functions have been called, a full combined output buffer (containing two channels) is ready and will be pushed to the next downstream node.

Interface

Inputs

The Mux component supports multiple inputs, each triggered by a push function. Input data are in float32 format and must contain one channel only!

Outputs

The component provides a single output, which will contain a number of channels matching the inputs. output data is in float32 and can be interleaved or non-interleaved, depending on output buffer.

Implementations

Implementations are available on FC and as a C model.

Tests

nonreg.py implements 8 tests for both model and FC implementation.