c # — добавление устройств потоковой передачи WDM в FilterGraph

у меня есть базовый график DirectShow:

Видеозахват Источник: SMI Grabber Dev (4ch USB DVR)> видео рендерер

когда я запускаю график, я получаю эту ошибку:

устройство не подключено 0x8007048F

либо на GraphStudioNext или мой код C #. и я нашел решение, которое работало над GraphStudioNext, которое состоит в добавлении устройства устройств потоковой передачи WDM (фильтр поперечины SM DBA) и подключении к нему источника видеозахвата, но я не знаю, как сделать то же самое в моем коде c #.

Я ценю любую помощь, спасибо.

1

Решение

Ошибка ERROR_DEVICE_NOT_CONNECTED: фильтр захвата не может работать сам по себе. Это можно рассматривать как ошибку / неточность аппаратного драйвера, поскольку в основном он должен работать без добавления перекладины.

Вы можете добавить перекрестный фильтр в явном виде, так как вы уже нашли то, что необходимо для подключения в восходящем направлении, или, скорее, вы можете добавить его ICaptureGraphBuilder2::FindInterface вызов:

Если устройство захвата использует драйвер модели драйвера Windows (WDM), для графика могут потребоваться определенные фильтры перед фильтром захвата видео WDM, такие как фильтр ТВ-тюнера или фильтр аналоговых видеопереключателей. Если параметр pCategory не равен NULL, этот метод автоматически вставляет все необходимые фильтры WDM в график. Для этого он запрашивает входные контакты фильтра захвата, чтобы определить, какие носители они поддерживают, и подключает их к соответствующим фильтрам.

Вы можете посмотреть вверх DxTuner образец из DirectShow.NET, чтобы увидеть FindInterface пример использования.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]