Hi, I've come across the following problem. I'm able to run ARDev
once, but after termination, if I try to run it again I get the
errors:
libdc1394 error: Failed to allocate iso bandwidth
libdc1394 error: Failed to setup DMA capture
Failed to setup capture
followed by a floating point exception. To overcome this I have to:
modprobe -r -a video1394 raw1394 ohci1394 ieee1394
modprobe -a video1394 raw1394 ohci1394 ieee1394
every time I want to run ARDev. My code is as follows:
...
capture = new CaptureDC1394();
capture->Initialise();
ARCamera arcam("config/overhead.calib");
camera = new CameraConstant(arcam);
ARPosition arpos(arcam.Origin,arcam.Direction);
camerapos = new PositionConstant(arpos);
camerapos->Initialise();
output = new OutputX11(capture,camera,camerapos,
OUT_WIDTH,OUT_HEIGHT,OUT_DISP_NAME,false);
ARDev::Start(output,AR_ENV);
...
and the termination looks like:
ARDev::Stop(AR_ENV);
delete artkp_pre;
delete artkp_pos;
delete camera;
delete camerapos;
delete capture;
delete output;
I suspect there might be something wrong with the way the capture
object is terminated.
Alex Kozlov
|