Рекомендации по топологии KS
Системный драйвер WDMAud (Wdmaud.sys) преобразует топологию KS-filter в устаревшие линии микшера, которые предоставляются через API микшера. Контакт, отличный от PCM, соответствует линии SRC (MIXERLINE_COMPONENTTYPE_SRC_XXX) в API-интерфейсе микшера. Если этот контакт находится в пути к данным, который в конечном итоге передается в контакт моста (физическое соединение в конечной точке графа), выделенный для данных, не относящихся к PCM, API-интерфейс микшера предоставляет контакт моста в качестве дополнительной линии DST (MIXERLINE_COMPONENTTYPE_DST_XXX), отдельно от линии DST для данных PCM. Это может усложнить элементы управления, видимые через клиент mixer-API, например замену служебной программы SndVol32.
Если вы предпочитаете не предоставлять таким образом контакт, отличный от PCM, один из подходов заключается в том, чтобы путь к данным, содержащий закрепление, в конечном итоге передается в узел SUM, общий для пути к данным PCM. То есть соедините линию DST, не относяющуюся к PCM, к строке main DST. К сожалению, это решение искажает истинную топологию оборудования и может привести к будущим проблемам с клиентами, которые пытаются управлять потоком данных без PCM через узлы, подчиненные от узла SUM. Лучше всего изменить клиент mixer-API, чтобы просто игнорировать линии SRC и DST, которые не имеют элементов управления.
Если вы используете служебную программу KsStudio для просмотра фильтра волн в KSCATEGORY_AUDIO, следует ожидать отдельное закрепление для данных, не относящихся к PCM. При просмотре составного системного звукового графа в KSCATEGORY_AUDIO_DEVICE вы должны увидеть диапазоны данных, не относящиеся к PCM, на main волновой выходе, а также все диапазоны данных PCM.
SysAudio (Sysaudio.sys) — это системное звуковое устройство в Windows Server 2003, Windows XP, Windows 2000 и Windows Me/98. Обратите внимание, что SysAudio создает KSCATEGORY_AUDIO_DEVICE автоматически. Драйвер не должен регистрироваться вручную в этой категории.
Вам не требуется подключать путь к данным, отличный от PCM, к драйверу мини-порта топологии. Это подключение полезно только в том случае, если путь данных, отличный от PCM, взаимодействует с остальной топологией устройства; например, если он передается в общий микшер или преобразователь частоты выборки. Подключение пин-кода потоковой передачи к контакту моста, где оба контакта находятся в драйвере волнового минипорта, формирует допустимую полную топологию для потока данных, не относящемся к PCM, который, например, передается непосредственно на порт S/PDIF.