Argus Cross-process EGLStream problem

Argus version 0.97.3(multi-process)
Just refer to
cuda/samples/3_Imaging/EGLStream_CUDA_CrossGPU and tegra_multimedia_api/argus/samples/gstVideoEncode/
My project use argus to produce frame in one process,and consumer the frame in another process and use gstVideoEncode to mp4 file;
But the original argus fps is 30;the consumer process fps is also 30;but the gst record mp4 file is only 2fps(vlc can play,fsp info is 2.07)
Producer Process:
EGLStreamReceivefd–FIFO
cuEGLStreamConsumerAcquireFrame–m_InputStreamConnection
cuEGLStreamProducerPresentFrame–m_OutputStreamConnection
cuEGLStreamConsumerReleaseFrame

Consumer Process:
EGLStreamSendfd --FIFO
cuEGLStreamConsumerConnect–cudaConnection
cuEGLStreamProducerConnect–m_cudaRGBAStreamConnection
cuEGLStreamConsumerAcquireFrame–cudaConnection
cuGraphicsResourceGetMappedEglFrame
cuEGLStreamProducerPresentFrame–m_cudaRGBAStreamConnection
cuEGLStreamConsumerReleaseFrame–cudaConnection
main.cpp (31.8 KB)
EGLGlobal.cpp (19.4 KB)

This is a duplicate topic of
Cross eglstream gstreamer record loss frame

Let’s continue in the topic.