Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Фильтр — это группа узлов, инкапсулирующих задачу обработки для выполнения в потоке данных. Закрепление служит в качестве входных и выходных каналов в фильтре.
Простой фильтр может содержать один пин-код приемника данных и один пин-код источника данных. Фильтр получает входящие данные на контакт приемника данных, внутренне обрабатывает их и записывает в контакт источника данных. На следующем рисунке контакты показаны в виде толстых линий. Внутри фильтра штырь приемника данных подключается к внутреннему блоку обработки, узлу, который, в свою очередь, подключается к штырю источника данных.
Другое устройство может объединять или разделять потоки данных между выводами. Например, аудиомикшер поддерживает несколько выводов данных. Миксер объединяет их в один поток и записывает этот поток в пин-код источника данных. На следующем рисунке показан поток данных.
График описывает внутреннюю связь между контактами фильтра. Более сложный фильтр может инкапсулировать несколько узлов, которые преобразуют данные, поступающие через фильтр.
Фильтры указывают внутренние подключения между контактами и внутренними узлами с помощью набора свойств KSPROPSETID_Topology.
Свойство KSPROPERTY_TOPOLOGY_CONNECTIONS запрашивает все подключения между узлами фильтра KS. Это свойство возвращает массив KSTOPOLOGY_CONNECTION. Каждая структура KSTOPOLOGY_CONNECTION представляет собой единичное соединение путей передачи данных внутри фильтра. На приведенной выше схеме миксера последовательность структур KSTOPOLOGY_CONNECTION может быть следующая:
// FromNode, FromNodePin, ToNode, ToNodePin,
{
{ KSFILTER_NODE, 0, 0, 0 },
{ 0, 1, KSFILTER_NODE, 1 }
}