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.