Does step() of imaq.videodevice block until a new frame is available?

2 views (last 30 days)
In an answer to a similar question over here a person said that step() gives only the frame at that particular time. However, when I loop over many step calls it's timing seems oddly similar to the frame rates of the cameras I'm using (30Hz and 61Hz). This makes me think that step() will block and wait for a new frame if there was no new frames since the last time it was called. Is that the case? If yes, is there a way to prevent this, i.e. make it give me the last frame instead of waiting for a new one (so that looping the step() calls should produce many repetitions frames as it calls in between the camera refreshes).
  2 Comments
Geoff Hayes
Geoff Hayes on 24 Sep 2014
Kuba - how often are you calling step? Have you tried to increase the rate at which you call step to twice that of the camera frame rate to validate whether the device does block until a new frame is present?
Kuba
Kuba on 25 Sep 2014
I'm calling step as fast as possible. For the test purposes I just put step in a for loop.

Sign in to comment.

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!