Failed to transport video/x-raw(memory:NVMM) buffer using shmsink and shmsrc

I try to connect two Gstreamer piplines using shmsink adn shmsrc but I can’t. Please tell me how it can be resolved?

• Hardware Platform (Jetson / GPU)
Jetson Nano
• DeepStream Version
6.0
• JetPack Version (valid for Jetson only)
4.6
• Issue Type( questions, new requirements, bugs)
bugs?
• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)

Open two ternminals, and run below piplines.

# send pipline
$ gst-launch-1.0 videotestsrc do-timestamp=1 ! nvvideoconvert ! "video/x-raw(memory:NVMM),format=NV12,width=640,height=480,framerate=30/1" ! shmsink socket-path=/tmp/foo sync=false wait-for-connection=false

# recv pipline
$ gst-launch-1.0 -e shmsrc socket-path=/tmp/foo do-timestamp=1 is-live=1 ! "video/x-raw(memory:NVMM),format=NV12,width=640,height=480,framerate=30/1"  ! nvv4l2h264enc ! h264parse ! matroskamux ! filesink location=test.mkv

I get error.

$ gst-launch-1.0 -e shmsrc socket-path=/tmp/foo do-timestamp=1 is-live=1 ! "video/x-raw(memory:NVMM),format=NV12,width=640,height=480,framerate=30/1"  ! nvv4l2h264enc ! h264parse ! matroskamux ! filesink location=test.mkv
Setting pipeline to PAUSED ...
Opening in BLOCKING MODE
Opening in BLOCKING MODE
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Redistribute latency...
NvMMLiteOpen : Block : BlockType = 4
===== NVMEDIA: NVENC =====
NvMMLiteBlockCreate : Block : BlockType = 4
nvbuf_utils: nvbuffer Payload Type not supported
ERROR: from element /GstPipeline:pipeline0/nvv4l2h264enc:nvv4l2h264enc0: Failed to process frame.
Additional debug info:
/dvs/git/dirty/git-master_linux/3rdparty/gst/gst-v4l2/gst-v4l2/gstv4l2videoenc.c(1306): gst_v4l2_video_enc_handle_frame (): /GstPipeline:pipeline0/nvv4l2h264enc:nvv4l2h264enc0:
Maybe be due to not enough memory or failing driver
EOS on shutdown enabled -- waiting for EOS after Error
Waiting for EOS...
ERROR: from element /GstPipeline:pipeline0/GstShmSrc:shmsrc0: Internal data stream error.
Additional debug info:
gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline0/GstShmSrc:shmsrc0:
streaming stopped, reason error (-5)
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Interrupt while waiting for EOS - stopping pipeline...
Execution ended after 0:00:02.155475572
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)

The NVMM memory cannot support cross process transmission.

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