Мой фильтр DirectShow не имеет контактов - PullRequest
0 голосов
/ 06 мая 2011

Я обычно строю графики фильтров с помощью GraphEdit.

Я могу правильно добавить свой фильтр.Этот фильтр взят из драйвера, созданного из WinDDK.У него есть один входной и один выходной контакты.

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

Как я могу убедиться, что мой драйвер экспортирует правильный фильтр DirectShow?фундаментальное различие между учебником MSDN о создании фильтров DirectShow и функцией вставки фильтра GraphEdit?

Ответы [ 2 ]

1 голос
/ 12 мая 2011

Если я правильно вас понял, вы создали собственный фильтр исходного кода?

Укажите двойную проверку:

  • Правильно ли вы реализовали GetPinCount, GetPin, FindPin?
  • Вы вызывали IncrementPinVersion после добавления / создания каждого пина?

Я не знаком с разработкой WinDDK, но вы можете поставить точки останова в этих методах, чтобы увидеть, что происходит?

0 голосов
/ 12 мая 2011

Некоторые фильтры могут не иметь выводов (особенно не выводить вывод выводов) при вставке в график. Эти фильтры обычно создают свои контакты динамически в зависимости от определенных условий: например, я знаю некоторые драйверы BDA, которые создают свой выходной контакт только после того, как их входной контакт был подключен. Это позволяет выбрать тип носителя выходного контакта в зависимости от того, что будет подключено к входному контакту. Может быть, вы могли бы проверить, если вы не находитесь в аналогичной ситуации.

Гинкго

...