XDspConnect
Établit une connexion avec le serveur matériel, crée une instance de client XDSP et alloue les ressources nécessaires au traitement. Une limite globale de 8 clients XDSP actifs simultanément s’applique.Syntaxe
Paramètres
baseBuffer _In_Type : float* Mémoire tampon contiguë allouée par un appelant XDSP et utilisée pour transmettre les données d’entrée et récupérer les données de sortie. Pour plus de détails, consultez la section Remarques ci-dessous. baseBufferLength _In_
Type : uint32_t Longueur de baseBuffer, en octets. Cette longueur doit être d’au moins 64 Ko et d’au plus 500 Mo. aggregateImpulseResponseInSeconds _In_
Type : uint32_t Représente la durée totale de l’ensemble des réponses impulsionnelles individuelles qui seront activées simultanément sur ce client. aggregateImpulseResponseInSeconds doit être défini sur une valeur supérieure à zéro pour XDspProcessType::Convolution ; sinon, il doit être égal à zéro. Une limite globale de 128 secondes de réponse impulsionnelle agrégée s’applique à l’ensemble des clients XDSP. handle _Outptr_
Type : XDspClientHandle* Handle vers un client XDSP qui doit être utilisé pour activer des flux via XDspActivate et pour déconnecter le client du serveur matériel via XDspDisconnect. Un maximum de 256 flux peuvent être actifs à tout moment pour l’ensemble des XDSPClientHandles.
Valeur renvoyée
Type : HRESULT Si la méthode réussit, elle renvoie S_OK. Si la méthode échoue, elle renvoie l’un des codes suivants (liste partielle) :Remarques
Si l’appel réussit, l’appelant peut utiliser baseBuffer pour transmettre les données d’entrée et récupérer les données de sortie du flux via les paramètres de XDspCommand. Si l’enveloppe est utilisée, cette mémoire tampon doit également tenir compte des mémoires tampons de stockage des paramètres d’enveloppe. Pour plus d’informations sur l’enveloppe, consultez Vue d’ensemble de l’enveloppe à l’aide de l’API XDSP. Cette fonction doit être appelée avant l’activation des flux XDSP afin d’inscrire un grand bloc de mémoire suffisant pour contenir plusieurs flux audio complets utilisés en entrée, plusieurs mémoires tampons de sortie pour tous les flux XDSP qui seront activés via XDspActivate, ainsi que plusieurs mémoires tampons de multiplicateurs de blocs susceptibles d’être utilisées dans le cadre de XDspCommand pour le type de traitement XDspProcessType::ForwardFourierTransform. Tenez compte des exigences de taille minimale et maximale de cette mémoire tampon, indiquées ci-dessus. Si cet appel réussit, tous les flux XDSP peuvent accéder à n’importe quelle partie de ce bloc de mémoire. Cette mémoire doit être allouée via XMemAlloc() avec les attributs suivants : XALLOC_MEMTYPE_PHYSICAL_CACHEABLE, XALLOC_PAGESIZE_64KB, XALLOC_ALIGNMENT_64K Ces attributs doivent être définis à l’aide de MAKE_XALLOC_ATTRIBUTES(). En voici un exemple :Configuration requise
En-tête : XDspAudio.h Bibliothèque : Chad.lib Plateformes prises en charge : XBOX Series X|SDocumentation conceptuelle
- Vue d’ensemble de l’enveloppe XDSP
- Vue d’ensemble d’une convolution avec enveloppe sur un seul flux à l’aide de l’API XDSP
- Vue d’ensemble d’une convolution sur un seul flux à l’aide de l’API XDSP
- Vue d’ensemble de XDSP
Voir aussi
XDSPXDspConnectWithMaximumStreamLimit
XDspDisconnect
Erreurs XDSP
Vue d’ensemble d’une convolution sur un seul flux à l’aide de l’API XDSP
Vue d’ensemble d’une FFT/IFFT sur un seul flux à l’aide de l’API XDSP
Vue d’ensemble d’une convolution avec enveloppe sur un seul flux à l’aide de l’API XDSP
