KSPROPERTY_RTAUDIO_GETREADPACKET
KSPROPERTY_RTAUDIO_GETREADPACKET retourne des informations sur les paquets audio capturés.
Tableau récapitulatif de l’utilisation
Obtenir | Définissez | Cible | Type de descripteur de propriété | Type de valeur de propriété |
---|---|---|---|---|
Oui | Non | Épingle | KSPROPERTY | KSRTAUDIO_GETREADPACKET_INFO |
Le descripteur de propriété (instance données) est une structure KSPROPERTY. Avant d’envoyer la demande, le client charge la structure avec des valeurs qui indiquent le numéro de paquet, la longueur du paquet et d’autres informations.
La valeur de la propriété est une variable de type KSRTAUDIO_GETREADPACKET_INFO.
Valeur de retour
Une demande de propriété KSPROPERTY_RTAUDIO_GETREADPACKET retourne STATUS_SUCCESS pour indiquer qu’elle s’est terminée avec succès. Sinon, la requête retourne un échec approprié status code.
STATUS_DEVICE_NOT_READY : le pilote retourne cette erreur si aucune nouvelle donnée n’est disponible.
Notes
Avant de lire les données audio capturées à partir de la mémoire tampon WaveRT, le système d’exploitation appelle cette routine pour obtenir des informations sur les données disponibles.
Le numéro de paquet identifie un paquet dans le flux. Cette opération est réinitialisée à zéro lorsque le flux est en KSSTATE_STOP. Le nombre avance avec chaque mémoire tampon capturée. À partir du numéro de paquet, le système d’exploitation peut dériver l’emplacement du paquet dans la mémoire tampon WaveRT et peut également dériver la position du flux par rapport au début du flux.
La taille du paquet est la taille de la mémoire tampon WaveRT divisée par notificationCount passée à KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION. Le système d’exploitation peut appeler cette routine à tout moment. En fonctionnement normal, le système d’exploitation appelle cette routine après que le pilote a définit l’événement de notification de mémoire tampon ou après qu’un appel précédent retourne true pour MoreData. Lorsque le système d’exploitation appelle cette routine, le pilote peut supposer que le système d’exploitation a terminé de lire tous les paquets précédents. Si le matériel a capturé suffisamment de données, le pilote peut immédiatement envoyer le paquet complet suivant à la mémoire tampon WaveRT et définir à nouveau l’événement de mémoire tampon. En cas de dépassement de capacité de capture (lorsque le système d’exploitation ne lit pas les données assez rapidement), le pilote audio peut supprimer ou remplacer certaines données audio. Le pilote audio supprime ou remplace d’abord les données les plus anciennes. Le pilote audio peut continuer à avancer son compteur de paquets interne même si le système d’exploitation n’a peut-être pas lu les données.
Spécifications
Version |
Disponible dans les systèmes d’exploitation Windows Windows 10 et versions ultérieures. |
En-tête |
Ksmedia.h |