From: Tim Rodgers <trodgers@ma...> - 2007-03-19 19:23:58
On Mar 19, 2007, at 3:05 PM, libdc1394-devel-
> On Sun, 2007-03-18 at 12:51 +0100, Ulrich von Zadow wrote:
>> Aaron Stafford wrote:
>>> I am using libdc1394 (version 2) on os x to read images off of a
>>> dragonfly camera from point grey. I wrote some code that uses
>>> DC1394_CAPTURE_POLICY_WAIT with the dc1394_capture_dequeue. In
>>> everything works great, but...
>>> If I control-c out of my application (i run it from a terminal),
>>> than exiting it nicely, and then try and run my application again
>>> a few seconds everything will work for about a second and then
>>> dc1394_capture_dequeue just hangs and never recovers.
>>> If I put it in DC1394_CAPTURE_POLICY_POLL mode instead and run
>>> the code
>>> again rather than the blocking that I experienced previously
>>> dc1394_capture_dequeue ends up returning an error of -2 (the error
>>> string for this is "null").
>>> Is there a solution to this? I can't guarantee that my program will
>>> always exit nicely.
>> I don't know what we're doing differently, but we use
>> odc1394_capture_dequeue_dma(m_pCamera, DC1394_VIDEO1394_WAIT); on
>> os x,
>> and I just checked. The problem doesn't appear here. It might be that
>> the *_dma functions don't have the issue.
> All capture functions are DMA in recent trees. The non-DMA functions
> have been removed and the DMA functions have been renamed ("_dma"
Are you checking frame->frames_behind? Is it possible that you're
filling up your buffers? If frames_behind gets over 0, you're
dropping frames and you need to enqueue them again. My app runs on
OS X and it doesn't always exit gracefully, but it runs fine time
Get latest updates about Open Source Projects, Conferences and News.