This problem started happening with the 32.6.1 release. It was ok with 32.5.
If I run the following 2 gstreamer pipelines at the same time as separate processes they both run at 60 fps each: $ gst-launch-1.0 -v videotestsrc ! video/x-raw,framerate=60/1 ! nvvidconv ! nvv4l2h264enc ! nvv4l2decoder ! fpsdisplaysink video-sink=nv3dsink & $ gst-launch-1.0 -v videotestsrc ! video/x-raw,framerate=60/1 ! nvvidconv ! nvv4l2h264enc ! nvv4l2decoder ! fpsdisplaysink video-sink=nv3dsink &
If I run both in the same process they only run at about 30 fps each: gst-launch-1.0 -v videotestsrc ! video/x-raw,framerate=60/1 ! nvvidconv ! nvv4l2h264enc ! tee name=t t. ! nvv4l2decoder ! fpsdisplaysink video-sink=nv3dsink t. ! nvv4l2decoder ! fpsdisplaysink video-sink=nv3dsink
Hi,
On r32.6.1, this is an expected behavior. For this this-case, we would suggest use nvcompositor plugin to composite the sources into video plane and then render out. So that you can use one nv3dsink.
We would need an extensive re-architecture of our software to be able to use the nvcompositor since each pipeline is completely separate even though they are in the same process.
Everything was working well in R32.5. It appears that R32.6.1 introduced this bug.
Hi,
We see side effect that CPU usage is higher in certain cases on r32.5, and there is modification in later releases. If you prefer not to modify the application, may consider stay on r32.5