How to transmit 4 camera images from one application to 2 applications with multi-thread

Please provide the following info (check/uncheck the boxes after creating this topic):
Software Version
DRIVE OS Linux 5.2.6
DRIVE OS Linux 5.2.6 and DriveWorks 4.0
[*] DRIVE OS Linux 5.2.0
DRIVE OS Linux 5.2.0 and DriveWorks 3.5
NVIDIA DRIVE™ Software 10.0 (Linux)
NVIDIA DRIVE™ Software 9.0 (Linux)
other DRIVE OS version

Target Operating System
[*] QNX

Hardware Platform
[*] NVIDIA DRIVE™ AGX Xavier DevKit (E3550)
NVIDIA DRIVE™ AGX Pegasus DevKit (E3550)

SDK Manager Version

Host Machine Version
native Ubuntu 18.04

Since I could not change my email address, move the question from original question to here. Attach the original question context here:

Hi Nvidia,

I am learning NvStream samples and found the use cases are all about different processes. How do I implement below use case with multiple threads instead of multiple processes:

application A has four threads to receive 4 camera images; and send the 4 camera images by NvStream IPC.
application B has four threads to receive 4 camera images and handle them separately.
Is the case supported by NvStream? Since I modified the unicast sample and run with multiple threads, it seems block and never receive message.


@kayccc , sorry for inconvenience

So it is like, thread-1 in process A send image to thread-1 in process B? or each thread in process A sends images to all threads in process B?

Thank for your reply, right, thread-1 in process A only send image to single thread in process B.
basically it looks like unicast case, but process A has 4 thread sender and process B has 4 thread reader.

Yes. This use case is supported by NvStreams, you need to use 4 seperate NvStreams. Do you see any issue?

I mean in one process with four threads, is there any sample? I referred to unicast sample, which will never receive message and be blocked. could you provide any pseudo code? thank you very much~


is there any sample?

We don’t have any multi thread sample to demonstrate your use case.

I referred to unicast sample, which will never receive message and be blocked

I am wondering if you have used different IPC end points from nvsciipc.cfg for each NvStream? If so, please share your code snippet or pseudo code for verification?