Nvv4l2camerasrc vs v4l2src behavior on camera disconnect


We are trying to switch to JP 4.6.2, and switch to nvv4l2camerasrc + nv3dsink. v4l2src + xvimagesink has very low performance 10 - 15 fps while camera supplies 30 fps + lots of tearing.
There is different behavior between these 2 plugins on camera unplug event.

  1. v4l2src keeps looping last frame and never times out.
  2. nvv4l2camerasrc keeps looping last frame then times out and sends EOS.

Is it possible to make nvv4l2camerasrc behave like v4l2src? Unfortunately 3rd party software we use relies on this and crashes due to EOS.

We also observe single constant line of tearing while using nv3dsink, if you have any ideas regarding to how to address tearing issue please let me know.

nvv4l2camerasrc + nv3dsink gst-launch example:

gst-launch-1.0 nvv4l2camerasrc device=/dev/video0 ! \
  'video/x-raw(memory:NVMM), format=(string)YUY2, \
  width=(int)1920, height=(int)1080, \
  interlace-mode=progressive, \
  framerate=(fraction)30/1' ! nvvidconv ! \
  'video/x-raw(memory:NVMM), format=(string)NV12, width=720, height=480' ! \
  nv3dsink -e

v4l2src + xvimagesink gst-launch example:

gst-launch-1.0 v4l2src device="/dev/video0" ! \
  "video/x-raw, width=1920, height=1080, format=(string)YUY2" ! \
  nvvidconv ! 'video/x-raw, format=(string)YUY2' ! \
  videoconvert ! \
  xvimagesink render-rectangle='<0,0,720,480>' -e

Please let me know if there is any extra information you need, thank you.

The source code of nvv4l2camerasrc is open source. You may download the source code and customize it to have identical behavior as v4l2src plugin.

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