KSPROPERTY_RTAUDIO_GETREADPACKET
KSPROPERTY_RTAUDIO_GETREADPACKET devuelve información sobre los paquetes de audio capturados.
Tabla de resumen de uso
Obtener | Set | Destino | Tipo de descriptor de propiedad | Tipo de valor de propiedad |
---|---|---|---|---|
Sí | No | Anclar | KSPROPERTY | KSRTAUDIO_GETREADPACKET_INFO |
El descriptor de propiedad (datos de instancia) es una estructura KSPROPERTY . Antes de enviar la solicitud, el cliente carga la estructura con valores que indican el número de paquete, la longitud del paquete y otra información.
El valor de la propiedad es una variable de tipo KSRTAUDIO_GETREADPACKET_INFO.
Valor devuelto
Una solicitud de propiedad KSPROPERTY_RTAUDIO_GETREADPACKET devuelve STATUS_SUCCESS para indicar que se ha completado correctamente. De lo contrario, la solicitud devuelve un código de estado de error adecuado.
STATUS_DEVICE_NOT_READY: el controlador devuelve este error si no hay datos nuevos disponibles.
Observaciones
Antes de leer los datos de audio capturados del búfer waveRT, el sistema operativo llama a esta rutina para obtener información sobre los datos disponibles.
El número de paquete identifica un paquete dentro de la secuencia. Esto se restablece a cero cuando la secuencia está en KSSTATE_STOP. El número avanza con cada búfer capturado. Desde el número de paquete, el sistema operativo puede derivar la ubicación del paquete dentro del búfer waveRT y también puede derivar la posición de flujo del paquete en relación con el inicio de la secuencia.
El tamaño del paquete es el tamaño del búfer de WaveRT dividido por notificationCount pasado a KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION. El sistema operativo puede llamar a esta rutina en cualquier momento. En funcionamiento normal, el sistema operativo llama a esta rutina después de que el controlador establezca el evento de notificación del búfer o después de que una llamada anterior devuelva true para MoreData. Cuando el sistema operativo llama a esta rutina, el controlador puede suponer que el sistema operativo ha terminado de leer todos los paquetes anteriores. Si el hardware ha capturado suficientes datos, el controlador puede expandir inmediatamente el siguiente paquete completo al búfer waveRT y volver a establecer el evento de búfer. En el caso de desbordamiento de captura (cuando el sistema operativo no lee los datos lo suficientemente rápido) el controlador de audio puede quitar o sobrescribir algunos datos de audio. El controlador de audio quita o sobrescribe primero los datos más antiguos, el controlador de audio puede seguir avanzando su contador de paquetes interno aunque el sistema operativo no haya leído los datos.
Requisitos
Versión |
Disponible en Windows 10 y sistemas operativos Windows posteriores. |
Encabezado |
Ksmedia.h |