Software Archive
Read-only legacy content
17061 Discussions

F200 AcquireFrame results in EXEC_ABORTED using fixed fps

Markus_P_1
Beginner
527 Views

Hi,

it took me a quite a while to find out why my pxcSenseManager::AcquireFrame loop quits with PXC_STATUS_EXEC_ABORTED. It looks like this has to do with setting fixed fps. So basically I want to have a color and depth stream running with 60 fps in case there is enough room light (or fixed camera exposure). What happens though is that the camera quits with EXEC_ABORTED after a view frames. I also noticed that the error can be triggered by moving the hand close to the sensor. So I suppose this has to do with a low frame rate in the color stream due to auto exposure. If I set the fps to zero instead of 60 everything works fine.

The error I am describing can also be reproduced using the Intel samples, so I don't suppose my implementation is odly wrong. When I use the "Raw Streams" sample and start the Color stream in RGB24 640x480x60 and the Depth stream in 640x480x60 the camera will also quit after a few frames. I attached the logs from running the "Raw Streams" sample in this config.

 

Details below:

// important code snippets
PXCVideoModule::DataDesc data_desc = {};
data_desc.deviceInfo.streams = PXCCapture::STREAM_TYPE_COLOR | PXCCapture::STREAM_TYPE_DEPTH;
data_desc.streams.color.sizeMin.width = data_desc.streams.color.sizeMax.width = 640;
data_desc.streams.color.sizeMin.height = data_desc.streams.color.sizeMax.height = 480;
data_desc.streams.color.frameRate.min = 60.0f;
data_desc.streams.color.frameRate.max = 60.0f;

data_desc.streams.depth.sizeMin.width = data_desc.streams.depth.sizeMax.width = 640;
data_desc.streams.depth.sizeMin.height = data_desc.streams.depth.sizeMax.height = 480;
data_desc.streams.depth.frameRate.min = 60.0f;
data_desc.streams.depth.frameRate.max = 60.0f;

pxcStatus sts = pxc_sense_manager->EnableStreams(&data_desc);

if (sts == PXC_STATUS_NO_ERROR)
	sts = pxc_sense_manager->Init();
	
...


while (mRun.load() && init_ok)
{
	pxcStatus pxc_status = pxc_sense_manager->AcquireFrame(true);
	// ERROR: pxc_status  == PXC_STATUS_EXEC_ABORTED
	...
	pxc_sense_manager->ReleaseFrame();
}

 

0 Kudos
1 Reply
Susan_S_
Beginner
527 Views

 

I get the EXEC_ABORTED error using the R200 at AcquireFrame(true).  It does not happen right away, but happens after a while in a similar loop as described above. 

I have this issue running on a tablet with Windows 10.  It does not occur when running on a Windows 8 PC.

I tried changing up the set frame rate as the original poster described, but still eventually get the EXEC_ABORTED, so that did not resolve the issue.

A secondary question:  Is it appropriate to call ReleaseFrame if AcquireFrame() returns EXEC_ABORTED?

 

 

 

 

 

0 Kudos
Reply