Stream Creation

The modular nature of NvSciStream allows producer and consumer components, or entire applications, to be developed independently by different providers, but some planning is required to ensure proper inter-operation. System integrators must make several decisions before assembling a stream.

  • Determine which consumers reside in the same process as the producer and which are separated in other processes, partitions, or systems. Factors that influence this decision include modularity of development, management of computational resources, and freedom from interference.
  • Determine which consumers require physical or virtual memory boundaries to safeguard critical consumers from less robust or secure consumers.
  • Determine which consumers must process every payload and which only require the most recent data.
  • Determine which consumers cannot be fully trusted and should have their packet access limited.
  • Determine how communication between the processes is established.
  • Provide a uniform set of packet element types with associated data layout definitions for designing all endpoints.
  • Based on the complexity of the stream, determine how many packets are required to keep the pipeline operating at desired efficiency.

Once these decisions are made, use NvSciStream to assemble the desired stream(s).