Gstreamer crashes with X11

I am trying to work through a g streamer issue that is plaguing my development workflow with a very basic setup. I have done the following

  1. Install OS and SDK libs via SDK manager for Jetpack 4.4
  2. Install OpenCV with this script
  3. Run a simple gstreamer app:

<< “nvarguscamerasrc name=CAMsource sensor-id=0 sensor-mode=0 "
<< “tnr-mode=0 " // switch off denoising
<< “aelock=0 exposuretimerange=“50000 1000000” gainrage=“1 16” " // range-bounded auto-exposure
<< “! video/x-raw(memory:NVMM),width=”<< w <<”,height=”<< h <<”,framerate=36/1,format=NV12 "
<< “! nvvidconv name=NV12toYUVconv "
<< “! video/x-raw(memory:NVMM),format=I420 "
<< “! nvvidconv name=YUVtoRGBAconv "
<< “! video/x-raw(memory:NVMM),width=”<< w/scale_factor <<”,height=”<< h/scale_factor <<”,format=RGBA "
// << "! nvvidconv ! nveglglessink -e "; // uncomment for preview
<< “! fakesink”;

It works fine with fakesink, but the nveglglessink line crashes with x11

The pipeline looks not right. Please try the samples:
OpenCV Video Capture with GStreamer doesn't work on ROS-melodic
[Gstreamer] nvvidconv, BGR as INPUT

The source works fine with the samples, but for some reason it always crashes with the egl gles sink.

For running gstreamer pipeline in OpenCV, you have to use appsink. The nveglglessink plugin is used in pure gstreamer commands.

It appears I was provided source with a hidden bug.

“gainrage” should be “gainrange”

1 Like