Узлы аудио топологии

Платформа звукового драйвера WDM определяет стандартный набор узлов топологии для звуковых устройств. Минипорт-драйвер описывает топологию звука устройства, указывая набор узлов и подключения между узлами. Системный драйвер SysAudio использует эти сведения для создания графов аудиофильтров, представленных клиентским приложениям.

Каждый путь данных в топологии начинается или заканчивается на штифте и проходит через некоторое количество узлов, которые могут рассматриваться как бусины, расположенные вдоль пути данных. Каждый узел в пути к данным определяется идентификатором узла (по сути индексом), который однозначно идентифицирует этот узел в пути к данным. Два экземпляра пин-кода могут иметь узлы с одинаковым идентификатором, но сочетание экземпляра пин-кода и идентификатора узла однозначно идентифицирует каждый узел в топологии звука.

Узел топологии поддерживает набор свойств узла. Свойства узла отличаются от свойств пинов включением идентификатора узла, определяющего узел в системе, которому принадлежит это свойство. Чтобы отправить запрос get-или set-property на определенный узел, клиент задает идентификатор целевого узла в дополнение к целевому экземпляру пин-кода. Когда обработчик свойств пин-кода получает запрос, он смотрит на идентификатор узла и направляет запрос обработчику для этого узла.

В следующем списке содержатся наиболее часто используемые типы узлов аудио топологии:

KSNODETYPE_3D_EFFECTS

KSNODETYPE_ACOUSTIC_ECHO_CANCEL

KSNODETYPE_ADC

KSNODETYPE_AGC

KSNODETYPE_AUDIO_ENGINE

KSNODETYPE_AUDIO_KEYWORDDETECTOR

KSNODETYPE_CHORUS

KSNODETYPE_DAC

KSNODETYPE_DELAY

KSNODETYPE_DEMUX

KSNODETYPE_DEV_SPECIFIC

KSNODETYPE_DMSYNTH

KSNODETYPE_DMSYNTH_CAPS

KSNODETYPE_DRM_DESCRAMBLE

KSNODETYPE_EQUALIZER (эквалайзер)

KSNODETYPE_FM_RX

KSNODETYPE_LOUDNESS (уровень громкости)

KSNODETYPE_MICROPHONE_ARRAY_PROCESSOR

KSNODETYPE_MUTE

KSNODETYPE_MUX

KSNODETYPE_NOISE_SUPPRESS

KSNODETYPE_PEAKMETER

KSNODETYPE_PROLOGIC_DECODER

KSNODETYPE_PROLOGIC_ENCODER

KSNODETYPE_REVERB

KSNODETYPE_SRC

KSNODETYPE_STEREO_ENHANCE

KSNODETYPE_STEREO_WIDE

KSNODETYPE_SUM

KSNODETYPE_SUPERMIX

KSNODETYPE_SWMIDI

KSNODETYPE_SWSYNTH

KSNODETYPE_SYNTHESIZER

KSNODETYPE_TELEPHONY_BIDI

KSNODETYPE_TONE

KSNODETYPE_VOLUME