Поделиться через


Использование AVStream с модулем прокси ядра для потоковой передачи

Фильтры режима ядра часто подключаются в пользовательском режиме через прокси потоковой передачи ядра. Этот прокси позволяет фильтру режима ядра выглядеть в пользовательском режиме как фильтр DirectShow.

При использовании этого режима подключения DirectShow подключает фильтры, пересекая их типы носителей. Эти медиатипы являются аналогом форматов данных DirectShow в режиме ядра.

Когда DirectShow перечисляет тип медиа на пине в режиме ядра, соответствующий диапазон данных на пине пересекается с диапазоном данных самого пина. Это пересечение дает формат данных, как описано в разделе "Пересечения диапазона данных" в AVStream. Прокси-сервер преобразует полученный формат данных в тип мультимедиа DirectShow.

Как и в режиме ядра операционной системы, прокси-сервер либо запрашивает модуль обработки данных, чтобы определить, является ли тип носителя приемлемым, либо определяет, частично ли совпадает тип носителя с диапазоном данных на канале. Частичное совпадение указывает, что в контексте семантики режима ядра основной тип, подформат, описатель и обязательные атрибуты совпадают. Если тип носителя является частичным, подключение продолжается.

Перед завершением подключения AVStream вызывает функцию AVStrMiniPinSetDataFormat, чтобы информировать минидрайвер о заданном формате данных. Этот формат соответствует типу носителя в режиме пользователя, который был предложен пин-коннектору через прокси. AVStream также предоставляет диапазон данных, который был определен как частичное совпадение с форматом.