Dynamic Pipelines gstinterpipes: Failed to obtain an intersection between upstream elements and listeners

Please provide complete information as applicable to your setup.

• Jetson AGX Xavier
• DeepStream 5.0
• JetPack 4.6
• TensorRT 8
• CUDA 10.2
• Issue Type: Question/Bug

I have built a Deepstream pipeline making use of Ridgerun’s interpipes to isolate my pipelines. The pipelines look as follows:

TestSourcePipeline1:

videotestsrc --> overlay --> nvvideoconvert --> capsfilter "video/x-raw(memory:NVMM), width=(int)1280, height=(int)720, format=(string)NV12"--> interpipesink

TestSourcePipeline2:

videotestsrc --> overlay --> nvvideoconvert --> capsfilter "video/x-raw(memory:NVMM), width=(int)1280, height=(int)720, format=(string)NV12"--> interpipesink

RtspCapturePipeline:

uridecodebin --> nvvideoconvert --> capsfilter "video/x-raw(memory:NVMM),format=(string)NV12,width=1280,height=720" --> interpipesink

ReceivePipline1:

 interpipesrc --> nvvideoconvert --> capsfilter --> "video/x-raw(memory:NVMM),format=(string)NV12,width=1280,height=720" --> interpipesink

ReceivePipline2:

interpipesrc --> nvvideoconvert --> capsfilter --> "video/x-raw(memory:NVMM),format=(string)NV12,width=1280,height=720" --> interpipesink

OpticalFlowPipeline:

 nvstreammux --> nvof --> probe -->fakesink

on startup the whole pipeline looks like this:

RtspCapturePipeline <--> ReceivePipline1 <- 
                                           => OpticalFlowPipeline
TestSourcePipeline2 <--> ReceivePipline2 <-

which works well.
I have a call back setting the ReceivePipline1 to listen to TestSourcePipeline1 . At which point TestSourcePipeline1 throws an EOS and I get the following gst warning:

basetransform gstbasetransform.c:1355:gst_base_transform_setcaps:<capsfilter0> transform could not transform video/x-raw(memory:NVMM), width=(int)1280, height=(int)720, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)3/4, interlace-mode=(string)progressive, format=(string)NV12 in anything we support

Upon setting TestSourcePipeline1 to listen back to RtspCapturePipeline it all works fine again.
The whole time the TestSourcePipeline2 part of the pipeline continues to run smoothly. Because TestSourcePipeline2 and TestSourcePipeline1 have the same caps, it’s confusing as to why the caps can’t be negotiated. The allow-renegotiation flag is set.

Another annoying aspect is that sometimes it works as expected.

Please consult Ridgerun for the Ridgerun’s interpipes.
@ronny.jimenez

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.