Здравствуйте, biseptol, Вы писали:
B>Привет!
B>Ребзя, посоветуйте плз. Мне нужно динамически добавлять и удалять видеоисточники (которые енумеруются по CLSID_VideoInputDeviceCategory). Допустим, запускается какое-то приложение — появляется новый video capture device, который можно использовать во всяких скайпах, AdobePremiere'ах и проч.
B>В случае одного источника все замечательно — создаем фильтр (я тупо стырил BouncingBall из сэмплов DirectX SDK), прописываем его в какие-то волшебные места в реестре и вуаля — все работает.
B>В случае работы через ksproxy (и написания своего кернел-драйвера) тоже все хорошо — скармливаем ksproxy свой DriverObject и оно как-то создает нужные нам устройства.
B>Но как это сделать, не залазя в ядро и не используя ksproxy?
B>Спасибо.
http://tmhare.mvps.org/downloads/vcam.zip
Capture Source Filter filter (version 0.1) 86 KB zipped, includes binaries. A sample source filter that emulates a video capture device contributed by Vivek (rep movsd from the public newsgroups). Thanks Vivek! TMH has not tested this filter yet. Ask questions about this on microsoft.public.win32.programmer.directx.video.
B>>Ребзя, посоветуйте плз. Мне нужно динамически добавлять и удалять видеоисточники (которые енумеруются по CLSID_VideoInputDeviceCategory). Допустим, запускается какое-то приложение — появляется новый video capture device, который можно использовать во всяких скайпах, AdobePremiere'ах и проч.
B>>как это сделать, не залазя в ядро и не используя ksproxy?
B>>Спасибо.
C>http://tmhare.mvps.org/downloads/vcam.zip
C>Capture Source Filter filter (version 0.1) 86 KB zipped, includes binaries.
Спасибо, конечно, но это опять же обычный DirectShow-фильтр, (кстати, слизанный с тех же исходников, что и мой :-) ), с одним отличием — он регистрируется еще и в VFW Capture Class Manager. И также, как и мой, работающий криво в Movie Maker'e и вообще никак — в Adobe Premiere.
На самом деле, я знаю, как решить мою проблему. Надо просто регистрироваться в VFW CCM несколько раз. Появилось новое "устройство" — зарегистрировали, исчезло — стерли. Выглядит уродски, зато хоть как-то работает.