Can't use more than one nvstreammux in a pipeline

I’ve tried to deploy the following pipeline in order to compare side-by-side the inference results of two different models:

According to this topic Two nvstreammux elements in pipeline it is not possible.

I would like to understand what is the limitation that causes we can’t use more than one nvstreammux/nvstreamdemux pair in a pipeline?
Does NVIDIA have plans to fix this issue?

Thank you

What I would try in that case would be using a Tee to make a copy of the stream instead of the streammuxers you are placing before inference.

For the tee usage, you can follow testapp4.

I know this doesn’t answer the exact question, but it may help meanwhile.

@ag13 thanks for your help.

Actually I’ve used the tee, but is omitted on the diagram.

Initial attempt was using the muxer before the tee:

                     / -> nvinfer -> etc1
source -> mux -> tee
                     \ -> nvinfer -> etc2

And also tested moving the muxer next to the inference nodes, after the tee. This seems to turn the pipeline execution way slower:

              / mux -> nvinfer -> etc1
source -> tee
              \ mux -> nvinfer -> etc2

These snippets are not the problematic part, as both pipelines are able to run.

The segfault happens when we introduce the additional muxer after them:

  (...) -> nvinfer \
                     -> mux -> tile -> (...)
  (...) -> nvinfer /

nvstreammux is to create batch for inferencing. So you can not batch the batched data. Please do not use in this way.

Even you have two models, only one nvstreammux is enough.