How to use the buffer from nvmm-element?(Platform:Nvidia Nx 15w-6core;Gstreamer Version: 1.14.5)

1.If I got data form the filesink-element or appsink-element which the front element is in NVMM format ,the resultdata is always in1008Bytes every time.How I do can turn this 1008 bytes of data into real user data?
2.And it’s the 1008Byte-Data support transport between multiple process?For example, I generate data in process A’s appsink,and write the data to shared memory in process-A;Then i read data from shared memory in process-B,and send data into process-B‘pipeline,Can such operations been supported?

Hi,
You can access the buffer through NvBuffer APIs. Please refer to this sample:
How to run RTP Camera in deepstream on Nano - #29 by DaneLLL

1 Like

Not sure if I correctly understand, but assuming you get data from gstreamer filesrc, it only supports CPU standard memory. You may use plugin nvvidconv for copying to/from NVMM memory. The same applies if you are getting NVMM buffers and want to save to file with filesink.

There is a gstreamer plugin called shmsink that allows to share through a named socket between processes. You would use shmsrc on receiver side. See:

gst-inspect-1.0 shmsink
gst-inspect-1.0 shmsrc

Thank you for the great support you bring to my question,I had solved the problem with your sample。

Thank you for your introduction. I think I can use them in the future