I have a complex problem, I've been working on it for weeks. My program is an eduactional software which use the webcam for analyzing physical experiments (eg. oscillating movement). I've experienced the folowings:
- If the processor is busy, the time measuring is inaccurate (ISampleGrabberCB.BufferCB(SampleTime))
- If I don't use the time, just count the samples: 0, 1, 2... it looks better. I perceive this when I look at the curve of the movement.
My primary goal is reduce the inaccuracy, what I try to achieve with limitation of the FPS (which cause busy processor).
- My WebCam (Intel Classmate PC's built in webcam) has auto fps and exposure time. Depending on the illumination they fluctuate.
- IAMStreamConfig.AvgTimePerFrame has no effect.
- IAMCameraControl isn't supported by the webcam.
- IKsPropertySet: I don't know how to use this, since I don't have any support for the webcam. In this example they can use it for Logitech webcam: http://social.msdn.microsoft.com/Forums/en/windowsdirectshowdevelopment/thread/47b1317d-87e6-4121-9189-0defe1e2dd44