SetShapeDmaCommand
Inicializa un comando DMA de SHAPE.Sintaxis
Parámetros
command _Inout_Tipo: SHAPE_FLOWGRAPH_COMMAND* Comando SHAPE_FLOWGRAPH_COMMAND que se va a inicializar. contextId
Tipo: UINT32 Identificador (es decir, índice) del contexto DMA al que hará referencia este comando. mixBuffer
Tipo: UINT32 Búfer de mezcla del que se va a leer o en el que se va a escribir, según la configuración de la marca writeToMemory. writeToMixBuffer
Tipo: bool True si el comando DMA debe escribir en el búfer de mezcla especificado y leer de la memoria principal. False si el comando DMA debe leer del búfer de mezcla especificado y escribir en la memoria principal.
Valor devuelto
Tipo: HRESULT Si la función se ejecuta correctamente, devuelveS_OK. Si uno o varios de los argumentos no son válidos, la función devuelve E_INVALIDARG.
Comentarios
El sistema de acceso directo a memoria (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 DMA permite que el motor de procesamiento de audio por hardware escalable (SHAPE) envíe datos desde los búferes de mezcla a la memoria principal del sistema y recupere datos de la memoria principal del sistema hacia los búferes de mezcla para su procesamiento posterior. El DMA se realiza por bloques y transfiere un fotograma de audio de datos cada vez. Para habilitar 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 a partir de la dirección base al leer o escribir muestras. Las secuencias multicanal requieren un contexto 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 del contexto DMA.
La dirección del DMA (lectura o escritura) se especifica en el comando DMA, no en el contexto DMA. Esto ayuda a reducir la cantidad de ancho de banda de datos. El motor DMA no realiza procesamiento de señales, pero puede efectuar la conversión de punto flotante a entero o de entero a punto flotante. Esto permite que la CPU de la aplicación procese muestras de datos en formato de punto flotante.
