Skip to main content

SetShapeDmaNumChannels

Définit le nombre de canaux dans la mémoire tampon audio de l’accès direct à la mémoire (DMA).

Syntaxe

Paramètres

context   _Inout_
Type : SHAPE_DMA_CONTEXT*
Pointeur vers une structure SHAPE_DMA_CONTEXT. numChannels   
Type : UINT32
Nombre de canaux.

Valeur de retour

Type : HRESULT Code de réussite ou d’erreur HRESULT.

Remarques

Le système DMA prend en charge les fonctionnalités de lecture et d’écriture avec conversion automatique de virgule flottante en entier et d’entier en virgule flottante. Le système DMA utilise des mémoires tampons circulaires contenant des échantillons désentrelacés en blocs de 128 échantillons. Le processeur DMA permet au moteur SHAPE (Scalable Hardware Audio Processing Engine) d’envoyer des données des mémoires tampons de mixage vers la mémoire système principale et de récupérer des données de la mémoire système principale dans les mémoires tampons de mixage pour un traitement ultérieur. Le DMA s’effectue par blocs, en transférant une trame audio de données à la fois. Pour faciliter les données entrelacées par blocs, une valeur de saut indique le nombre de blocs de trames audio à ignorer dans la mémoire système (à partir de l’adresse de base) lors de la lecture ou de l’écriture d’échantillons. Les flux multicanaux nécessitent donc un contexte DMA par canal. Les échantillons de données audio sont toujours lus et écrits sous forme de valeurs 32 bits, entières ou à virgule flottante, comme indiqué par l’indicateur floatConvert de la structure SHAPE_DMA_CONTEXT. Notez que la direction du DMA (lecture ou écriture) est spécifiée dans la commande DMA, et non dans le contexte DMA. Cela aide à réduire la quantité de bande passante de données. Le moteur DMA n’effectue aucun traitement du signal, mais peut effectuer une conversion de virgule flottante en entier (ou d’entier en virgule flottante). Cela permet au processeur de l’application de traiter les échantillons de données au format virgule flottante. Pour calculer la taille d’une mémoire tampon DMA, utilisez la formule suivante :
Les pointeurs de lecture et d’écriture sont incrémentés comme suit :
Les adresses dans la mémoire tampon audio sont calculées comme suit :

Configuration requise

En-tête : shapedmacontext.h Plateformes prises en charge : consoles de la famille XBOX One et consoles XBOX Series

Voir aussi

SHAPE_DMA_CONTEXT
ShapeDmaContext
Last modified on October 6, 2026