Partager via


Méthode IAudioInputEndpointRT ::GetInputDataPointer (audioengineendpoint.h)

La méthode GetInputDataPointer obtient un pointeur vers la mémoire tampon à partir de laquelle les données seront lues par le moteur audio.

Syntaxe

void GetInputDataPointer(
  [in, out] APO_CONNECTION_PROPERTY *pConnectionProperty,
  [in, out] AE_CURRENT_POSITION     *pAeTimeStamp
);

Paramètres

[in, out] pConnectionProperty

Pointeur vers une structure APO_CONNECTION_PROPERTY .

L’appelant définit les valeurs membres comme suit :

  • pBuffer a la valeur NULL.
  • u32ValidFrameCount contient le nombre d’images qui doivent se trouver dans le pointeur de données récupérés. L’objet point de terminaison ne doit pas mettre en cache ces informations. Le moteur audio peut modifier ce nombre en fonction de ses besoins de traitement.
  • u32BufferFlags est défini sur BUFFER_INVALID.
Si cet appel se termine correctement, le point de terminaison doit définir les valeurs membres comme suit :
  • pBuffer pointe vers la mémoire valide où les données ont été lues. Cela peut inclure le silence en fonction des indicateurs définis dans le membre u32BufferFlags .
  • u32ValidFrameCount est inchangé.
  • u32BufferFlags est défini sur BUFFER_VALID si le pointeur de données contient des données valides ou sur BUFFER_SILENT si le pointeur de données contient uniquement des données silencieuses. Les données de la mémoire tampon n’ont pas besoin d’être silencieuses, mais la mémoire tampon spécifiée dans pBuffer doit être capable de contenir toutes les images de silence contenues dans u32ValidFrameCount pour correspondre au nombre d’images requis.

[in, out] pAeTimeStamp

Pointeur vers une structure de AE_CURRENT_POSITION qui contient l’horodatage des données capturées dans la mémoire tampon. Ce paramètre est facultatif.

Valeur renvoyée

None

Remarques

Cette méthode retourne un pointeur à partir du point de terminaison vers la mémoire tampon pConnectionProperty-pBuffer>, qui contient des données qui doivent être transmises au moteur en tant qu’entrée. Les données et le pointeur de mémoire tampon doivent rester valides jusqu’à ce que la méthode IAudioInputEndpointRT ::ReleaseInputDataPointer soit appelée. L’objet endpoint doit définir la quantité d’informations demandée et insérer un silence si aucune donnée valide n’existe. Le pointeur de mémoire tampon, pConnectionProperty-pBuffer>, retourné par l’objet de point de terminaison doit être aligné sur le cadre. Les points de terminaison ne prennent pas en charge l’espace supplémentaire, qui peut être disponible dans le APO_CONNECTION_PROPERTY associé aux propriétés de connexion transmises dans le paramètre pConnectionProperty .

La transmission de zéro dans le membre u32ValidFrameCount est une demande valide. Dans ce cas, le pointeur d’entrée doit être valide, mais le point de terminaison ne lit pas à partir de celui-ci. La valeur pConnectionProperty-u32ValidFrameCount> doit être inférieure ou égale au nombre maximal d’images pris en charge par le point de terminaison. Pour obtenir le nombre d’images pris en charge, appelez la méthode IAudioEndpoint ::GetFramesPerPacket .

Cette méthode peut être appelée à partir d’un thread de traitement en temps réel. L’implémentation de cette méthode ne doit pas bloquer, accéder à la mémoire paginée ou appeler des routines système bloquantes.

L’API AudioEndpoint des services Bureau à distance est destinée aux scénarios Bureau à distance ; il ne s’agit pas d’applications clientes.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7
Serveur minimal pris en charge Windows Server 2008 R2
Plateforme cible Windows
En-tête audioengineendpoint.h

Voir aussi

IAudioInputEndpointRT