views:

55

answers:

0

I'm developing a program which should be capable to handle the re-attach of the USB camera. Sounds easy. At startup I iterate the filters looking for given VID and PID by parsing the display name. Then I create the graph and everything works fine. If the camera is being unplugged I catch the graph event, destroy the graph and even release the graph builder. Everything great until now. But then I run into problems 1. If the camera is reattached I don't get the message WM_DEVICECHANGED with the parameter DBT_DEVICEARRIVAL but only the DBT_DEVNODES_CHANGED. This itself is not an issue but I think this is an advice for what comes next. 2. I can detect the filter after rescan, can add it successfully to the graph and connect it's pins without any problems. But if I try to run the graph I get the error 0x8007001F

This can be reproduced with graphedit. I create the graph, start it, unplug and plug the camera, delete the graph, create the new one with the camera and start it. The error comes immediately

Any ideas?