2010-04-08 2 views
0

CSource/CSourceStream을 기본으로 사용하여 DirectShow 캡처 필터를 작성하고 있지만 Firefox + Flash에서 캠에 액세스하면 Firefox를 종료 할 때 디버그 어설 션 및 다음 디버그 오류가 발생합니다.DirectShow CSourceStream 필터가 제대로 언로드되지 않음

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

조금 바보 같은 느낌이 들었습니다. 참조 카운트와 겹침 선을 보면서 하루를 보낸 후, 그것은 noobie 실수로 밝혀졌다./MDd 플래그로 strmbasd.lib를 컴파일하고/MD 플래그로 내 코드를 컴파일했습니다. 전자는 디버그 런타임 라이브러리를 대상으로하고 나중에 출시 런타임 라이브러리를 대상으로했습니다.

링커가 경고 메시지를 표시하고 DLL이 해제 될 때까지 코드가 실행되었습니다. 이동 숫자 ...

나는 어리 석음까지 하나의 초크. :)

+1

참고로, 나는 동일한 메시지 (하지만 2와 1 개의 객체가 남았음)를 얻었고 실제로 ffmpeg가 올바르게 정리되지 않았기 때문에 (현재/곧해야 함) 디버그에서만 발생합니다 빌드, 릴리스 빌드는 이중 체크를하지 않습니다 ... – rogerdpack

관련 문제