GetShapeDmaNumChannels
Obtiene el número de canales del búfer de audio de acceso directo a memoria (DMA).Sintaxis
Parámetros
context _In_Tipo: SHAPE_DMA_CONTEXT* Puntero a una estructura SHAPE_DMA_CONTEXT.
Valor devuelto
Tipo: UINT32 El número de canales.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 marcafloatConvert 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:
Requisitos
Encabezado: shapedmacontext.h Plataformas compatibles: consolas de la familia XBOX One y consolas XBOX SeriesConsulte también
SHAPE_DMA_CONTEXTShapeDmaContext
