KSPROPERTY_RTAUDIO_GETREADPACKET

KSPROPERTY_RTAUDIO_GETREADPACKET restituisce informazioni sui pacchetti audio acquisiti.

Tabella riepilogo utilizzo

Recupero Set Destinazione Tipo di descrittore di proprietà Tipo valore proprietà
No Aggiungi (Blocca) KSPROPERTY KSRTAUDIO_GETREADPACKET_INFO

Il descrittore di proprietà (dati dell'istanza) è una struttura KSPROPERTY . Prima di inviare la richiesta, il client carica la struttura con valori che indicano il numero di pacchetto, la lunghezza del pacchetto e altre informazioni.

Il valore della proprietà è una variabile di tipo KSRTAUDIO_GETREADPACKET_INFO.

Valore restituito

Una richiesta di proprietà KSPROPERTY_RTAUDIO_GETREADPACKET restituisce STATUS_SUCCESS per indicare che è stata completata correttamente. In caso contrario, la richiesta restituisce un codice di stato di errore appropriato.

STATUS_DEVICE_NOT_READY: il driver restituisce questo errore se non sono disponibili nuovi dati.

Commenti

Prima di leggere i dati audio acquisiti dal buffer WaveRT, il sistema operativo chiama questa routine per ottenere informazioni sui dati disponibili.

Il numero di pacchetto identifica un pacchetto all'interno del flusso. Viene reimpostato su zero quando il flusso si trova in KSSTATE_STOP. Il numero avanza con ogni buffer acquisito. Dal numero di pacchetto il sistema operativo può derivare la posizione del pacchetto all'interno del buffer WaveRT e può anche derivare la posizione del flusso del pacchetto rispetto all'inizio del flusso.

La dimensione del pacchetto è la dimensione del buffer WaveRT divisa per NotificationCount passata a KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION. Il sistema operativo può chiamare questa routine in qualsiasi momento. Nel normale funzionamento, il sistema operativo chiama questa routine dopo che il driver imposta l'evento di notifica del buffer o dopo che una chiamata precedente restituisce true per MoreData. Quando il sistema operativo chiama questa routine, il driver può presupporre che il sistema operativo abbia completato la lettura di tutti i pacchetti precedenti. Se l'hardware ha acquisito dati sufficienti, il driver potrebbe scoppiare immediatamente il pacchetto completo successivo nel buffer WaveRT e impostare di nuovo l'evento del buffer. Nel caso dell'overflow di acquisizione (quando il sistema operativo non legge i dati abbastanza rapidamente) il driver audio può eliminare o sovrascrivere alcuni dati audio. Il driver audio elimina o sovrascrive prima i dati meno recenti, il driver audio può continuare ad avanzare il contatore dei pacchetti interni anche se il sistema operativo potrebbe non aver letto i dati.

Requisiti

Versione

Disponibile nei sistemi operativi Windows Windows 10 e versioni successive.

Intestazione

Ksmedia.h

Vedere anche

KSPROPERTY_RTAUDIO_SETWRITEPACKET

UsePositionLock