Configure NvSciStreamBlock to Use External NvSciEventService for Internal Events
NvSciEventService to wait for internal event notifications and
trigger the corresponding handlers.NvSciError
NvSciStreamBlockInternalEventServiceSetup(
NvSciStreamBlock const block,
NvSciEventService* const eventService,
uint32_t* const notifierCount,
NvSciEventNotifier** const eventNotifierArray
);
This function binds the internal event notifiers to the user-provided
NvSciEventService and registers the NvSciStream
internal handlers for each internal event notifier. The application must wait for events
on these returned NvSciEventNotifiers. When there is a new event on the
notifier, the corresponding handler is triggered automatically to process the
NvSciStream internal event. These handlers are registered by
NvSciStream internally and the application does not need to assign
handlers to these notifiers.
When called on a IpcSrc or IpcDst block, the
notifiers are associated with internal NvIpc events and messages. The
internal handler processes message I/O.
If this function is not called before the block connection, the
IpcSrc or IpcDst block automatically creates an
internal NvSciEventService and spawns a dispatch thread to wait for and
handle the internal events.
The application is responsible for destroying the NvSciEventNotifier
and NvSciEventService when it is no longer needed. The
event-notification behavior of a block is undefined after its associated
NvSciEventNotifier object is deleted.