I have a DirectShow webcam application. I make use of Sample Grabber to get the buffer callbacks and IVideoWindow to control the display co-ordinates for the Preview. I have Preview and Capture Streams which I run as below. 

g\_pBuild->RenderStream(&PIN\_CATEGORY\_CAPTURE, &MEDIATYPE\_Video,cam,g\_pGrabberF,pNullRenderer2); g\_pBuild->RenderStream(&PIN\_CATEGORY\_PREVIEW, &MEDIATYPE\_Video,cam,NULL,NULL); 

On certain On board cameras, IMediaControl::Run followed by IMediaControl::Stop followed by IMediaCOntrol::Run doesn't switch on the camera. 

Extenal USB cameras work properly here. How can I diagnose more on this? Any pointers, please help.