LOOPEDSTREAMING_POSITION_EVENT_DATA structure (ksmedia.h)

The LOOPEDSTREAMING_POSITION_EVENT_DATA structure describes a position event in a looped buffer.

Syntax

typedef struct {
  KSEVENTDATA KsEventData;
#if ...
  ULONGLONG   Position;
#else
  DWORDLONG   Position;
#endif
} LOOPEDSTREAMING_POSITION_EVENT_DATA, *PLOOPEDSTREAMING_POSITION_EVENT_DATA;

Members

KsEventData

Specifies the type of notification that the system will send to the client when the event occurs. For more information, see KSEVENTDATA.

Position

Specifies the buffer position as a byte offset from the beginning of the looped buffer. If the size of the buffer is n bytes, the Position member must contain a value in the range 0 to n-1.

Remarks

The KSEVENT_LOOPEDSTREAMING_POSITION event uses the LOOPEDSTREAMING_POSITION_EVENT_DATA structure. This type of event occurs only in looped buffers. A looped buffer is a data buffer for an audio stream of type KSINTERFACE_STANDARD_LOOPED_STREAMING.

The driver (typically a system component) that generates the event compares the byte offset in the Position member to the play cursor (in a rendering stream) or the record cursor (in a capture stream). The position event occurs when the play or record cursor passes through the specified position.

When the play or record cursor reaches the end of a looped buffer, the cursor wraps around to the beginning of the buffer, which corresponds to a byte offset of 0.

For more information about looped buffers, buffer positions, and play and record cursors, see Audio Position Property.

Requirements

Requirement Value
Header ksmedia.h (include Ksmedia.h)

See also

KSEVENTDATA

KSEVENTSET_LoopedStreaming

KSEVENT_LOOPEDSTREAMING_POSITION

KSINTERFACE_STANDARD_LOOPED_STREAMING