A lot of buffers are being dropped while capturing video frame and playback locally using gst-launch (L4T R32.4.3)

Yesterday I upgraded system from R32.3.1 to R32.4.3, but the following command is always reporting buffers dropped and CPU usage is very high. And playback is not smooth.

gst-launch-1.0 -v v4l2src ! nvvidconv ! nv3dsink

There are no such issues when I use R32.3.1 system.

The configuration is " camera —hdmi(4Kp30, rgb)–> hdmi2csi chip --csi(UYVY)–> /dev/video0“

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)3840, height=(int)2160, framerate=(fraction)30/1, format=(string)UYVY, colorimetry=(string)2:4:7:1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/Gstnvvconv:nvvconv0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)3840, height=(int)2160, framerate=(fraction)30/1, interlace-mode=(string)progressive, format=(string)I420
/GstPipeline:pipeline0/GstNv3dSink:nv3dsink0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)3840, height=(int)2160, framerate=(fraction)30/1, interlace-mode=(string)progressive, format=(string)I420
/GstPipeline:pipeline0/Gstnvvconv:nvvconv0.GstPad:sink: caps = video/x-raw, width=(int)3840, height=(int)2160, framerate=(fraction)30/1, format=(string)UYVY, colorimetry=(string)2:4:7:1, interlace-mode=(string)progressive
WARNING: from element /GstPipeline:pipeline0/GstNv3dSink:nv3dsink0: A lot of buffers are being dropped.
Additional debug info:
gstbasesink.c(2902): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstNv3dSink:nv3dsink0:
There may be a timestamping problem, or this computer is too slow.
WARNING: from element /GstPipeline:pipeline0/GstNv3dSink:nv3dsink0: A lot of buffers are being dropped.
Additional debug info:
gstbasesink.c(2902): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstNv3dSink:nv3dsink0:
There may be a timestamping problem, or this computer is too slow.
WARNING: from element /GstPipeline:pipeline0/GstNv3dSink:nv3dsink0: A lot of buffers are being dropped.
Additional debug info:
gstbasesink.c(2902): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstNv3dSink:nv3dsink0:
There may be a timestamping problem, or this computer is too slow.

Hi,
On r32.4.3, you may try nvv4l2camerasrc instead of v4l2src.

I tried with “gst-launch-1.0 -v nvv4l2camerasrc ! ‘video/x-raw(memory:NVMM),width=3840,height=2160’ ! nvvidconv ! nv3dsink”. It seems everything is OK.

BTW, I have some questions
(1) Default size for nvv4l2camerasrc is 1920*1080?
(2) What are be differences among v4l2src, nvv4l2camerasrc and nvarguscamerasrc? features? performance?
(3) v4l2src is ok with R32.3.1, in R32.4.3, what should I do if I want to use it again?

Thanks!

Hi,
v4l2src is native gstreamer plugin. It allocates CPU buffers and we need nvvidconv to copy CPU buffer to NVMM buffer. nvv4l2camerasrc allocates NVMM buffers for frame capture, and eliminates the memory copy. It is an enhancement. By default it supports UYVY. If your source is YUYV or YVYU, you can download the source code and customize it to support other formats. The source code is in
https://developer.nvidia.com/embedded/L4T/r32_Release_v4.3/Sources/T186/public_sources.tbz2

On r32.4.3, we have enabled VIC DFS, you may disable it and check if the performance is better. Please refer to