Вопрос по directshow, filter – DirectShow - передача параметров в пользовательский push-фильтр источника

4

Я работаю над решением, которое будет использоваться для получения видеопотока с удаленных хостов и размещения различных текстов поверх него. В настоящее время он состоит из специального push-фильтра DirectShow (C ++), который получает данные от удаленных хостов по протоколу RTP, и крошечного приложения C #, которое устанавливает граф DirectShow и используется в качестве контейнера для видео. Я'используя библиотеку взаимодействия DirectShowLib. Однако я'Я не уверен, как передать параметры из этого приложения C # в мой пользовательский фильтр. Каковы возможные способы сделать это?

Ваш Ответ

2   ответа
3

ключ myproto в HKCR, а затем создайте значение "Исходный фильтр " содержащий ваш clsid под этим). Тогда вы можете сделать "myproto: //ip=192.168.0.1&Порт = 12 &param1 = х» и они передаются в ваш метод IFileSourceFilter :: Load.G

Я кратко посмотрел на документы, но нетt Открытый метод. Я предполагаю, что вы имели в виду метод IFileSourceFilter :: Load? Я'Я начну играть с этим через пару часов, и ядам вам знать, если это работает. Спасибо! mkurek
2

HKEY_CLASS_ROOT

myproto»Исходный фильтр "="187463A0-5BB7-11D3-ACBE-0080C75E246E»

не достаточно на Windows 7. Есть две проблемы с этим:

вам нужно обернуть ваш CLSID в фигурные скобкитебе нужно добавитьURL-протокол "

Правильная версия выглядит так:

HKEY_CLASS_ROOT

myproto»Исходный фильтр "="{187463A0-5BB7-11D3-ACBE-0080C75E246E} ""Протокол URL "=" "

Кроме того, вы можете проверить HKEY_CLASS_ROOT->MMS для справки.

Похожие вопросы