I am working on an aplication where I need to grab an image from a firewire camera (Sony DFW-X700). At some point, I want to grab an image, perform some image processing on it and then grab the next image. At this point, I would be happy just to get an image. I am attempting to do this with VideoDigitizer calls since at some point I will want this to happen quickly.
Based on the QT documentation and some example code I have found on the Internet (much of it from this list), here is what I am doing:
Set up the vdig:
Grab a frame:
None of the function calls returns an error. But VDCompressDone() never returns that it is done (I let it run for minutes on a gG5).
A dumb question: Does VDCompressDone() indicate it is done by setting the second argument (called 'queuedFrameCount' in the documentation) to a non-zero number? I have tried looking at several of the arguments, but that seems to be the right one.
Does this type of behavior indicate that I do not have the vdig setup correctly when I call VDCompressOneFrameAsync()?
FYI, I am able to see meaningful information when I use VDGetImageDescription(), so I believe I am talking to the camera. And other image/video stream viewers on the Mac can display the imagery. I am running OS 10.4.4 on a Dual 2 GHz G5, QuickTime 7.0.4 and I have the IOXperts drivers installed.