Synchronisieren von zwei oder mehr Streams

Die SetDmaEngineState-Routine legt den Status einer oder mehrerer DMA-Engines auf eine der folgenden Feststellvorgänge fest: wird ausgeführt, angehalten, beendet oder zurückgesetzt. Wenn ein Aufruf dieser Routine mehr als eine DMA-Engine angibt, führen alle DMA-Engines den Zustandsübergang synchron durch.

Für einige Audioanwendungen ist die Möglichkeit zum Synchronisieren einer Gruppe von Streams erforderlich. Beispielsweise kann ein Audiotreiber codec-combining verwenden, um ein logisches Surround-Sound-Audiogerät zu erstellen, das zwei Audiocodecs verbindet: Ein Codec steuert die frontalen Lautsprecher und ein zweiter Audiocodec die hinteren Lautsprecher. Abhängig von den Funktionen der Codecs ist der Audiotreiber möglicherweise erforderlich, um den ursprünglichen Surround-Sound-Audiostream in zwei Streams aufzuteilen, einen für jeden Codec. Durch Die Verwendung der SetDmaEngineState-Routine zum Starten und Beenden der Streams können die beiden Streams synchronisiert bleiben.

Zuzulassen, dass die beiden Streams bereits durch einige Wenige Beispiele aus der Synchronisierung herausfallen, kann unerwünschte Audioartefakte verursachen.

Die SetDmaEngineState-Routine ist in beiden Versionen des HD Audio DDI verfügbar.

Der UAA HD Audio-Klassentreiber führt keine Codeckombinationen durch.