Sincronizzazione di due o più flussi
La routine SetDmaEngineState imposta lo stato di uno o più motori DMA su uno dei seguenti: esecuzione, sospensione, arresto o reimpostazione. Se una chiamata a questa routine specifica più di un motore DMA, tutti i motori DMA rendono sincrona la transizione dello stato.
La possibilità di sincronizzare un gruppo di flussi è necessaria per alcune applicazioni audio. Ad esempio, un driver audio può usare la combinazione di codec per creare un dispositivo audio audio surround logico che unisce due codec audio: un codec unità gli altoparlanti frontali e un secondo codec audio unità gli altoparlanti indietro. A seconda delle funzionalità dei codec, il driver audio potrebbe essere necessario dividere il flusso audio audio originale in due flussi, uno per ogni codec. Usando la routine SetDmaEngineState per avviare e arrestare i flussi in unison, i due flussi possono rimanere sincronizzati.
Consentendo ai due flussi di cadere dalla sincronizzazione anche alcuni esempi potrebbero causare artefatti audio indesiderati.
La routine SetDmaEngineState è disponibile in entrambe le versioni di HD Audio DDI.
Il driver di classe UAA HD Audio non esegue la combinazione di codec.