[libdc] Crash behaviour change from v1 to v2
Capture and control API for IIDC compliant cameras
Brought to you by:
ddouxchamps,
gordp
From: Georg K. <gk...@ro...> - 2008-07-16 12:23:32
|
Hi, I've been trying to port parts of libcvd (a computer vision library) from libdc1394v1 to libdc1394v2. We use libdc1394 to do live capture from firewire webcams. The new API is much friendlier to program that the old one, but I'm having problems at run-time. If I crash or kill -9 a program with v2, I can't then run it again (*) until I use dc1394_reset_bus. However, I can still use v1 programs fine; so: Run v2 program; kill it; Run v2 program => fail to setup capture. Run v1 program; kill it; Run v1 program => Runs OK Run v2 program; kill it; Run v1 program => Runs OK (*) - For 640x480x30xMONO8 it will fail after three previous instances have crashed, for 640x480x30xYUV411 it needs only two, I'm guessing this has to do with bandwidth allocation. Is this a common thing? Is there a workaround I can use to get the same behaviour as v1? I'd rather not use dc1394_reset_bus before/ after every program run. Thanks Georg |