Überlegungen zur KS-Topologie

Der WDMAud-Systemtreiber (Wdmaud.sys) übersetzt die KS-Filtertopologie in die Legacy-Mischerlinien, die über die Mixer-API verfügbar gemacht werden. Ein Nicht-PCM-Pin entspricht einer SRC-Zeile (MIXERLINE_COMPONENTTYPE_SRC_XXX) in der Mixer-API. Wenn sich dieser Pin in einem Datenpfad befindet, der schließlich in einen Bridge-Pin (die physische Verbindung am Endpunkt eines Graphen) fließt, der für Nicht-PCM-Daten reserviert ist, macht die Mixer-API den Bridge-Pin als zusätzliche DST-Linie (MIXERLINE_COMPONENTTYPE_DST_XXX) verfügbar, die von der DST-Zeile für PCM-Daten getrennt ist. Dies kann zu einer unnötigen Komplexität der Steuerelemente führen, die über einen Mixer-API-Client angezeigt werden, z. B. als Ersatz für das Hilfsprogramm SndVol32.

Wenn Sie einen Nicht-PCM-Pin auf diese Weise nicht verfügbar machen möchten, besteht ein Ansatz darin, sicherzustellen, dass der Datenpfad, der den Pin enthält, schließlich in einen SUM-Knoten einspeist, der vom PCM-Datenpfad freigegeben wird. Das heißt, fügen Sie die DST-Nicht-PCM-Leitung mit der Standard DST-Zeile zusammen. Leider stellt diese Problemumgehung die wahre Hardwaretopologie falsch dar und kann zu zukünftigen Problemen mit Clients führen, die versuchen, den Nicht-PCM-Datenstrom über Knoten zu steuern, die vom SUM-Knoten nachgeschaltet sind. Ein besserer Ansatz besteht darin, den Mixer-API-Client so zu ändern, dass SRC- und DST-Zeilen ohne Steuerelemente einfach ignoriert werden.

Wenn Sie das KsStudio-Hilfsprogramm verwenden, um Ihren Wellenfilter in KSCATEGORY_AUDIO anzuzeigen, sollten Sie einen separaten Pin für Nicht-PCM-Daten erwarten. Beim Anzeigen des zusammengesetzten Systemaudiographen unter KSCATEGORY_AUDIO_DEVICE sollten Ihre Nicht-PCM-Datenbereiche auf dem Standard Wellenausgangspin zusammen mit allen PCM-Datenbereichen angezeigt werden.

SysAudio (Sysaudio.sys) ist das Systemaudiogerät in Windows Server 2003, Windows XP, Windows 2000 und Windows Me/98. Beachten Sie, dass SysAudio automatisch KSCATEGORY_AUDIO_DEVICE generiert– ein Treiber sollte sich nicht manuell in dieser Kategorie registrieren.

Sie müssen keinen PcM-Nicht-PCM-Datenpfad mit dem Topologie-Miniporttreiber verbinden. Diese Verbindung ist nur von Vorteil, wenn der Nicht-PCM-Datenpfad mit dem Rest der Gerätetopologie interagiert. für instance, wenn es in einen gängigen Mixer oder Sample-Rate-Konverter einspeist. Das Verbinden eines Streaming-Pins mit einem Bridge-Pin, bei dem sich beide Pins auf dem Wave-Miniporttreiber befinden, bildet eine gültige, vollständige Topologie für einen Nicht-PCM-Datenstrom, der z. B. direkt an einen S/PDIF-Port fließt.