View Full Version : DShowLibException

August 12, 2004, 19:50:48
I get an error when running this code:

If ICImagingControl(i).LiveVideoRunning = True Then
End If

Run-time error 2:
An unexpected DShowLibEception occurred: CFilterGraph::connect( CPin& src, Cpin& dest, const CVideoFormat&): no intervening filter Found In file: c:\Csource\core\DShowLib\Filtergraph.cpp at line: 229

Anybody seen this before? I only get it when I run the ICIMAGING drivers for the Sony XCD-SX910. If I use the Sony drivers I don't get the error. I am running two cameras from the same software (2 ICIMAGING controls)

Johannes Vogel
August 13, 2004, 19:55:36

A few questions:
Which version of the driver are you using?
How did you setup the cameras:
- video format
- frame rate

I suggest, you send a small demo program that demostrates the error to support@imagingcontrol.com

August 15, 2004, 23:05:15
Johannes, I have two Sony XCD-SX910 cameras being triggered externally separately by the same program to avoid image conflicts. The system is being rebooted once or twice a day for some unknown reasone. I have tracked it down to the image acquisition and am able to get it to crash in about 20 minutes by running a tight loop on the image grab. We have 6 systems in production but have put a freeze on futher deployments until we get the crash problem resolved. I have tried using DrWatson but it doesn't generate a log.

I resolved the corrupted image problem. Apparently the Sony drivers I was using before report a different video format list so the following code required index 3 instead of 4 to get the 1024x768 mode:

Set Fmt = .VideoFormats.Item(3)
.VideoFormat = Fmt.Name

I am not able to set a watch on the .VideoFormats collection without Visual Basic 6.0 crashing (same result with a reboot).

The .DeviceFlipVertical had no effect so I had to do the flip in my code.

I had to run c:\ExposureFix.exe present +PhysicalValuesExposure 0 to enable the full XCD-SX910 exposure range. If you don't do this it is -16 to 3 which is the default for the DFW-SX900 camera. Arne sent the patch to me.

After I made these changes, I was able to run my application like before with the Sony drivers. So far, no crashes !

I would like to get rid of the external trigger and do a software trigger but I don't know how to do it through the ICIMAGING OCX. Is there any way to do this?

Here is the version information you asked for:

ICIMAGING Camera Driver v3.1.45.5
Sony XCD-SX910 Firmware v2.01D

I have already sent my code to support@imagingcontrol.com


Dennis L Doane
DLP Test Hardware Section Manager
Texas Instruments, Inc
office 972-995-9056
cell 214-882-4773

Stefan Geissler
August 16, 2004, 07:43:52
Hello Dennis,

Exact synchronous triggering of two cameras is not possible through FireWire and it is not supported by IC Imaging Control anyway. You may call MemorySnapImage for each camera, but you will see a delay between both images. I suggest to try to get a small hardware like an USB or IO card, that can be used to create the external trigger signal. This hardware can be controlled by your software.

August 16, 2004, 12:01:58
Stephan, I already provide an external trigger for the cameras which does provide synchronous triggering. The cameras can be triggered using the same signal and ICIMAGING does see both images in the ImageAvailable event. I am using two signals and capture images first from one camera and then from the other due to concerns with bandwidth since both cameras plug into the same PCI FireWire card. If you wanted to do something like stereoscopic vision, you would probably want to have a second Firewire card.

I am using the external trigger because there is latency with grabbing images from a free running live video stream. When you want to grab an image the camera is most likely in the middle of dumping a frame so it has to wait for the next image. Using the trigger, you don't have this delay. This approach took 10 seconds off my test time.