Jump to content

OVRU_EVCB

From EDM2

This structure describes a synchronization overrun event. This event occurs when a slave stream cannot maintain synchronization with the master stream, often due to system latency or hardware constraints. The event can be enabled through an SpiEnableEvent call.

 typedef struct _OVRU_EVCB {
   ULONG       ulType;        /* Event type. */
   ULONG       ulSubType;     /* Event subtype. */
   ULONG       ulFlags;       /* Flags. */
   HSTREAM     hstream;       /* Stream handle. */
   HID         hid;           /* Stream handler ID. */
   ULONG       ulStatus;      /* Event status. */
   MMTIME      mmtimeSlave;   /* Slave stream time. */
   MMTIME      mmtimeStart;   /* Start start offset. */
   MMTIME      mmtimeMaster;  /* Master stream time. */
 } OVRU_EVCB;
 
 typedef   OVRU_EVCB * POVRU_EVCB ;

Fields

ulType
Specifies the event type (typically EVENT_SYNC_OVERRUN).
ulSubType
Specifies the event subtype.
ulFlags
Event control flags.
hstream
The handle of the stream that triggered the overrun event.
hid
The stream handler ID associated with the event.
ulStatus
Provides specific status information regarding the nature of the overrun.
mmtimeSlave
The current time position of the slave stream when the overrun was detected.
mmtimeStart
The starting offset for the stream.
mmtimeMaster
The current time position of the master stream at the moment of the overrun. Comparing this with `mmtimeSlave` allows the application to calculate the drift.