Open emmadrigal opened 3 years ago
Here are a few pipelines to reproduce the issue
# Works gst-launch-1.0 \ videotestsrc ! interpipesink name=video_sink \ interpipesrc listen-to=video_sink ! perf name=first_pipe ! fakesink \ interpipesrc listen-to=video_sink num-buffers=6000 ! perf name=second_pipe ! fakesink
# Blocks after 6000 buffers gst-launch-1.0 \ videotestsrc ! nvvidconv ! "video/x-raw(memory:NVMM)" ! interpipesink name=video_sink \ interpipesrc listen-to=video_sink ! perf name=first_pipe ! fakesink \ interpipesrc listen-to=video_sink num-buffers=6000 ! perf name=second_pipe ! fakesink
# Blocks after 6000 buffers gst-launch-1.0 \ videotestsrc ! nvvidconv ! "video/x-raw(memory:NVMM)" ! queue leaky=2 ! interpipesink name=video_sink \ interpipesrc listen-to=video_sink ! queue leaky=2 ! perf name=first_pipe ! fakesink \ interpipesrc listen-to=video_sink num-buffers=6000 ! queue leaky=2 ! perf name=second_pipe ! fakesink
# Blocks after 6000 buffers gst-launch-1.0 \ videotestsrc ! nvvidconv ! "video/x-raw(memory:NVMM)" ! queue leaky=2 ! interpipesink name=video_sink async=true sync=false \ interpipesrc listen-to=video_sink ! queue leaky=2 ! perf name=first_pipe ! fakesink \ interpipesrc listen-to=video_sink num-buffers=6000 ! queue leaky=2 ! perf name=second_pipe ! fakesink
# Blocks after 300 buffers gst-launch-1.0 \ nvarguscamerasrc ! "video/x-raw(memory:NVMM)" ! queue leaky=2 ! interpipesink name=video_sink async=true sync=false \ interpipesrc listen-to=video_sink ! queue leaky=2 ! perf name=first_pipe ! fakesink \ interpipesrc listen-to=video_sink num-buffers=300 ! queue leaky=2 ! perf name=second_pipe ! fakesink```
When we found this issue we were testing using gstd, and moving the num-buffers pipeline to stopped, unblocked the other pipeline
num-buffers
Here are a few pipelines to reproduce the issue
Using nvvidconv
Using NvArgus