Hello experts,
I try to use nvivafilter in nvcamerasrc based gstreamer pipeline but merely inserting nvivafilter in my otherwise perfectly working pipeline makes my pipeline crash with a SIGSEGV.
Details : I work on a TX1 devkit with a custom camera and l4t 28.2.1.
The following pipeline works perfectly and endlessly :
nvidia@cam5-0002:~/nvsample_cudaprocess$ gst-launch-1.0 -v nvcamerasrc sensor-id=1 ! \
'video/x-raw(memory:NVMM), width=(int)2448, height=(int)2048' ! \
nvjpegenc ! multifilesink max-files=5 location=/run/user/1001/%05d
If I merely add a nvivafilter in my pipeline my pipeline crashes, with or without specifying a .so file, and when I specify the nvsample_cudaprocess example, even when I fill the three pointers with NULL in the ‘init’ entry point.
Exemple :
nvidia@cam5-0002:~/nvsample_cudaprocess$ gst-launch-1.0 -v nvcamerasrc sensor-id=1 ! \
'video/x-raw(memory:NVMM), width=(int)2448, height=(int)2048' ! \
nvivafilter customer-lib-name="`pwd`/libnvsample_cudaprocess.so" ! \
nvjpegenc ! multifilesink max-files=5 location=/run/user/1001/%05d
Setting pipeline to PAUSED ...
plugin init
Available Sensor modes :
2464 x 2048 FR=30.000000 CF=0x1209208a10 SensorModeType=4 CSIPixelBitDepth=12 DynPixelBitDepth=12
1936 x 1080 FR=30.000000 CF=0x1209208a10 SensorModeType=4 CSIPixelBitDepth=12 DynPixelBitDepth=12
2464 x 2065 FR=30.000000 CF=0x1209208a10 SensorModeType=4 CSIPixelBitDepth=12 DynPixelBitDepth=12
1936 x 1105 FR=30.000000 CF=0x1209208a10 SensorModeType=4 CSIPixelBitDepth=12 DynPixelBitDepth=12
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
NvCameraSrc: Trying To Set Default Camera Resolution. Selected sensorModeIndex = 0 WxH = 2464x2048 FrameRate = 30.000000 ...
/GstPipeline:pipeline0/GstNvCameraSrc:nvcamerasrc0.GstPad:src: caps = "video/x-raw\(memory:NVMM\)\,\ width\=\(int\)2448\,\ height\=\(int\)2048\,\ format\=\(string\)NV12\,\ framerate\=\(fraction\)30/1"
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = "video/x-raw\(memory:NVMM\)\,\ width\=\(int\)2448\,\ height\=\(int\)2048\,\ format\=\(string\)NV12\,\ framerate\=\(fraction\)30/1"
/GstPipeline:pipeline0/Gstnvivafilter:nvivafilter0.GstPad:src: caps = "video/x-raw\(memory:NVMM\)\,\ width\=\(int\)2448\,\ height\=\(int\)2048\,\ format\=\(string\)NV12\,\ framerate\=\(fraction\)30/1"
/GstPipeline:pipeline0/GstNvJpegEnc:nvjpegenc0.GstPad:sink: caps = "video/x-raw\(memory:NVMM\)\,\ width\=\(int\)2448\,\ height\=\(int\)2048\,\ format\=\(string\)NV12\,\ framerate\=\(fraction\)30/1"
/GstPipeline:pipeline0/Gstnvivafilter:nvivafilter0.GstPad:sink: caps = "video/x-raw\(memory:NVMM\)\,\ width\=\(int\)2448\,\ height\=\(int\)2048\,\ format\=\(string\)NV12\,\ framerate\=\(fraction\)30/1"
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = "video/x-raw\(memory:NVMM\)\,\ width\=\(int\)2448\,\ height\=\(int\)2048\,\ format\=\(string\)NV12\,\ framerate\=\(fraction\)30/1"
Caught SIGSEGV
#0 0x0000007f85ce4030 in __GI___poll (fds=0x669390, nfds=2,
#1 0x0000007f85de53ac in ?? () from /lib/aarch64-linux-gnu/libglib-2.0.so.0
#2 0x00000000004b9300 in ?? ()
Spinning. Please run 'gdb gst-launch-1.0 1855' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core
The pipeline crashes immediately; even the first file is not created.
Standalone cuda/argus programs work on the same platform. Cuda is cuda 9
Any hint ?