0 votes

Le filtre DirectShow CSourceStream ne se décharge pas correctement

Je suis en train d'écrire un filtre de capture DirectShow en utilisant CSource / CSourceStream comme base mais lorsque j'accède à la caméra dans Firefox + Flash, j'obtiens un assert de débogage et l'erreur de débogage suivante en fermant 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

D'après ce que je peux dire, ce n'est pas ma faute. Je soupçonne Flash de jeter proprement le graphique DirectShow à l'arrêt. J'ai lu et relu la documentation MSDN et parcouru le net pour trouver des exemples, mais je n'ai rien trouvé.

Quelqu'un peut-il m'aider à clarifier ce point ou m'indiquer la bonne direction ?

1voto

Aaron Points 138

Je me sens un peu bête à ce sujet. Après avoir passé une journée à regarder le nombre de références et autres, il s'est avéré que c'était une erreur de débutant. J'ai compilé strmbasd.lib avec le drapeau /MDd et mon code avec le drapeau /MD. Le premier ciblait les bibliothèques d'exécution de débogage, le second les bibliothèques d'exécution de publication.

L'éditeur de liens a émis un avertissement qui n'a pas été pris en compte et le code a fonctionné jusqu'au moment de libérer la DLL. Allez comprendre

C'est de la stupidité, je suppose. :)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X