View Full Version : IC Imaging Control and DirectShow

February 17, 2012, 19:34:14
I need to record video using ImagingSource frame grabber and audio from external microphone. I know that IC Imaging Control does not support sound recording, but instead I can build a DirectShow graph using frame grabber as my video source (it does show up as DirectShow capture filter). That works and records video with sound. Unfortunately from DirectShow I have no control over video properties. For example, it comes black and white. Also, I cannot chose video source (which card, which input on the card). All these controls are available from the Grabber object but this object appears to be incompatible with my DirectShow graph. Even an attempt to create it causes a crash. I suppose the Grabber builds a DirectShow graph internally and therefore doesn't allow another one for the same source.

Is there a way to control frame grabber properties from DirectShow environment without instantiating a Grabber object? If not, can you suggest another way of adding the sound?

Stefan Geissler
February 20, 2012, 13:30:58

I am very sorry, but DirectShow programming support is done by Microsoft, not by us.

However, for setting the input channel, you must add a crossbar. It is a DirectShow filter. It is attached in front of the grabber filter (left side in graphedit).

The video format is set by the Pin dialog. The grabber properties can be set by the internal driver dialog. A small hint, how to do this can be found here: http://www.imagingcontrol.com/en_US/blog/permalink/f92f345b3f6ca59281db78395449f21c/

February 21, 2012, 19:56:23
Thank you for this information. I have reproduced the code that you are referring to and it showed the device control dialog. What I need now is to set video format. You mentioned that it is done by the Pin dialog. Can you please provide more information how to get this dialog? I would most appreciate a code example, something similar the the one above.

Stefan Geissler
February 23, 2012, 15:53:06
Hello Gregory,

I am very sorry, but DirectShow programming support is done by Microsoft, not by us.

You may have a look into the MSDN samples provided with the DirectShow SDK.

I have no sample for this.