структура LOOPEDSTREAMING_POSITION_EVENT_DATA (ksmedia.h)
Структура LOOPEDSTREAMING_POSITION_EVENT_DATA описывает событие положения в циклизованном буфере.
Синтаксис
typedef struct {
KSEVENTDATA KsEventData;
#if ...
ULONGLONG Position;
#else
DWORDLONG Position;
#endif
} LOOPEDSTREAMING_POSITION_EVENT_DATA, *PLOOPEDSTREAMING_POSITION_EVENT_DATA;
Члены
KsEventData
Указывает тип уведомления, которое система будет отправлять клиенту при возникновении события. Дополнительные сведения см. в разделе KSEVENTDATA.
Position
Задает позицию буфера в виде смещения байтов от начала циклического буфера. Если размер буфера равен n байтов, элемент Position должен содержать значение в диапазоне от 0 до n–1.
Комментарии
Событие KSEVENT_LOOPEDSTREAMING_POSITION использует структуру LOOPEDSTREAMING_POSITION_EVENT_DATA. События этого типа происходят только в циклизированных буферах. Циклизированный буфер — это буфер данных для аудиопотока типа KSINTERFACE_STANDARD_LOOPED_STREAMING.
Драйвер (обычно системный компонент), создающий событие, сравнивает смещение байтов в элементе Position с курсором воспроизведения (в потоке отрисовки) или курсором записи (в потоке захвата). Событие положения возникает, когда курсор воспроизведения или записи проходит через указанную позицию.
Когда курсор воспроизведения или записи достигает конца зацикливаемого буфера, курсор перемещается в начало буфера, что соответствует смещению в байтах 0.
Дополнительные сведения о циклизуемых буферах, позициях буфера, а также о воспроизведении и записи курсоров см. в разделе Audio Position Property.
Требования
Требование | Значение |
---|---|
Заголовок | ksmedia.h (включая Ksmedia.h) |