Среды и категории
Обычно потоки Microsoft DirectShow идентифицируются исключительно по типу носителя. Хотя этого достаточно для отрисовки простых графов фильтров, более сложным графам и графам, отражающим аппаратную топологию, требуются дополнительные сведения для правильного построения графа. Чтобы создать граф фильтров для правильной идентификации и подключения контактов, мини-накопители для захвата видео указывают категории потоков, к которым относятся их контакты, а также среды.
Категории потоков — это метод для определения основного назначения закрепления. Например, фильтр захвата может иметь два выходных контакта с одинаковыми типами MediaTypes, поддерживаемыми на каждом контакте. В случае, когда фильтр присваивает приоритет одному из контактов, закрепление с более высоким приоритетом может быть назначено категории потока захвата (PINNAME_VIDEO_CAPTURE), а закрепление с более низким приоритетом — категории потока предварительного просмотра (PINNAME_VIDEO_PREVIEW).
Носители — это метод, обеспечивающий подключение между двумя контактами на разных фильтрах, например аналоговым выводом аудио на фильтре ТВ-тюнера (для поддержки тв-звука) и контактом ввода тв-аудио в фильтре TV Audio. Один из способов представить среду заключается в том, что она идентифицирует провод между выходным контактом одного фильтра и входным контактом другого фильтра.
Интерфейсы построителя графов DirectShow IFilterMapper2 и ICaptureGraphBuilder используют эти методы для создания графов фильтров на основе сред и категорий потоков.