NVIDIA DRIVE OS Linux SDK API Reference

5.2.3 Release
For Test and Development only
NvSciStream Blanket Statements

Generic statements applicable for NvSciStream interfaces.

NvSciStream blanket statements

Input parameters

Output parameters

  • In general, output parameters are passed by reference through pointers. Also, since a null pointer cannot be used to convey an output parameter, API functions typically return an error code if a null pointer is supplied for a required output parameter unless otherwise stated explicitly. Output parameter is valid only if error code returned by an API is NvSciError_Success unless otherwise stated explicitly.

Return values

  • Any initialization API that may need to allocate memory (example Block creation APIs) to store information provided by the caller, will return NvSciError_InsufficientMemory if the allocation fails unless otherwise stated explicitly.
  • Any interface which takes a NvSciStreamBlock as input will panic in safety build or return NvSciError_BadParameter in standard build if the NvSciStreamBlock is invalid.
  • Any interface which takes a NvSciStreamPacket as input will panic in safety build or return NvSciError_BadParameter in standard build if the NvSciStreamPacket is invalid.
  • Any element level interface which operates on a block other than the interfaces for block creation, NvSciStreamBlockConnect() and NvSciStreamBlockEventQuery() will return NvSciError_StreamNotConnected error code if the producer block in the stream is not connected to every consumer block in the stream or the NvSciStreamEventType_Connected event from the block is not yet queried by the application by calling NvSciStreamBlockEventQuery() interface.

Concurrency

  • Unless otherwise stated explicitly in the interface specifications, any two or more NvSciStream functions can be called concurrently without any side effects. The effect will be as if the functions were executed sequentially. The order of execution is not guaranteed.
  • The conditions for combinations of functions that cannot be called concurrently or calling them concurrently leads to side effects are explicitly stated in the interface specifications.