Фильтр DirectShow CSourceStream не может правильно выгружаться - PullRequest
0 голосов
/ 08 апреля 2010

Я пишу фильтр захвата DirectShow, используя CSource / CSourceStream в качестве базы, но когда я получаю доступ к камере в Firefox + Flash, я получаю отладочное утверждение и следующую ошибку отладки при закрытии Firefox.

Cam6.ax(tid 1c98)   133506 : 
Cam6.ax(tid 1c98)   133506 :    ID             Object Description
Cam6.ax(tid 1c98)   133506 : 
Cam6.ax(tid 1c98)   133506 :    19 (001AE940)          Camera Stream
Cam6.ax(tid 1c98)   133507 :    18 (001AE940)                 Camera
Cam6.ax(tid 1c98)   133507 :     6 (001AE940)          Camera Stream
Cam6.ax(tid 1c98)   133507 :     5 (001AE940)                 Camera
Cam6.ax(tid 1c98)   133507 : 
Cam6.ax(tid 1c98)   133507 : Total object count     4

Из того, что я могу сказать, это не моя вина.Я подозреваю, что Flash нечисто отбрасывает график DirectShow при завершении работы.Я прочитал и перечитал документацию MSDN и искал примеры, но ничего не нашел.

Может кто-нибудь помочь уточнить это для меня или указать мне правильное направление?

1 Ответ

1 голос
/ 08 апреля 2010

Чувствую себя немного глупо по этому поводу. Потратив день на изучение количества ссылок и прочего, это оказалось ошибкой новичка. Я скомпилировал strmbasd.lib с флагом / MDd и мой код с флагом / MD. Первая была нацелена на библиотеки времени выполнения отладки, вторая - на библиотеки времени выполнения выпуска.

Компоновщик выдал предупреждение, которое осталось без внимания, и код работал до тех пор, пока не освободилось DLL. Иди разберись ..

Полагаю, что до глупости, наверное. :)

...