Please provide the following info (check/uncheck the boxes after creating this topic):
Software Version
[yes] 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
other
Target Operating System
[yes] Linux
QNX
other
Hardware Platform
NVIDIA DRIVE™ AGX Xavier DevKit (E3550)
[yes] NVIDIA DRIVE™ AGX Pegasus DevKit (E3550)
other
SDK Manager Version
[yes] 1.7.0.8846
other
Host Machine Version
[yes] native Ubuntu 18.04
other
My current project is to obtain camera data from SIPL and send the data to multiple consumers through producer created by NVStream. The problem is that if you use the multicast module, you have to know the exact number of consumers, and those consumers need to be connected to the Musticast module. In this way, they can communicate with the producer.
If a consumer interrupts and its data is not received at the same time.
My question is whether there is a way to create a Musticast that supports dynamic connectivity. Whenever a consumer is connected or disconnected, there is no impact on pipeline or other applications
Dear @user24893,
whether there is a way to create a Musticast that supports dynamic connectivity
Unfortunately, the request can not served by multicast. NvStreams makes use of inter process communication. So there as to be entries of IPC end points in /etc/nvsciipc.cfg
for each communication.
I think you may have to try socket programming to share camera data across producer and consumer for your case. Please check DriveWorks SDK Reference: Inter-process Communication (IPC) Sample
Thank you for your reply. We have another way to solve this problem, by using nvStream. Here is my software framework. But there are other problems.
Compoist: get the image data, do some work such as timestamp alignment, and send the original image data to producer.
Producer: use singlecast to communicate with consumer. At the same time, call NvMedia2DBlitEx () to convert the original data into the desired image format, and send the data to consumer in package.