Loading [MathJax]/jax/input/TeX/config.js
  • <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • NVIDIA DRIVE OS Linux SDK API Reference

    6.0.9 Release
    All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
    NvSciStream Blanket Statements

    Generic statements applicable for NvSciStream interfaces.

    NvSciStream blanket statements

    Input parameters

    • NvSciStreamPacket passed as input parameter to NvSciStreamPoolPacketInsertBuffer() or NvSciStreamPoolPacketDelete() API is valid if it is returned from a successful call to NvSciStreamPoolPacketCreate() API and has not been deleted using NvSciStreamPoolPacketDelete().
    • NvSciStreamPacket passed as input parameter to NvSciStreamBlockPacketAccept() or NvSciStreamBlockElementAccept() or NvSciStreamProducerPacketPresent() or NvSciStreamConsumerPacketRelease() API is valid if it was received earlier through a NvSciStreamEventType_PacketCreate event and NvSciStreamEventType_PacketDelete event for the same NvSciStreamPacket is not yet received.
    • NvSciStreamBlock passed as input parameter to an API is valid if it is returned from a successful call to any one of the block create APIs and has not yet been destroyed using NvSciStreamBlockDelete() unless otherwise stated explicitly.
    • An array of NvSciSyncFence(s) passed as an input parameter to an API is valid if it is not NULL and each entry in the array holds a valid NvSciSyncFence. The NvSciSyncFence(s) in the array should be in the order according to the indices specified for the NvSciSyncObj(s) during NvSciStreamBlockSyncObject() API. That is, if the NvSciSyncObj is set with index == 1, its NvSciSyncFence should be the 2nd element in the array. The array should be empty if the synchronousOnly flag received through NvSciStreamEventType_SyncAttr from other endpoint is true.
    • NvSciIpcEndpoint passed as input parameter to an API is valid if it is obtained from successful call to NvSciIpcOpenEndpoint() and has not yet been freed using NvSciIpcCloseEndpointSafe().
    • Pointer to NvSciEventService passed as input parameter to an API is valid if the NvSciEventService instance is obtained from successful call to NvSciEventLoopServiceCreateSafe() and has not yet been freed using NvSciEventService::Delete().
    • The input parameter for which the valid value is not stated in the interface specification and not covered by any of the blanket statements, it is considered that the entire range of the parameter type is valid.
    • Applications can use PresentSync and ReturnSync blocks provided by NvSciStream to perform the CPU waiting operation on the fences.

    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 will return NvSciError_InvalidState if it cannot be legally called in the current VM state.
    • 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.
    人人超碰97caoporen国产