Event Notification

NvSciStream provides two event-notification methods. This is a per-block configuration, and it is not required that all blocks in a stream be configured to use the same event-notification method.

  • Without NvSciEventService

Applications wait for events by calling NvSciStreamBlockEventQuery() with non-zero timeout value.

  • With NvSciEventService

Applications wait for events by waiting on the NvSciEventNotifier objects bound to the blocks, using the event-waiting API of NvSciEventService. Applications should query all the events pending in the block after waking up from waiting on the associated NvSciEventNotifier object. Note it is possible that NvSciEventNotifier objects be signaled by spurious events, in which case the event query will return NvSciError_Timeout error.

The event-waiting API of NvSciEventService waits on NvSciEventNotifier objects, regardless of the UMD they are associated. It enables applications to simultaneously wait for NvSciStream events and events from other UMDs.

Refer to the NvSciEventService API Usage section for how to wait on a single or multiple NvSciEventNotifier objects.