Generic statements applicable for NvSciStream interfaces.
NvSciStream blanket statements
Input parameters
Output parameters
- Output parameters are passed by reference through pointers. Also, since a null pointer cannot be used to convey an output parameter, API functions 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 function is NvSciError_Success unless otherwise stated explicitly.
Return values
- Any initialization API that allocates memory (for example, Block creation APIs) to store information provided by the caller, will return NvSciError_InsufficientMemory if the allocation fails unless otherwise stated explicitly.
- Any API which takes an NvSciStreamBlock as input parameter returns NvSciError_StreamBadBlock error if the NvSciStreamBlock is invalid. (Note: Currently in transition from BadParameter)
- Any API which is only allowed for specific block types returns NvSciError_NotSupported if the NvSciStreamBlock input parameter does not support the operation.
- Any API which takes an NvSciStreamPacket as input parameter returns NvSciError_StreamBadPacket error if the NvSciStreamPacket is invalid. (Note: Currently in transition from BadParameter)
- All block creation interfaces returns NvSciError_StreamInternalError error if the block registration fails.
- Any element level interface which operates on a block other than the interfaces for block creation, NvSciStreamBlockConnect(), NvSciStreamBlockEventQuery(), and NvSciStreamBlockEventServiceSetup() 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.
- If any API detects an inconsistency in internal data structures, it will return an NvSciError_StreamInternalError error code.
- If an API function is invoked with parameters such that two or more failure modes are possible, it is guaranteed that one of those failure modes will occur, but it is not guaranteed which.
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.