It seems that quite often one ends up having two essentially mirrored filters around the same thing, eg to isolate an external clock from input A you’d have something like:
A In: filter out clock -> Virt A for further processing
A In: filter everything but the clock -> Virt C for clean clock signal
In a simple case like this it’s not a big deal to keep the filter rules in sync, but with more complicated things like multiple CC ranges, it gets error prone, and consumes two pipes for a simple task. I think it’d be both more conventient and efficient in many ways if all the filter pipes had an argument to control what to do with the filtered part: discard (the current action), or route to a given pipe.
Or am I just missing something painfully obvious?