Does the switch bias towards the last output used?
If 2 is blocked, the system will output to 1. If 2 becomes unblocked, that port still won't be chosen until 1 is blocked. This is what i see when my system creates a backlog at port 2 until port 1 is exhausted. Switching the port order biases the first entry when both ports are unblocked.
What i really want is control of the switch so that the output order is defined by earliest available sample downstream. My backup is to have each downstream queue send a message when it is available to build a "schedule array". The output switch would then direct entities according to the schedule.