Skip to main content

SetShapeDmaNumChannels

Establece el número de canales del búfer de audio de acceso directo a memoria (DMA).

Sintaxis

Parámetros

context   _Inout_
Tipo: SHAPE_DMA_CONTEXT*
Puntero a una estructura SHAPE_DMA_CONTEXT. numChannels   
Tipo: UINT32
Número de canales.

Valor devuelto

Tipo: HRESULT Código HRESULT de éxito o de error.

Comentarios

El sistema DMA admite funcionalidad de lectura y escritura con conversión automática de punto flotante a entero y de entero a punto flotante. El sistema DMA usa búferes circulares que contienen muestras desentrelazadas en bloques de 128 muestras. El procesador de DMA permite que el motor de procesamiento de audio por hardware escalable (SHAPE) envíe datos de los búferes de mezcla a la memoria principal del sistema y recupere datos del sistema principal en los búferes de mezcla para su procesamiento posterior. El DMA se realiza por bloques, transfiriendo un fotograma de audio de datos a la vez. Para facilitar los datos entrelazados por bloques, un valor de salto especifica el número de bloques de fotogramas de audio de la memoria del sistema que se deben omitir (desde la dirección base) al leer o escribir muestras. Por lo tanto, las secuencias multicanal requieren un contexto de DMA por canal. Las muestras de datos de audio siempre se leen y escriben como valores de 32 bits, ya sean enteros o de punto flotante, según se especifique en la marca floatConvert de la estructura SHAPE_DMA_CONTEXT. Tenga en cuenta que la dirección del DMA (lectura o escritura) se especifica en el comando DMA, no en el contexto de DMA. Esto ayuda a reducir la cantidad de ancho de banda de datos. El motor de DMA no realiza procesamiento de señal, pero puede realizar la conversión de punto flotante a entero (o de entero a punto flotante). Esto permite que la CPU de la aplicación procese las muestras de datos en formato de punto flotante. Para calcular el tamaño de un búfer DMA, use la fórmula siguiente:
Los punteros de lectura y escritura se incrementan de la siguiente manera:
Las direcciones dentro del búfer de audio se calculan de la siguiente manera:

Requisitos

Encabezado: shapedmacontext.h Plataformas compatibles: consolas de la familia XBOX One y consolas XBOX Series

Consulte también

SHAPE_DMA_CONTEXT
ShapeDmaContext
Última modificación el 28 de agosto de 2026